Ich möchte wissen, ob es eine Möglichkeit gibt, bei einem Deadlock eine Benachrichtigung zu senden. Wenn ja, welche Abfragen wären erforderlich? Ich verstehe, dass sich SQL Server um Deadlocks kümmert. Ich hätte einfach gerne Informationen zu den betreffenden Abfragen.
Ich habe Folgendes gefunden, um lang laufende Abfragen zu ermitteln:
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;
Ich möchte wissen, ob das oben Genannte der richtige Weg ist, oder gibt es einen besseren Weg, um festzustellen, ob eine Abfrage länger dauert als ein bestimmtes Intervall, beispielsweise 5 Minuten, wie gezeigt?
Vielen Dank