Compartir a través de


sys.dm_tran_database_transactions (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de SQL Analytics en Microsoft FabricAlmacén en Microsoft FabricBase de datos SQL en Microsoft Fabric

La sys.dm_tran_database_transactions vista de gestión dinámica devuelve información sobre transacciones a nivel de base de datos.

Nombre de la columna Tipo de datos Descripción
transaction_id bigint Identificador de la transacción en el nivel de instancia, no en el de base de datos. Es exclusivo solo en todas las bases de datos de una instancia, pero no es exclusivo en todas las instancias del servidor.
database_id int Id. de la base de datos asociado a la transacción.

En Azure SQL Database, los valores son únicos dentro de una base de datos única o un grupo elástico, pero no dentro de un servidor lógico.
database_transaction_begin_time datetime Hora en la que la base de datos se implica en la transacción. Concretamente, es la hora del primer registro en la base de datos para la transacción.
database_transaction_type int 1 = Transacciones de lectura/escritura

2 = Transacción de solo lectura

3 = Transacción de sistema
database_transaction_state int 1 = La transacción no se ha inicializado.

3 = La transacción se ha inicializado, pero no se han generado registros.

4 = La transacción ha generado registros.

5 = La transacción se ha preparado.

10 = La transacción se ha confirmado.

11 = La transacción se ha revertido.

12 = La transacción se está confirmando. (El registro logarítmico se está generando, pero no se materializa ni persiste.)
database_transaction_status int Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.
database_transaction_status2 int Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.
database_transaction_log_record_count bigint Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

Número de registros generados en la base de datos para la transacción.
database_transaction_replicate_record_count int Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

Número de registros generados en la base de datos para la transacción que se replica.
database_transaction_log_bytes_used bigint Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

Número de bytes usados hasta ahora en el registro de la base de datos para la transacción.
database_transaction_log_bytes_reserved bigint Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

Número de bytes reservados para uso en el registro de la base de datos para la transacción.
database_transaction_log_bytes_used_system int Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

Número de bytes usados hasta ahora en el registro de la base de datos para transacciones del sistema en nombre de la transacción.
database_transaction_log_bytes_reserved_system int Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

Número de bytes reservados para uso en el registro de la base de datos para transacciones del sistema en nombre de la transacción.
database_transaction_begin_lsn numeric(25,0) Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

Número de secuencia de registro (LSN) del registro inicial para la transacción en el registro de la base de datos.
database_transaction_last_lsn numeric(25,0) Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

LSN del registro más reciente registrado para la transacción en el registro de la base de datos.
database_transaction_most_recent_savepoint_lsn numeric(25,0) Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

LSN del punto de retorno más reciente para la transacción en el registro de la base de datos.
database_transaction_commit_lsn numeric(25,0) Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

LSN del registro de confirmación para la transacción en el registro de la base de datos.
database_transaction_last_rollback_lsn numeric(25,0) Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

LSN que se ha revertido más recientemente. Si no se ha realizado ninguna reversión, el valor es MaxLSN.
database_transaction_next_undo_lsn numeric(25,0) Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

LSN del siguiente registro que se deshará.
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.
database_transaction_first_repl_lsn numeric(25,0) Se aplica a: Azure Synapse Analytics, Sistema de la plataforma de análisis (PDW)

LSN del primer registro de log en la transacción que necesita replicación.

Permisos

En SQL Server y SQL Managed Instance, requiere el permiso VIEW SERVER STATE.

En Microsoft Fabric, se necesita pertenencia al rol de espacio de trabajo Contribuyente o a un rol más privilegiado para consultar sys.dm_tran_database_transactions.

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.

Observaciones

Para llamar a este DMV desde Azure Synapse Analytics o Analytics Platform System (PDW), utilice el nombre sys.dm_pdw_nodes_tran_database_transactions Esta sintaxis no es compatible con el servidor SQL pool en Azure Synapse Analytics.