sys.dm_tran_session_transactions (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Devuelve información de correlación para sesiones y transacciones asociadas.
Nota:
Para llamar a esto desde Azure Synapse Analytics o Analytics Platform System (PDW), use el nombre sys.dm_pdw_nodes_tran_session_transactions
. El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
session_id | int | Id. de la sesión en que se ejecuta la transacción. |
transaction_id | bigint | Id. de la transacción. |
transaction_descriptor | binary(8) | Identificador de transacción usado por SQL Server al comunicarse con el controlador de cliente. |
enlist_count | int | Número de solicitudes activas en la sesión de la transacción. |
is_user_transaction | bit | 1 = Transacción iniciada por una solicitud de usuario. 0 = Transacción de sistema. |
is_local | bit | 1 = Transacción local. 0 = Transacción distribuida o transacción de sesión enlazada dada de alta. |
is_enlisted | bit | 1 = Transacción distribuida dada de alta. 0 = No es una transacción distribuida dada de alta. |
is_bound | bit | 1 = La transacción está activa en la sesión a través de sesiones enlazadas. 0 = La transacción no está activa en la sesión a través de sesiones enlazadas. |
open_transaction_count | int | La cantidad de transacciones abiertas para cada sesión. |
pdw_node_id | int | Se aplica a: Azure Synapse Analytics, Sistema de la plataforma de análisis (PDW) Identificador del nodo en el que se encuentra esta distribución. |
Permisos
En SQL Server y SQL Managed Instance, requiere el permiso VIEW SERVER STATE
.
En los objetivos de servicio Básico, S0 y S1 de SQL Database y para bases de datos en grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador Microsoft Entra o la pertenencia al ##MS_ServerStateReader##
rol del servidor. En el resto de objetivos del servicio de SQL Database, se requiere el permiso VIEW DATABASE STATE
en la base de datos o la pertenencia en el rol del servidor ##MS_ServerStateReader##
.
Permisos para SQL Server 2022 y versiones posteriores
Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR en el servidor.
Comentarios
Por medio de sesiones enlazadas y transacciones distribuidas, una transacción puede ejecutarse en más de una sesión. En tales casos, sys.dm_tran_session_transactions
muestra varias filas para el mismo transaction_id
, una para cada sesión en la que se ejecuta la transacción. Debido a las diferencias en cómo se registran, open_transaction_count
puede que no coincida con sys.dm_exec_sessions
.open_transaction_count
.
Al ejecutar varias solicitudes en modo de confirmación automática mediante el uso de conjuntos de resultados activos múltiples (MARS), puede tener más de una transacción activa en una sola sesión. En tales casos, sys.dm_tran_session_transactions
muestra varias filas para el mismo session_id
, una para cada transacción que se ejecuta en esa sesión.