Здравей,
Ако получите оплакване от забавяне от клиента, трябва да наблюдавате екземпляра на SQL Server и базата данни кой sql консумира много ресурси.
SQL Server DBA трябва да следи базата данни всеки път и ако има много sqls, които изпълняват дълго време за изпълнение или консумират много IO ресурс, тогава това трябва да бъде докладвано на разработчика и разработчикът и dba трябва да проверяват тези sqls.
Можете да намерите ТОП 50 IO заявки в базата данни на SQL Server със следната заявка.
select q.[text], SUBSTRING(q.text, (highest_cpu_queries.statement_start_offset/2)+1, ((CASE highest_cpu_queries.statement_end_offset WHEN -1 THEN DATALENGTH(q.text) ELSE highest_cpu_queries.statement_end_offset END - highest_cpu_queries.statement_start_offset)/2) + 1) AS statement_text, highest_cpu_queries.total_worker_time, highest_cpu_queries.total_logical_reads, highest_cpu_queries.last_execution_time, highest_cpu_queries.execution_count, q.dbid, q.objectid, q.number, q.encrypted, highest_cpu_queries.plan_handle from (select top 50 qs.last_execution_time, qs.execution_count, qs.plan_handle, qs.total_worker_time, qs.statement_start_offset, qs.statement_end_offset, qs.total_logical_reads from sys.dm_exec_query_stats qs order by qs.total_worker_time desc) as highest_cpu_queries cross apply sys.dm_exec_sql_text(plan_handle) as q order by highest_cpu_queries.total_logical_reads desc;