File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ <documentation>
3+ <summary>Get CPU Usage Per Database</summary>
4+ <returns>1 data set with 2 columns: database name and CPUTimeAsPercentage.</returns>
5+ <issues>No</issues>
6+ <author>Eli Leiba </author>
7+ <created>2019-11-05</created>
8+ <modified>2019-11-05</modified>
9+ <version>1.0</version>
10+ <originalLink>https://www.mssqltips.com/sqlservertip/6195/sql-server-function-to-measure-cpu-usage-per-database/</originalLink>
11+ <sourceLink>https://github.com/ktaranov/sqlserver-kit/blob/master/Scripts/Get_CPU_Usage_Per_Database.sql</sourceLink>
12+ </documentation>
13+ */
14+
15+ SELECT
16+ T.[Database]
17+ , T .CPUTimeAsPercentage
18+ FROM
19+ (SELECT
20+ [Database],
21+ CONVERT (DECIMAL (6 , 3 ), [CPUTimeInMiliSeconds] * 1 .0 /
22+ SUM ([CPUTimeInMiliSeconds]) OVER () * 100 .0 ) AS [CPUTimeAsPercentage]
23+ FROM
24+ (SELECT
25+ dm_execplanattr .DatabaseID ,
26+ DB_Name(dm_execplanattr .DatabaseID ) AS [Database],
27+ SUM (dm_execquerystats .total_worker_time ) AS CPUTimeInMiliSeconds
28+ FROM sys .dm_exec_query_stats dm_execquerystats
29+ CROSS APPLY
30+ (SELECT
31+ CONVERT (INT , value) AS [DatabaseID]
32+ FROM sys .dm_exec_plan_attributes (dm_execquerystats .plan_handle )
33+ WHERE attribute = N' dbid'
34+ ) dm_execplanattr
35+ GROUP BY dm_execplanattr .DatabaseID
36+ ) AS CPUPerDb
37+ ) AS T;
You can’t perform that action at this time.
0 commit comments