Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to:
SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL analytics endpoint in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL database in Microsoft Fabric
The sys.dm_tran_database_transactions dynamic management view returns information about transactions at the database level.
| Column name | Data type | Description |
|---|---|---|
transaction_id |
bigint | ID of the transaction at the instance level, not the database level. It is only unique across all databases within an instance, but not unique across all server instances. |
database_id |
int | ID of the database associated with the transaction. In Azure SQL Database, the values are unique within a single database or an elastic pool, but not within a logical server. |
database_transaction_begin_time |
datetime | Time at which the database became involved in the transaction. Specifically, it is the time of the first log record in the database for the transaction. |
database_transaction_type |
int | 1 = Read/write transaction 2 = Read-only transaction 3 = System transaction |
database_transaction_state |
int | 1 = The transaction has not been initialized. 3 = The transaction has been initialized but has not generated any log records. 4 = The transaction has generated log records. 5 = The transaction has been prepared. 10 = The transaction has been committed. 11 = The transaction has been rolled back. 12 = The transaction is being committed. (The log record is being generated, but is not materialized or persisted.) |
database_transaction_status |
int | Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
database_transaction_status2 |
int | Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
database_transaction_log_record_count |
bigint | Applies to: SQL Server 2008 (10.0.x) and later versions. Number of log records generated in the database for the transaction. |
database_transaction_replicate_record_count |
int | Applies to: SQL Server 2008 (10.0.x) and later versions. Number of log records generated in the database for the transaction that is replicated. |
database_transaction_log_bytes_used |
bigint | Applies to: SQL Server 2008 (10.0.x) and later versions. Number of bytes used so far in the database log for the transaction. |
database_transaction_log_bytes_reserved |
bigint | Applies to: SQL Server 2008 (10.0.x) and later versions. Number of bytes reserved for use in the database log for the transaction. |
database_transaction_log_bytes_used_system |
int | Applies to: SQL Server 2008 (10.0.x) and later versions. Number of bytes used so far in the database log for system transactions on behalf of the transaction. |
database_transaction_log_bytes_reserved_system |
int | Applies to: SQL Server 2008 (10.0.x) and later versions. Number of bytes reserved for use in the database log for system transactions on behalf of the transaction. |
database_transaction_begin_lsn |
numeric(25,0) | Applies to: SQL Server 2008 (10.0.x) and later versions. Log sequence number (LSN) of the begin record for the transaction in the database log. |
database_transaction_last_lsn |
numeric(25,0) | Applies to: SQL Server 2008 (10.0.x) and later versions. LSN of the most recently logged record for the transaction in the database log. |
database_transaction_most_recent_savepoint_lsn |
numeric(25,0) | Applies to: SQL Server 2008 (10.0.x) and later versions. LSN of the most recent savepoint for the transaction in the database log. |
database_transaction_commit_lsn |
numeric(25,0) | Applies to: SQL Server 2008 (10.0.x) and later versions. LSN of the commit log record for the transaction in the database log. |
database_transaction_last_rollback_lsn |
numeric(25,0) | Applies to: SQL Server 2008 (10.0.x) and later versions. LSN that was most recently rolled back to. If no rollback has taken place, the value is MaxLSN. |
database_transaction_next_undo_lsn |
numeric(25,0) | Applies to: SQL Server 2008 (10.0.x) and later versions. LSN of the next record to undo. |
pdw_node_id |
int | Applies to: Azure Synapse Analytics, Analytics Platform System (PDW) The identifier for the node that this distribution is on. |
database_transaction_first_repl_lsn |
numeric(25,0) | Applies to: Azure Synapse Analytics, Analytics Platform System (PDW) LSN of the first log record in the transaction that needs replication. |
Permissions
On SQL Server and SQL Managed Instance, requires VIEW SERVER STATE permission.
In Microsoft Fabric, membership in the Contributor workspace role or more privileged role is needed to query sys.dm_tran_database_transactions.
On SQL Database Basic, S0, and S1 service objectives, and for databases in elastic pools, the server admin account, the Microsoft Entra admin account, or membership in the ##MS_ServerStateReader## server role is required. On all other SQL Database service objectives, either the VIEW DATABASE STATE permission on the database, or membership in the ##MS_ServerStateReader## server role is required.
Permissions for SQL Server 2022 and later
Requires VIEW SERVER PERFORMANCE STATE permission on the server.
Remarks
To call this DMV from Azure Synapse Analytics or Analytics Platform System (PDW), use the name sys.dm_pdw_nodes_tran_database_transactions This syntax is not supported by serverless SQL pool in Azure Synapse Analytics.