Supervisión de conexiones, sesiones y solicitudes mediante DMV

Se aplica a: punto de conexión de análisis de SQL y Warehouse 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.

Supervisión de conexiones, sesiones y solicitudes mediante DMV de ciclo de vida de 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 se ejecutan activamente?
  • ¿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;

Screenshot showing the results of 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 ejecutó la sesión que tiene la consulta de ejecución prolongada.

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

En esta tercera consulta se muestra cómo usar el comando KILL en session_id con la consulta de ejecución prolongada.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Por ejemplo

KILL '101'

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 y visor pueden ejecutar sys.dm_exec_sessions y sys.dm_exec_requests y ver sus propios resultados en el almacén, pero no tienen permiso para ejecutar sys.dm_exec_connections.
  • Solo un administrador tiene permiso para ejecutar el comando KILL.