नमस्ते,
आमतौर पर SQL सर्वर इंस्टेंस पर कई डेटाबेस होते हैं। SQL सर्वर लाइसेंस और समेकन के लिए डेटाबेस को एक ही उदाहरण में चलाना बहुत महत्वपूर्ण है।
जब एक ही SQL सर्वर इंस्टेंस में कई डेटाबेस चलते हैं तो डेटाबेस का संसाधन उपयोग बहुत महत्वपूर्ण होता है।
यदि कोई डेटाबेस बहुत सारे CPU संसाधनों का उपयोग करता है तो हमें डेटाबेस की निगरानी करनी चाहिए और वह डेटाबेस दूसरों की तुलना में अधिक CPU संसाधन का उपभोग क्यों करता है।
हम सीख सकते हैं कि सभी डेटाबेस सीपीयू संसाधन निम्नलिखित स्क्रिप्ट के साथ उपयोग करते हैं।
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);