Olá,
Segue aqui uma dica muito interessante, onde pode ajudar muitos administradores do SQL Server que não tem acesso a máquina, monitorar o consumo de CPU tanto do Servidor quanto ao do SQL Server.
Para conseguir acessar esse recurso vamos utilizar asDMV
sys.dm_os_sys_info (Transact-SQL)
Essa DMV retorna informações sobre o computador no qual o SQL Server foi instalado, inclusive os recursos disponíveis e consumidos pelo SQL Server.
WITH MonitorCPUSQLSERVER AS
(
SELECT DATEADD(ms,(select [ms_ticks]-[timestamp] from sys.dm_os_sys_info),
GETDATE()) AS 'EventDateTime',
CAST(record AS xml) AS 'record'
FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_SCHEDULER_MONITOR'
AND [timestamp] > (select [ms_ticks] - 30*60000 -- Visualizar os ultimos 30 min.
from sys.dm_os_sys_info)
)
SELECT
CONVERT (varchar, EventDateTime, 126) AS EventTime,
SysHealth.value('ProcessUtilization[1]','int') AS 'CPU (SQL Server)',
100 - SysHealth.value('SystemIdle[1]','int') AS 'CPU (Todos os Processos)'
FROM MonitorCPUSQLSERVER CROSS APPLY record.nodes('/Record/SchedulerMonitorEvent/SystemHealth') T(SysHealth)
ORDER BY EventDateTime DESC
É isso espero que essa dica seja util!
Nenhum comentário:
Postar um comentário