Назад | Перейти на главную страницу

Как узнать использование ЦП для базы данных SQL Server 2005

Как узнать использование ЦП для SQL Server 2005 Server

Из статьи MSDN на Устранение проблем с производительностью в SQL Server 2005

Следующий запрос дает вам высокоуровневое представление о том, какие кэшированные в данный момент пакеты или процедуры используют больше всего ЦП. Запрос объединяет ресурсы ЦП, используемые всеми операторами, с одним и тем же plan__handle (что означает, что они являются частью одного пакета или процедуры). Если данный plan_handle имеет более одного оператора, возможно, вам придется углубиться в детали, чтобы найти конкретный запрос, который вносит наибольший вклад в общее использование ЦП.

select top 50  
    sum(qs.total_worker_time) as total_cpu_time,  
    sum(qs.execution_count) as total_execution_count, 
    count(*) as  number_of_statements,  
    qs.plan_handle  
from  
    sys.dm_exec_query_stats qs 
group by qs.plan_handle 
order by sum(qs.total_worker_time) desc

Еще несколько:

  • WMI
  • Счетчики производительности
  • SNMP

Используйте счетчики производительности http://tipsstation.com/article/SQL-Server-Performance-Counters.aspx

На ум приходят несколько способов

Используя sys.dm_exec_query_stats, вы можете найти использование процессора различными объектами SQL Server. Ниже приведен сценарий:

SELECT 
    DB_NAME(st.dbid) AS DatabaseName
    ,OBJECT_SCHEMA_NAME(st.objectid,dbid) AS SchemaName
    ,cp.objtype AS ObjectType
    ,OBJECT_NAME(st.objectid,dbid) AS Objects
    ,MAX(cp.usecounts)AS Total_Execution_count
    ,SUM(qs.total_worker_time) AS Total_CPU_Time
    ,SUM(qs.total_worker_time) / (max(cp.usecounts) * 1.0) AS Avg_CPU_Time 
FROM sys.dm_exec_cached_plans cp 
INNER JOIN sys.dm_exec_query_stats qs 
    ON cp.plan_handle = qs.plan_handle
CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st
WHERE DB_NAME(st.dbid) IS NOT NULL
GROUP BY DB_NAME(st.dbid),OBJECT_SCHEMA_NAME(objectid,st.dbid),cp.objtype,OBJECT_NAME(objectid,st.dbid) 
ORDER BY sum(qs.total_worker_time) desc

В этом результате скрипта вы можете найти типы объектов и различные расчеты процессорного времени.