Recentemente encontrei um ambiente que tinha mais de 7.000 stored procedures e eu precisava identificar quais procedures não estavam sendo utilizadas em uma base de dados.
Sabemos que existem mais de uma forma que possamos capturar isso então vou mostrar a vocês aqui algumas dessas formas.
Você pode usar um Server Side Trace, diferente da interface que inclui mais recursos durante o seu teste de captura. Você pode carregar isso em uma tabela ou excel para uma análise mais aprofundada.
Segunda abordagem, é usar o DMV sys.dm_exec_procedure_stats (com limitação de que se o servidor sql for reiniciado, os dados serão apagados).
Você também pode agendar um job que você capture esses dados em DMV e envie para uma tabela para guardar esses dados no SQL Server. Abaixo vou colocar o script para capturar esses dados.
-- Lista das possíveis procedures que não estão sendo utilizadas (Apenas SQL 2008)
SELECT p.name AS 'SP Name' -- Lista todas as procedures na base corrente.
FROM sys.procedures AS p
WHERE p.is_ms_shipped = 0
EXCEPT
SELECT p.name AS 'SP Name' -- Lista todas as procedures na base corrente.
FROM sys.procedures AS p -- que estão armazenadas no cache.
INNER JOIN sys.dm_exec_procedure_stats AS qs
ON p.object_id = qs.object_id
WHERE p.is_ms_shipped = 0;
Saiba como a função UPPER() no SQL Server pode degradar a performance das suas consultas…
Saiba agora mesmo como você pode diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE no SQL Server. Recentemente eu trabalhei em…
Nós DBA' e desenvolvedores quase sempre temos que trabalhar com datas quando se trata de…
Quais são as diferentes maneiras de proteger o login Senha do Administrador (SA)? Todos estão…
Com os direitos que o login sa tem por padrão no SQL Server, é obrigatório…
Como um DBA, você tem a responsabilidade de garantir a segurança do aplicativo e dos…