Ciao,
Se hai ricevuto un reclamo di lentezza dal cliente, devi monitorare l'istanza di SQL Server e il database che sql sta consumando molte risorse.
SQL Server DBA dovrebbe monitorare il database ogni volta e se ci sono molti sql che eseguono lunghi tempi di esecuzione o consumano molte risorse della CPU, allora dovrebbe essere segnalato allo sviluppatore e allo sviluppatore e dba dovrebbe esaminare questi sql.
Puoi trovare le query TOP CPU nel database di SQL Server con la seguente 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;