Dica
SQL Server Identificando dependências de tabelas alteradas

As vezes, quando temos a necessidade de alterar tabelas em um banco com muitas stored procedures, precisamos descobrir quais stored procedures serão afetadas pela alteração que faremos.

Através da DMV sys.sql_dependencies podemos identificar quais objetos dependem não só da tabela, mas precisamente dos campos que estamos alterando.

A query abaixo está dividida em 3 partes:

- Primeiro obtém todas as referências para a tabela
- Em seguida, fazendo join com sys.columns, identifica as referências para colunas específicas
- Por fim, aplica um distinct, já que a mesma procedure pode aparecer mais de uma vez nesse resultado

Eis a query:


with qry as
( select object_name(object_id) name, referenced_major_id,referenced_minor_id
from sys.sql_dependencies
where object_name(referenced_major_id)='slvWorkOrderItem'),
qry2 as
(select qry.name,referenced_minor_id, sc.name as [Column]
from qry inner join
sys.columns sc on sc.object_id=referenced_major_id
and sc.column_id=referenced_minor_id
where sc.name in ('Campo1','Campo2','Campo3'))

select distinct qry2.name from qry2

Búfalo Informática
e-mail: Contato@bufaloinfo.com.br
Telefones: (21) 99240-7281 (21) 99240-5134