26 de agosto de 2026 · 6 min de leitura
CPU alta no SQL Server quase sempre tem uma causa concentrada — uma query específica, um job, ou um conjunto pequeno de sessões — não é "o servidor está sobrecarregado" de forma difusa. Achar o concentrador é o primeiro passo, antes de pensar em adicionar core.
SELECT TOP 10
qs.total_worker_time / qs.execution_count AS avg_cpu_us,
qs.execution_count, qs.total_worker_time,
SUBSTRING(qt.text, qs.statement_start_offset/2 + 1,
(CASE WHEN qs.statement_end_offset = -1
THEN LEN(CONVERT(nvarchar(max), qt.text)) * 2
ELSE qs.statement_end_offset END - qs.statement_start_offset)/2 + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY qs.total_worker_time DESC;total_worker_time é o tempo de CPU acumulado (não elapsed time, que inclui espera). Ordenar por ele isola quem realmente consome processador, diferente da query anterior focada em tempo total percebido.
O codeDB acompanha o consumo de CPU por instância e por query ao longo do tempo, então um job que passou a rodar mais devagar ou uma query que começou a consumir mais CPU depois de um deploy aparece como anomalia, não como reclamação de usuário três dias depois.
Artigos relacionados
30 dias grátis para monitorar isso automaticamente no seu próprio ambiente.
Começar gratuitamenteMonitoramento inteligente de SQL Server com agente local seguro e diagnósticos em tempo real.
© 2026 codeDB. Todos os direitos reservados.
Powered by codeDB
codeDB Informática Ltda — CNPJ 18.953.756/0001-10 — Florianópolis/SC