Fundo
Recebi logs de rastreamento do SQL Profiler que foram executados por 15 minutos durante um período em que experimentamos 100% de CPU no servidor que hospeda o SQL. Importei esses arquivos para uma tabela chamada TraceTable
. Encontrei algumas causas possíveis que não estão relacionadas ao logout de auditoria, no entanto, o resultado principal é do logout de auditoria e gostaria de entender por que as leituras/gravações/CPU são tão altas por apenas 15 minutos.
Pesquisar
Eu li que a duração do logout de auditoria é algum fator que envolve o culminar do tempo , não apenas o tempo do período de rastreamento.
Mas não consigo encontrar nada que explique a alta leitura/gravação/cpu, além de algumas declarações gerais de que o logout de auditoria geralmente não é a causa de problemas de desempenho . Também encontrei uma resposta que diz que a utilização da CPU é cumulativa como a duração , mas o artigo vinculado na resposta não diz explicitamente o que a resposta diz. Gostaria de verificar se isso não está relacionado aos problemas de desempenho que estamos vendo.
Por que o Audit Logout mostra essas estatísticas preocupantes?
Aqui está a consulta que executei:
SELECT TOP 100
COUNT(*) AS TotalExecutions,
EventClass,
CAST(TextData as nvarchar(2000)) AS Query ,
SUM(Duration) AS DurationTotal ,
SUM(CPU) AS CPUTotal ,
SUM(Reads) AS ReadsTotal ,
SUM(Writes) AS WritesTotal
FROM
TraceTable
GROUP BY
EventClass,
CAST(TextData as nvarchar(2000))
ORDER BY
CPUTotal DESC
E aqui está o resultado principal:
(Desculpe, não tenho acesso à instância SQL, então não sei a versão exata. É seguro assumir que é pelo menos 2014, possivelmente mais recente)