次の方法で共有


sys.dm_tran_aborted_transactions (Transact-SQL)

適用対象: SQL Server 2019 (15.x) Azure SQL Database Azure 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 の BasicS0S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、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 クリーンアップ プロセスをブロックできます。 詳しくは、「高速データベース復旧のトラブルシューティング」をご覧ください。

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

関連項目