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