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.
- sys.dm_exec_connections
- Devuelve información sobre cada conexión establecida entre el almacén y el motor.
- sys.dm_exec_sessions
- Devuelve información sobre cada sesión autenticada entre el elemento y el motor.
- sys.dm_exec_requests
- Devuelve información sobre cada solicitud activa en una sesión.
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;
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
ysys.dm_exec_requests
ver sus propios resultados en el almacén, pero no tiene permiso para ejecutarsys.dm_exec_connections
. - Solo un Administración tiene permiso para ejecutar el
KILL
comando.