Performance Tunning :- How to find out CPU Uses By each Databases in SQL Server

Through Below Script you are able to identify the CPU utilization By per databases in your SQL Server:

WITH CPU_Uses_Per_Db
AS

(SELECT 
 dm.Database_ID
 , DB_Name(dm.Database_ID) AS [Database_Name]
 , SUM(dmq.total_worker_time) AS CPU_Time_As_MS
 FROM sys.dm_exec_query_stats dmq 

 CROSS APPLY 

 (SELECT 
 CONVERT(INT, value) AS [Database_ID] 
 FROM sys.dm_exec_plan_attributes(dmq.plan_handle)
 WHERE attribute = N’dbid’) dm
 GROUP BY dm.Database_ID)

 SELECT 
 [Database_Name] 
 ,[CPU_Time_As_MS] 
 ,CAST([CPU_Time_As_MS] * 1.0 / SUM([CPU_Time_As_MS]) OVER() * 100.0 AS DECIMAL(5, 2)) AS [Uses_CPUTime_In_Prcnt%]
 FROM CPU_Uses_Per_Db
 ORDER BY [Uses_CPUTime_In_Prcnt%] DESC;

 

Leave a Reply

Your email address will not be published. Required fields are marked *