Dicas SQL Server

Consultas que estão consumindo mais CPU no SQL Server

Consultas que estão consumindo mais CPU no SQL Server
Consultas que estão consumindo mais CPU no SQL Server

Descubra quais consultas que estão consumindo mais CPU no SQL Server.

Descobrir quais consultas estão consumindo mais CPU no SQL Server para alguns não é uma tarefa tão simples, mas ter um script que você consiga identificar quais consultas estão fazendo paralelismo e atuar na performance delas é muito melhor do que deixá-las baterem na sua porta de incidentes.

Se você está neste momento com muita pressa e precisa saber agora mesmo, neste momento quais consultas estão consumindo mais CPU no seu SQL Server execute o script abaixo:

SELECT TOP 10
       SUBSTRING(qt.TEXT, (qs.statement_start_offset / 2) + 1,
       ((CASE qs.statement_end_offset
              WHEN -1 THEN DATALENGTH(qt.TEXT)
              ELSE qs.statement_end_offset
       END - qs.statement_start_offset) / 2) + 1),
       qs.execution_count,
       qs.total_logical_reads,
       qs.last_logical_reads,
       qs.total_logical_writes,
       qs.last_logical_writes,
       qs.total_worker_time,
       qs.last_worker_time,
       qs.total_elapsed_time / 1000000 total_elapsed_time_in_S,
       qs.last_elapsed_time / 1000000 last_elapsed_time_in_S,
       qs.last_execution_time,
       qp.query_plan
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
ORDER BY qs.total_worker_time DESC -- CPU time

Outras formas de você identificar quais são as consultas que consomem mais CPU é através dos relatórios de performance da instância do SQL Server. Para acessá-los basta clicar com o botão direito na instância e selecionar Reports > Standard Reports > Performance – Top queries by Average CPU Time.

Você terá uma imagem assim:

Performance top query por CPU

Performance top query por CPU

Você pode clicar no botão de + para expandir sua consulta. Através do gráfico gerado pelo SQL Server você poderá identificar também o quanto essa requisição está exigindo da CPU do seu banco de dados.

Outra dica que eu posso dar aqui a você é a utilização da procedure sp_whoisactive, que mostra também por detalhes quais são as consultas que você estão consumindo mais CPU.

Se você precisar de alguma ajuda, entre em contato comigo, eu faço consultoria de performance e podemos resolver seus problemas de SQL Server em alguns minutos. Para entrar em contato comigo clique aqui >> DBA SQL Server Remoto.

Grande abraço!

Consultas que estão consumindo mais CPU no SQL Server
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Latest posts by Wesley Mota (see all)