Hej,
Hvis du har fået langsommelighedsklage fra kunden, skal du overvåge SQL Server Instance og database, hvilken sql bruger mange ressourcer.
SQL Server DBA bør overvåge databasen hver gang, og hvis der er mange sqls, som kører lang udførelsestid eller forbruger en masse CPU-ressourcer, skal det rapporteres til udvikleren og udvikleren, og dba bør undersøge disse sqls.
Du kan finde TOP CPU-forespørgsler i SQL Server-databasen med følgende forespørgsel.
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;