Herkese merhaba,

Bu yazıda SQL Server’da CPU kullanımını raporlamak ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda CPU kullanımını raporlamak isteyebilirsiniz.

Aşağıdaki kodu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

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;

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

279 Kez Okundu

Kategoriler: