Query to list all the databases in the order of CPU usage

USE master

SELECT a.[value] AS [dbid]

, ISNULL(DB_NAME(CONVERT(INT,a.[value])),'Resource') AS [DB Name]

, SUM(qs.[execution_count]) AS [Counts]

, SUM(qs.[total_worker_time]) / 1000 AS [Total Worker Time (mSecs)]

, SUM(qs.[total_physical_reads]) AS [Total Physical Reads]

, SUM(qs.[total_logical_writes]) AS [Total Logical Writes]

, SUM(qs.[total_logical_reads]) AS [Total Logical Reads]

, SUM(qs.[total_clr_time]) / 1000 AS [Total CLR Time (mSecs)]

, SUM(qs.[total_elapsed_time]) / 1000 AS [Total Elapsed Time (mSecs)]

FROM sys.dm_exec_query_stats AS qs

CROSS APPLY sys.dm_exec_plan_attributes(qs.Plan_handle) AS a

WHERE a.[attribute] = 'dbid'

GROUP BY [value], ISNULL(DB_NAME(CONVERT(INT,a.[value])),'Resource')

ORDER BY [Total Worker Time (mSecs)] DESC

Comments (0)

Skip to main content