Dicas

Como descobrir uso de CPU no SQL Server

Descobrir uso de CPU no SQL Server

Saiba como descobrir uso de CPU no SQL Server

Olá galera eu gostaria de compartilhar com vocês uma dica para os DBA’s SQL Server iniciantes que é como descobrir o uso de CPU no SQL Server.

Recentemente trabalhei em um caso onde o cliente entrou em contato comigo informando que o consumo de CPU no servidor de banco de dados SQL estava muito alto.

Ao acessar a instância SQL Server dei uma olhada nas consultas em execução e dei uma olhada também nas consultas guardadas no cache do servidor que estavam consumindo muito recurso de CPU.

Não tinha nenhuma consulta consumindo recursos de CPU em ambas as verificações. Então o que seria?

Existem várias formas de verificar o consumo de CPU no servidor, a mais comum é verificar nos processos do servidor e ordenar por uso de CPU.

Isso pode ser visto em Windows, através da ferramenta Task Manager é possível encontrar essa informação.

O que eu quero compartilhar aqui com vocês é um script onde você pode descobrir se o consumo de CPU está no SQL Server diretamente no banco de dados.

-- CPU Usage SQL Server 
DECLARE @ts_now bigint = (SELECT cpu_ticks/(cpu_ticks/ms_ticks)FROM sys.dm_os_sys_info);  
  
SELECT TOP(1000)  
[record_id], 
SQLProcessUtilization AS [SQL Server Process CPU Utilization],  
               SystemIdle AS [System Idle Process],  
               100 - SystemIdle - SQLProcessUtilization AS [Other Process CPU Utilization],  
               DATEADD(ms, -1 * (@ts_now - [timestamp]), GETDATE()) AS [Event Time]  
FROM (  
  SELECT record.value('(./Record/@id)[1]', 'int') AS record_id,  
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int')  
AS [SystemIdle],  
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]',  
'int')  
AS [SQLProcessUtilization], [timestamp]  
  FROM (  
SELECT [timestamp], CONVERT(xml, record) AS [record]  
FROM sys.dm_os_ring_buffers  
WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'  
AND record LIKE '%<SystemHealth>%') AS x  
  ) AS y  
ORDER BY record_id DESC; 

Ao executar a consulta acima, vocês terão em resumo um resultado próximo do que está na imagem abaixo:

Resultado de consulta para descobrir uso de CPU no SQL Server

Coisas que você pode fazer com essas informações:

  • Copiar e colar em excel e criar gráficos;
  • Executar essa consulta SQL através de sua ferramenta de monitoramento;
  • Criar alertas para receber por e-mail, slack ou qualquer ferramenta de sua preferência.

Um grande abraço a todos, espero que gostem da dica.

Está com problemas de performance no seu banco de dados? Entre em contato para solicitar um DBA SQL Server Remoto para sua empresa.

Como descobrir uso de 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)

Wesley Mota

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.

Share
Published by
Wesley Mota

Recent Posts

Discover the Enjoyment of Free Port Gamings Offline

Port video games have actually long been a popular type of entertainment, providing exhilarating gameplay…

2 semanas ago

The Safest Online Casino: A Comprehensive Guide

When it pertains to online gambling, safety needs to be a top issue for every…

3 semanas ago

Online Casino Games for Fun – Real Money Wins

There are many reasons to play no-cost online casino games in the coming year. The…

3 semanas ago

Online Casinos that Accept Mastercard: A Convenient and Safe Repayment Option

On the internet casinos have acquired tremendous appeal in recent times, offering gamers with the…

3 semanas ago

The Very Best Online Casino Video Game: A Comprehensive Guide

Welcome to our useful post concerning the very best casino site game! Whether you're a…

3 semanas ago

Free Online Casino Slots – Tips on how to Claim Emails and Bonus Codes

The random number generator (or RNG) is the program that generates the outcome of every…

3 semanas ago