Hallo,
Wenn Sie von einem Kunden eine Beschwerde über Langsamkeit erhalten haben, müssen Sie die SQL Server-Instanz und die Datenbank überwachen, die eine Menge Ressourcen verbraucht.
SQL Server DBA sollte die Datenbank jedes Mal überwachen, und wenn es viele SQLs gibt, die eine lange Ausführungszeit haben oder viel CPU-Ressourcen verbrauchen, sollte dies dem Entwickler und dem Entwickler gemeldet werden, und der DBA sollte diese SQLs untersuchen.
Mit der folgenden Abfrage finden Sie TOP-CPU-Abfragen in der SQL Server-Datenbank.
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
Das Abfrageergebnis wird wie im folgenden Screenshot aussehen