Отрицательные числа использования из SQL Server 2008 R2

Выполняя тесты производительности в нашей промежуточной среде, я иногда запускаю следующий запрос:

declare @ts_now bigint 
select @ts_now = ms_ticks from sys.dm_os_sys_info 

select  dateadd (ms, (y.[timestamp] -@ts_now),
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

Это Возвращает

Использование Pic

Может кто-нибудь объяснить, как я получаю отрицательное число для использования? Я обнаружил это, пытаясь выяснить проблему использования ЦП из Диаграммы PSS, где загрузка ЦП SQL Server была больше, чем загрузка ЦП системы.

Мне еще предстоит выяснить любую проблему, но я должен предположить, что они связаны между собой.

0 ответов

Другие вопросы по тегам