quinta-feira, 20 de agosto de 2009

Como está o processamento do servidor.

Usando a tabela de sistema sys.dm_os_ring_buffers, você consegue saber como está o processador do servidor nos últimos 256 minutos.

Estes dados são percentuais entre Idle (Livre), Utilizados pelo SQL e Utilizados por outros processos do sistema (Não SQLServer).

Esta informação combinadas com algumas estatisticas e traces podem te dar uma bela ideia de como está se comportando sua base, por horarios, querys, atividades, etc... e até se ha necessidade de intervensão física no servidor.

declare @ts_now bigint

select @ts_now = cpu_ticks / convert(float, cpu_ticks_in_ms) from sys.dm_os_sys_info

select record_id, dateadd(ms, -1 * (@ts_now - [timestamp]), GetDate()) as EventTime, SQLProcessUtilization, SystemIdle, 100 - SystemIdle - SQLProcessUtilization as OtherProcessUtilization 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 '%%') as x ) as y order by record_id desc

Nenhum comentário:

Postar um comentário