Hola,
En general, hay muchas bases de datos en la instancia de SQL Server. La ejecución de bases de datos en la misma instancia es muy importante para la consolidación y la licencia de SQL Server.
Cuando muchas bases de datos se ejecutan en la misma instancia de SQL Server, el uso de recursos de las bases de datos es muy crítico.
Si alguna base de datos usa muchos recursos de CPU, entonces debemos monitorear la base de datos y por qué esa base de datos consume más recursos de CPU que otras.
Podemos aprender que todas las bases de datos usan recursos de CPU con el siguiente script.
WITH DB_CPU_STATS_ON_INSTANCE AS (SELECT DatabaseID, DB_Name(DatabaseID) AS [DatabaseName], SUM(total_worker_time) AS [CPU_Time_Ms] FROM sys.dm_exec_query_stats AS qs CROSS APPLY (SELECT CONVERT(int, value) AS [DatabaseID] FROM sys.dm_exec_plan_attributes(qs.plan_handle) WHERE attribute = N'dbid') AS F_DB GROUP BY DatabaseID) SELECT ROW_NUMBER() OVER(ORDER BY [CPU_Time_Ms] DESC) AS [row_num], DatabaseName, [CPU_Time_Ms], CAST([CPU_Time_Ms] * 1.0 / SUM([CPU_Time_Ms]) OVER() * 100.0 AS DECIMAL(5, 2)) AS [CPUPercent] FROM DB_CPU_STATS_ON_INSTANCE WHERE DatabaseID > 4 AND DatabaseID <> 32767 ORDER BY row_num OPTION (RECOMPILE);