Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Statistik Penggunaan CPU Database SQL Server

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);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara tercepat untuk menyisipkan banyak data secara massal di SQL Server (klien C#)

  2. Memilih N baris di SQL Server

  3. Pengaruh petunjuk NOLOCK dalam pernyataan SELECT

  4. SQL Server:Kiat Berguna untuk Pemula

  5. Bagaimana Anda membuat pencarian teks lengkap wildcard terkemuka berfungsi di SQL Server?