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%'
--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%'
Comentários
Postar um comentário