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 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
Het resultaat van de zoekopdracht zal zijn als het volgende screenshot