Postagens

Mostrando postagens de Outubro, 2014

SQL SERVER - Procurando objetos no servidor

As querys abaixo são muito uteis para encontrar um determinado objeto e/ou alguma informação dentro de uma procedure.

--Utilizada para procurar o job do servidor que executa a procedure especifica.
SELECT J.NAME
FROM MSDB.DBO.SYSJOBS AS J
WHERE EXISTS 
  (
SELECT 1 FROM MSDB.DBO.SYSJOBSTEPS AS S
WHERE 
S.JOB_ID = J.JOB_ID
--Podemos colocar neste filtro o nome (ou parte) da procedure
AND S.COMMAND LIKE '%NOME_DA_PROCEDURE%'
  );

--Procura a procedure no banco de dados
SELECT B.NAME, A.LAST_EXECUTION_TIME
FROM SYS.DM_EXEC_PROCEDURE_STATS A
INNER JOIN SYS.OBJECTS B
ON A.OBJECT_ID = B.OBJECT_ID 
--Filtro com o nome (ou parte) da procedure a ser procurada no banco de dados
WHERE 
DB_NAME(A.DATABASE_ID) LIKE '%TESTE%'

--Procura procedure que utiliza a tabela.
SELECT 
DISTINCT SO.NAME
FROM SYSCOMMENTS SC
INNER JOIN SYSOBJECTS SO
ON SC.ID=SO.ID
--Filtro com o nome (ou parte) da tabela a ser procurada nas procedures
WHERE SC.TEXT LIKE '%TESTE%'