Quando você possui um servidor de banco de dados que está tendo um alto consumo de CPU é necessário fazer um trabalho de investigação para identificar a origem desse consumo. Ou quando está querendo identificar quem são os maiores consumidores de recurso do seu servidor SQL. O SQL Server Management Studio (SSMS) não possui nenhum relatório específico para identificar isso, porém é possível fazer uma consulta SQL que traga a informação de uso de CPU para cada um dos seus bancos de dados.
Para isso execute a consulta:
SELECT T.[Database], T.[CPUTimeAsPercentage] FROM (SELECT [Database], CONVERT (DECIMAL (6, 3), [CPUTimeInMiliSeconds] * 1.0 / SUM ([CPUTimeInMiliSeconds]) OVER () * 100.0) AS [CPUTimeAsPercentage] FROM (SELECT dm_execplanattr.DatabaseID, DB_Name(dm_execplanattr.DatabaseID) AS [Database], SUM (dm_execquerystats.total_worker_time) AS CPUTimeInMiliSeconds FROM sys.dm_exec_query_stats dm_execquerystats CROSS APPLY (SELECT CONVERT (INT, value) AS [DatabaseID] FROM sys.dm_exec_plan_attributes(dm_execquerystats.plan_handle) WHERE attribute = N'dbid' ) dm_execplanattr GROUP BY dm_execplanattr.DatabaseID ) AS CPUPerDb ) AS T ORDER BY T.[CPUTimeAsPercentage] DESC
O retorno da consulta será o nome do banco de dados seguido do seu consumo.
A consulta utiliza informação do plano de execução, ou seja, ela depende de informações de uso.