Xin chào,
Nếu bạn nhận được khiếu nại về độ chậm từ khách hàng, bạn cần theo dõi Phiên bản SQL Server và cơ sở dữ liệu mà sql đang tiêu tốn nhiều tài nguyên.
SQL Server DBA nên giám sát cơ sở dữ liệu mọi lúc và nếu có nhiều sql đang chạy thời gian thực thi lâu hoặc tiêu tốn nhiều tài nguyên IO thì nó phải được báo cáo cho nhà phát triển và nhà phát triển và dba nên kiểm tra các sqls này.
Bạn có thể tìm thấy 50 truy vấn IO hàng đầu trong cơ sở dữ liệu SQL Server với truy vấn sau.
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;