sys.dm_tran_aborted_transactions (Transact-SQL)
適用対象: SQL Server 2019 (15.x)
Azure SQL Database
Azure SQL Managed Instance
データベース エンジン インスタンスで未解決の中止されたトランザクションに関する情報を返します。
返されるテーブル
列名 | データ型 | 説明 |
---|---|---|
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 |
ビット | 1 の場合、トランザクションに入れ子になった中止されたトランザクションがあることを示します。 |
アクセス許可
SQL Server と SQL Managed Instance では、VIEW SERVER STATE
アクセス許可が必要です。
SQL Database の Basic、S0、S1 サービス対象、および 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 には、データベース エンジン インスタンスで中止されたすべてのトランザクションが表示されます。
nest_aborted
列は、トランザクションがコミットされているかアクティブであるが、中止された部分 (セーブポイントまたは入れ子になったトランザクション) があることを示します。 これにより、トランザクションがアクティブなまま PVS クリーンアップ プロセスがブロックされる可能性があります。 詳細については、「高速データベース復旧 監視とトラブルシューティング」を参照してください。
未解決の中止されたトランザクションによって作成された行バージョンは、永続バージョン ストア (PVS) クリーンアップによって削除されます。
関連コンテンツ
- データベース復旧の高速化
- 高速データベース復旧の管理
- 高速データベース復旧 の監視とトラブルシューティング