Supervisión de conexiones, sesiones y solicitudes mediante DMV

Se aplica a: Punto de conexión y almacenamiento de SQL en Microsoft Fabric

Puede usar las 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.

Importante

Microsoft Fabric está actualmente en versión preliminar. Esta información está relacionada con un producto en versión preliminar que puede modificarse considerablemente antes de su lanzamiento. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información que se ofrece aquí.

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 consultan sys.dm_exec_sessions para buscar todas las sesiones que se están ejecutando actualmente.

SELECT * 
FROM sys.dm_exec_sessions;

Captura de pantalla que muestra los resultados de sys.dm_exec_sessions.

Búsqueda de la relación entre conexiones y sesiones

En el ejemplo siguiente se sys.dm_exec_connections une 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 ha 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 Administración tiene permisos para ejecutar las tres DMV (sys.dm_exec_connections, sys.dm_exec_sessions, sys.dm_exec_requests) para ver la información de sus propios y otros dentro de un área de trabajo.
  • Un miembro, colaborador y visor puede ejecutar sys.dm_exec_sessions y sys.dm_exec_requests ver sus propios resultados en el almacén, pero no tiene permiso para ejecutar sys.dm_exec_connections.
  • Solo un Administración tiene permiso para ejecutar el KILL comando.

Pasos siguientes