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 query_stats.query_hash, SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) as avgCPU_USAGE, min(query_stats.statement_text) as QUERY from ( select qs.*, SUBSTRING(st.text,(qs.statement_start_offset/2)+1, ((case statement_end_offset when -1 then DATALENGTH(st.text) else qs.statement_end_offset end - qs.statement_start_offset)/2) +1) as statement_text from sys.dm_exec_query_stats as qs cross apply sys.dm_exec_sql_text(qs.sql_handle) as st ) as query_stats group by query_stats.query_hash order by 2 desc
Il risultato della query sarà come il seguente screenshot