Dicas para um DBA Iniciante – Encontrando consultas com alta utilização de CPU

Galera,

Após o post Dicas para um DBA Iniciante – Encontrando consultas utilizando muitas operações de I/O, recebi vários emails perguntando se poderia compartilhar mais consultas que utilizo para encontrar comandos de T-SQL utilizando uma grande quantidade de recursos do SQL Server.

Então hoje quero compartilhar com vocês uma consulta que utilizo para encontrar os maiores consumidores de CPU em um servidor de banco de dados SQL Server.


SELECT TOP 100
[Average CPU used] = total_worker_time / qs.execution_count,
[Total CPU used] = total_worker_time,
[Execution count] = qs.execution_count,
[Individual Query] = SUBSTRING (qt.text,qs.statement_start_offset/2,
(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),
[Parent Query] = qt.text,
DatabaseName = DB_NAME(qt.dbid)
FROM
sys.dm_exec_query_stats qs
CROSS APPLY
sys.dm_exec_sql_text(qs.plan_handle) as qt
WHERE
total_worker_time / qs.execution_count> 200
ORDER BY
[Total CPU used] DESC

Com esta consulta é possível encontrar os 100 comandos de T-SQL que mais utilizam CPU em sua instância de banco de dados SQL Server.

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: