Tôi muốn biết liệu có cách nào để gửi thông báo về bế tắc không? Nếu vậy những truy vấn sẽ được yêu cầu. Tôi hiểu rằng SQL Server xử lý các bế tắc, tôi chỉ muốn thông tin về các truy vấn liên quan.
Tôi tìm thấy những điều sau đây để xác định các truy vấn chạy dài:
SELECT
creation_time
,last_execution_time
,total_physical_reads
,total_logical_reads
,total_logical_writes
, execution_count
, total_worker_time
, total_elapsed_time
, total_elapsed_time / execution_count avg_elapsed_time
,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) st
where total_elapsed_time >= 300000000 --5 min
ORDER BY total_elapsed_time / execution_count DESC;
Tôi muốn biết liệu ở trên có phải là cách đúng hay không, hoặc có cách nào tốt hơn để xác định xem có bất kỳ truy vấn nào mất nhiều thời gian hơn một khoảng thời gian cụ thể nói 5 phút như được hiển thị không?
Cảm ơn