Rediger

Del via


sys.dm_tran_aborted_transactions (Transact-SQL)

Applies to: SQL Server 2019 (15.x) Azure SQL Database Azure SQL Managed Instance

Returns information about unresolved, aborted transactions in the Database Engine instance.

Table returned

Column name Data type Description
transaction_id int The transaction_id of the aborted transaction.
database_id int The database_id of the aborted transaction.

In Azure SQL Database, the values are unique within a single database or an elastic pool, but not within a logical server.
begin_xact_lsn numeric(25,0) The starting LSN of the aborted transaction.
end_xact_lsn numeric(25,0) The ending LSN of the aborted transaction.
begin_time datetime The begin time of the aborted transaction.
nest_aborted bit When 1, indicates that the transaction has a nested aborted transaction.

Permissions

On SQL Server and SQL Managed Instance, requires VIEW SERVER STATE permission.

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

The sys.dm_tran_aborted_transactions DMV shows all aborted transactions in the Database Engine instance. The nest_aborted column indicates that the transaction has been committed or is active, but there are portions (savepoints or nested transactions) that aborted. This can block the PVS cleanup process while the transaction remains active. For more information, see Monitor and troubleshoot accelerated database recovery.

Row versions created by unresolved, aborted transactions are removed by persistent version store (PVS) cleanup.