sys.dm_tran_aborted_transactions (Transact-SQL)

適用対象: SQL Server 2019 (15.x) Azure SQL DatabaseAzure SQL Managed Instance

SQL Server インスタンスで未解決の中止されたトランザクションに関する情報を返します。

返されるテーブル

列名 データ型 説明
transaction_id int transaction_id中止されたトランザクションの値。
database_id int database_id中止されたトランザクションの値。

Azure SQL Database では、値は 1 つのデータベースまたは Elastic Pool 内で一意ですが、論理サーバー内では一意ではありません。
begin_xact_lsn numeric(25,0) 中止されたトランザクションの開始 LSN。
end_xact_lsn numeric(25,0) 中止されたトランザクションの終了 LSN。
begin_time datetime 中止されたトランザクションの開始時刻。
nest_aborted bit 1 の場合、トランザクションに入れ子になった中止されたトランザクションがあることを示します。

アクセス許可

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database Basic、S0、S1 サービス目標、およびエラスティック プール内のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、またはサーバー ロール##MS_ServerStateReader##メンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

解説

sys.dm_tran_aborted_transactions DMV を見ると、SQL Server インスタンスで中止されたすべてのトランザクションがわかります。 この列はnest_aborted、トランザクションがコミットされたかアクティブであることを示しますが、中止された部分 (セーブポイントまたは入れ子になったトランザクション) があり、PVS クリーンup プロセスがブロックされる可能性があります。 詳しくは、「高速データベース復旧のトラブルシューティング」をご覧ください。

未解決の中止されたトランザクションは、永続バージョン ストア (PVS) クリーンアップ プロセスによって削除されます。

関連項目