exec sp_executesql @stmt=N'
declare @ms_now bigint
select @ms_now = ms_ticks from sys.dm_os_sys_info;
select top 15 record_id,
dateadd(ms, -1 * (@ms_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 ''%SystemHealth%'') as x
) as y
order by record_id desc',@params=N''
不幸的是没有。此信息来自 sys.dm_os_ring_buffers DMV,它使用 RING_BUFFER_SCHEDULER_MONITOR 记录类型。此信息每分钟生成一次,并且不可自定义。即,这不是报告的“错误”,而是首先缺少的信息。
以下是此报告正在使用的查询,由跟踪捕获: