Pesquisar "expressão" em qualquer objeto do banco de dados

A pouco tempo passei por um problema complicado de resolver e consegui solucionar usando o script que estou compartilhando nesse post...

Vejamos o meu problema. Estava trabalhando num cliente que tinha vários objetos de banco integrados e alguns desconhecidos de uma empresa terceira. Precisava muito saber onde algumas tabelas estavam sendo utilizadas e de forma rápida... em triggers, procedures, functions, etc.

Então essa consulta me ajudou...


select obj.id,obj.name,obj.type,isnull(tab.name,'Sem tabela') Tabela
from sysobjects obj with(nolock) 
left join sys.triggers tri with(nolock) on tri.object_id = obj.id
left join sysobjects tab with(nolock) on tab.id = tri.parent_id
where obj.id in(select com.id 
from syscomments com with(nolock) 
where upper(com.text) like upper('%expressão_a_pesquisar%'))
order by obj.type;

Comentários

Postagens mais visitadas deste blog

Função para contar palavra

Como descobrir qual linha está gerando deadlock

Script para desabilitar serviços desnecessários no Windows 7