Hai,
Umumnya Ada banyak database di SQL Server Instance. Menjalankan database ke dalam instance yang sama sangat penting untuk lisensi dan konsolidasi SQL Server.
Ketika banyak database berjalan di Instance SQL Server yang sama, maka penggunaan sumber daya database sangat penting.
Jika ada basis data yang menggunakan banyak sumber daya CPU, maka kita harus memantau basis data dan mengapa basis data tersebut menggunakan lebih banyak sumber daya CPU daripada yang lain.
Kita dapat mempelajari bahwa semua penggunaan sumber daya CPU database dengan skrip berikut.
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);