SQL Server’da En Çok CPU Kullanan Veritabanlarını Listelemek

Herkese merhaba,

Bu yazıda SQL Server’da en çok CPU kullanan veritabanlarını listelemek ile ilgili bilgi vermeye çalışacağım.

SQL Server’da bazı durumlarda en çok CPU kullanan veritabanlarını listelemek isteyebilirsiniz.

Aşağıdaki kodu kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

WITH DB_CPU_Stats
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] / 1000 AS [CPU_Time_Sec],
       CAST([CPU_Time_Ms] * 1.0 / SUM([CPU_Time_Ms]) OVER () * 100.0 AS DECIMAL(5, 2)) AS [CPUPercent]
FROM DB_CPU_Stats
WHERE DatabaseID > 4 -- sistem veritabanlari
      AND DatabaseID <> 32767 -- ResourceDB
ORDER BY row_num
OPTION (RECOMPILE);

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

214 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!