Hallo,
Als u een traagheidsklacht van een klant heeft gekregen, moet u de SQL Server-instantie en database controleren welke sql veel bronnen gebruikt.
SQL Server DBA moet de database elke keer controleren en als er veel sqls zijn die een lange uitvoeringstijd hebben of veel CPU-bronnen verbruiken, moet dit worden gerapporteerd aan de ontwikkelaar en ontwikkelaar en moet dba deze sqls onderzoeken.
U kunt TOP CPU-query's vinden in de SQL Server-database met de volgende query.
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;