sys.database_ledger_transactions (Transact-SQL)

適用対象: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed Instance

データベース内の台帳テーブルに対して、暗号化によって保護されたデータベース トランザクションの履歴をキャプチャします。 このビューの行は、データベース トランザクションを表します。

データベース台帳の詳細については、台帳に関する記事を参照してください。

列名 データ型 説明
transaction_id bigint データベースで一意になるトランザクション ID (データベース トランザクション ログのトランザクション ID に相当します)。
block_id bigint 行を識別するシーケンス番号。
transactional_ordinal int ブロック内のトランザクションのオフセット。
commit_time datetime2(7) トランザクションをコミットした時刻。
principal_name sysname トランザクションを開始したユーザーの名前。 ORIGINAL_LOGIN() を呼び出すことでキャプチャされます。
table_hashes varbinary(max) これは、バイナリ形式で格納されるキーと値のペアのセットです。 キーは、台帳データベース テーブルの (sys.objects からの) オブジェクト ID であり、トランザクションによって変更されます。 各値は、トランザクションが作成または無効化したすべての行バージョンの SHA-256 ハッシュです。

この行に格納されるデータのバイナリ形式は <version><length>[<key><value>] です。ここで、

- version - エンコードのバージョンを示します。 長さ: 1 バイト。
- length - キーと値のペアのリスト内のエントリの数。 長さ: 1 バイト。
- key - オブジェクト ID。 長さ: 4 バイト。
- value - トランザクションがテーブルにキャッシュした行のハッシュと、キーとして格納されたオブジェクト ID。 長さ: 32 バイト。

アクセス許可

VIEW LEDGER CONTENT 権限が必要です。

関連項目