sql >> Databáze >  >> RDS >> Sqlserver

Databáze SQL Server Statistiky využití CPU

Ahoj,

Obecně existuje mnoho databází na instanci SQL Server. Spouštění databází do stejné instance je velmi důležité pro licenci a konsolidaci SQL Serveru.

Když mnoho databází běží ve stejné instanci SQL Serveru, je použití zdrojů databází velmi kritické.

Pokud některá databáze využívá velké množství prostředků CPU, měli bychom sledovat databázi a proč tato databáze spotřebovává více prostředků CPU než ostatní.

To, že všechny databáze využívají CPU zdroje, se můžeme naučit pomocí následujícího skriptu.

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. Jak zabezpečit Galera Cluster – 8 tipů

  2. Jak přejmenovat omezení primárního klíče pro více tabulek v databázi SQL Server - SQL Server / Výukový program TSQL, část 64

  3. Jaký je osvědčený postup pro primární klíče v tabulkách?

  4. Databázový model pro online průzkum. Část 4