こんにちは、
お客様から速度低下の苦情を受けた場合は、SQLServerインスタンスとデータベースを監視する必要があります。SQLは多くのリソースを消費しています。
SQL Server DBAは毎回データベースを監視する必要があり、実行時間が長い、またはCPUリソースを大量に消費するSQLが多数ある場合は、開発者と開発者に報告し、dbaはこれらのSQLを調べる必要があります。
次のクエリを使用して、SQLServerデータベースでTOPCPUクエリを見つけることができます。
SELECT TOP 50
ObjectName = OBJECT_SCHEMA_NAME(qt.objectid,dbid) + '.' + OBJECT_NAME(qt.objectid, qt.dbid)
,TextData = qt.text
,DiskReads = qs.total_physical_reads -- The worst reads, disk reads
,MemoryReads = qs.total_logical_reads --Logical Reads are memory reads
,Executions = qs.execution_count
,TotalCPUTime = qs.total_worker_time
,AverageCPUTime = qs.total_worker_time/qs.execution_count
,DiskWaitAndCPUTime = qs.total_elapsed_time
,MemoryWrites = qs.max_logical_writes
,DateCached = qs.creation_time
,DatabaseName = DB_Name(qt.dbid)
,LastExecutionTime = qs.last_execution_time
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
ORDER BY qs.total_worker_time DESC;