Supervisión de conexiones, sesiones y solicitudes mediante DMV

Se aplica a:✅ punto de conexión de análisis SQL y almacén de datos en Microsoft Fabric

Puede usar vistas de administración dinámica (DMV) existentes para supervisar el estado de conexión, sesión y solicitud en Microsoft Fabric. Para obtener más información sobre las herramientas y los métodos de ejecución de consultas de T-SQL, consulte Consulta del almacén.

Cómo supervisar conexiones, sesiones y solicitudes mediante las DMV del ciclo de vida de las consultas

Para la versión actual, hay tres vistas de administración dinámica (DMV) proporcionadas para recibir información del ciclo de vida de consultas SQL en directo.

Estas tres DMV proporcionan información detallada sobre los escenarios siguientes:

  • ¿Quién es el usuario que ejecuta la sesión?
  • ¿Cuándo inició la sesión el usuario?
  • ¿Cuál es el identificador de la conexión al almacenamiento de datos y la sesión que ejecuta la solicitud?
  • ¿Cuántas consultas están ejecutándose actualmente?
  • ¿Qué consultas son de larga duración?

En este tutorial, aprenderá a supervisar las consultas SQL en ejecución mediante vistas de administración dinámica (DMV).

Consultas DMV de ejemplo

En el ejemplo siguiente, se consulta sys.dm_exec_sessions para encontrar todas aquellas sesiones que se estén ejecutando actualmente.

SELECT * 
FROM sys.dm_exec_sessions;

Encuentre la relación entre conexiones y sesiones

En el ejemplo siguiente, se unen sys.dm_exec_connections y sys.dm_exec_sessions a la relación entre la sesión activa en una conexión específica.

SELECT connections.connection_id,
 connections.connect_time,
 sessions.session_id, sessions.login_name, sessions.login_time, sessions.status
FROM sys.dm_exec_connections AS connections
INNER JOIN sys.dm_exec_sessions AS sessions
ON connections.session_id=sessions.session_id;

Identificación y eliminación de una consulta de larga duración

Esta primera consulta identifica la lista de consultas de larga duración en el orden de la consulta que haya tardado más desde que llegó.

SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;

Esta segunda consulta muestra qué usuario inició la sesión que tiene la consulta de larga duración.

SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';

Esta tercera consulta muestra cómo usar el comando KILL en session_id para la consulta de larga duración.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Por ejemplo

KILL '101'

Para obtener una guía paso a paso para diagnosticar y resolver el bloqueo de consultas, consulte Solución de problemas de bloqueo de consultas en Fabric Data Warehouse.

Permisos

  • Un administrador tiene permisos para ejecutar las tres DMV (sys.dm_exec_connections, sys.dm_exec_sessions y sys.dm_exec_requests) para ver su propia información y la de otros dentro de un área de trabajo.
  • Un miembro, colaborador o visor puede ejecutar sys.dm_exec_sessions y sys.dm_exec_requests y ver sus propios resultados dentro del almacén, pero no tiene permiso para ejecutar sys.dm_exec_connections.
  • Solo un administrador tiene permiso para ejecutar el comando KILL.