Isso é bem simples, o SQL guarda todos os planos de execução onde nós podemos acessar através das DMV’s, essas informações são apagadas quando o serviço do SQL Server é reiniciado. Ao executar a query abaixo podemos saber quais são os comandos que estão demorando mais tempo e seus planos de execução.
SELECT TOP 10 planH.text
Query,
stat.execution_count
AS QuantidadeExecutada,
stat.max_elapsed_time
AS MaiorTempo,
Isnull(stat.total_elapsed_time / 1000 /
NULLIF(stat.execution_count, 0), 0) AS
MediaDeTempo,
stat.creation_time
AS RegistoCriadoEm,
Isnull(stat.execution_count / 1000 / NULLIF(
Datediff(s, stat.creation_time, Getdate()), 0), 0)
AS FrequenciaPorSegundo,
query_plan
AS PlanoDeExecucao
FROM sys.dm_exec_query_stats stat
CROSS apply sys.Dm_exec_query_plan(stat.plan_handle) planHandle
CROSS apply sys.Dm_exec_sql_text(stat.plan_handle) planH
Se você executar a query acima via Management Studio, na última coluna poderá acessar o plano de execução da query. Acessando o plano de execução você poderá saber onde está o maior gargalo e também poderá enviar o plano de execução para outra pessoa por email. Aqui tem um tutorial mostrando exatamente como salvar e enviar por e-mail. SQL Server – (Salvando Plano de Execução e Enviando por Email.)
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…