Me gustaría saber si hay una manera de enviar una notificación en punto muerto. Si es así, qué consultas serían necesarias. Entiendo que SQL Server se encarga de los puntos muertos, simplemente me gustaría obtener información sobre las consultas involucradas.
Encontré lo siguiente para determinar consultas de larga duración:
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;
Me gustaría saber si lo anterior es la forma correcta de hacerlo, o ¿hay una mejor manera de determinar si alguna consulta lleva más tiempo que un intervalo específico, digamos 5 min como se muestra?
Gracias