sys.dm_pdw_exec_sessions (Transact-SQL)

Se aplica a:Azure Synapse AnalyticsAnalytics Platform System (PDW)

Contiene información sobre todas las sesiones actualmente o recientemente abiertas. La sys.dm_pdw_exec_sessions vista de gestión dinámica (DMV) indica una fila por sesión.

Nombre de la columna Tipo de datos Descripción Range
session_id nvarchar(32) El ID de la consulta actual o de la última consulta ejecutada (si la sesión está TERMINADA y la consulta se estaba ejecutando en el momento de la finalización). Clave para esta vista. Único en todas las sesiones del sistema.
status nvarchar(10) Para las sesiones actuales, identifica si la sesión está activa o inactiva. En sesiones anteriores, el estado de la sesión puede mostrar cerrado o cancelado (si la sesión fue cerrada por la fuerza). ACTIVE, CLOSED, , IDLE, TERMINATED
request_id nvarchar(32) El ID de la consulta actual o última consulta ejecutada. Único en todas las solicitudes del sistema. NULL si no se ha publicado ninguno.
security_id varbinary(85) ID de seguridad del principal que dirige la sesión.
login_name nvarchar(128) El nombre de usuario del principal que dirige la sesión. Cualquier cadena que cumpla con las convenciones de nombres del usuario.
login_time datetime Fecha y hora en que el usuario inició sesión y se creó esta sesión. Fecha válida antes de la hora actual.
query_count int Captura el número de consultas/solicitudes que esta sesión ha realizado desde su creación. Mayor o igual a 0.
is_transactional bit Captura si una sesión está actualmente dentro de una transacción o no. 0 para auto-commit, 1 para transaccional.
client_id nvarchar(255) Captura la información del cliente para la sesión. La dirección IPv6 indica que se utiliza un punto final privado. Cualquier cadena válida.
app_name nvarchar(255) Captura la información del nombre de la aplicación opcionalmente establecida como parte del proceso de conexión. Cualquier cadena válida.
sql_spid int La columna IDs contiene SPIDs cerrados.

Para información sobre el número máximo de filas que se conserva en esta vista, véase Metadatos de límites de capacidad.

Permissions

Requiere el permiso VIEW SERVER STATE.

Comentarios

El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics. Para pools SQL sin servidor, usa sys.dm_exec_sessions.

Examples

A. Sesiones activas

Para encontrar un recuento de sesiones activas:

SELECT active_count = COUNT(session_Id)
FROM sys.dm_pdw_exec_sessions
WHERE status = 'ACTIVE';

B. Sesiones abiertas de más de 10 minutos

Para encontrar sesiones que hayan estado abiertas por más de 10 minutos:

SELECT *, session_duration_s = DATEDIFF (s, login_time, getdate() ) 
 FROM sys.dm_pdw_exec_sessions
 WHERE DATEDIFF (s, login_time, getdate() ) > 600; -- 10 minutes

C. Visualizar aplicaciones/usuarios de sesión actualmente conectados

Para encontrar información de sesión, incluyendo la aplicación de origen, quién está conectado, de dónde viene la conexión y si está usando Microsoft Entra ID o autenticación SQL.

SELECT DISTINCT CASE 
        WHEN len(tt) = 0
            THEN app_name
        ELSE tt
        END AS application_name
    ,login_name
    ,ip_address
FROM (
    SELECT DISTINCT app_name
        ,substring(client_id, 0, CHARINDEX(':', ISNULL(client_id, '0.0.0.0:123'))) AS ip_address
        ,login_name
        ,isnull(substring(app_name, 0, CHARINDEX('-', ISNULL(app_name, '-'))), 'h') AS tt
    FROM sys.dm_pdw_exec_sessions
    ) AS a;