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

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

Dicas para passar na certificação 70-461: Querying Microsoft SQL Server 2012

Função para contar palavra