sys.dm_tran_aborted_transactions (Transact-SQL)

适用于: SQL Server 2019 (15.x) Azure SQL 数据库 Azure SQL 托管实例

返回有关 SQL Server 实例上未解析的中止事务的信息。

返回的表

列名称 数据类型 描述
transaction_id int transaction_id中止的事务。
database_id int database_id中止的事务。

在 Azure SQL 数据库中,这些值在单一数据库或弹性池中是唯一的,但在逻辑服务器中不是唯一的。
begin_xact_lsn numeric(25,0) 中止事务的起始 LSN。
end_xact_lsn numeric(25,0) 中止事务的结束 LSN。
begin_time datetime 中止的事务的开始时间。
nest_aborted bit 当 1 时,指示事务具有嵌套中止的事务。

权限

对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE 权限。

在 SQL 数据库“基本”、“S0”和“S1”服务目标中,对于“弹性池”中的数据库,服务器管理员帐户、Microsoft Entra 管理员帐户或 ##MS_ServerStateReader## 服务器角色中的成员身份为必填项。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色中的成员身份。

SQL Server 2022 及更高版本的权限

要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。

注解

sys.dm_tran_aborted_transactions DMV 显示了 SQL Server 实例上的所有中止事务。 该 nest_aborted 列指示事务已提交或处于活动状态,但有一些部分中止(保存点或嵌套事务)可以阻止 PVS 清理过程。 有关详细信息,请参阅排查加速数据库恢复问题

未解决,永久性版本存储(PVS)清理过程将删除中止的事务。

另请参阅