sys.dm_os_schedulers (Transact-SQL) Другие версии THIS TOPIC APPLIES TO:SQL Server (starting with 2008)Azure SQL DatabaseAzure SQL Data Warehouse Parallel Data Warehouse Возвращает по одной строке для каждого планировщика SQL Server, сопоставленного с отдельным процессором. Используйте это представление для мониторинга состояния планировщика или для определения отклонившихся от расписания задач.
Источник: sys.dm_os_schedulers (Transact-SQL)
Есть традиционные счетчики производительности- но они есть в 2008 версии. В 2005 понять (хотя бы приблизительно) какова текущая нагрузка на процессор сложно.
Очень простой метод выявления таковой нагрузки- использования запроса к шедулерам. Сколько именно процессоров в текущий момент занято?
;with
not_idle as (select COUNT(*) AS not_idle FROM sys.dm_os_schedulers WHERE scheduler_id<255 AND is_online=1 ANDis_idle=0),
idle as (select COUNT(*) AS idle FROM sys.dm_os_schedulers WHERE scheduler_id<255 AND is_online=1 /*AND is_idle=1*/)
SELECT 100.*not_idle/(idle/*+not_idle*/) FROM idle,not_idle
То есть, соотношение занятых и незанятых процессорных ядер. На практике скрипт не очень точен и зачастую занижает величину нагрузки. Но некоторые приблизительные оценки делать позволяет.