Freigeben über


sys.database_ledger_transactions (Transact-SQL)

Gilt für: SQL Server 2022 (16.x) Azure SQL-Datenbank Azure SQL verwaltete Instanz

Erfasst den kryptografisch geschützten Verlauf von Datenbanktransaktionen anhand von Ledgertabellen in der Datenbank. Eine Zeile in dieser Ansicht stellt eine Datenbanktransaktion dar.

Weitere Informationen zum Datenbankledger finden Sie unter Ledger.

Spaltenname Datentyp Beschreibung
transaction_id bigint Transaktions-ID, die für die Datenbank eindeutig ist (entspricht einer Transaktions-ID im Transaktionsprotokoll der Datenbank).
block_id bigint Eine Sequenznummer, die eine Zeile identifiziert.
transactional_ordinal int Offset der Transaktion im Block.
commit_time datetime2(7) Der Zeitpunkt der Committransaktion.
principal_name sysname Der Name des Benutzers, der die Transaktion gestartet hat. Wird durch Aufruf von ORIGINAL_LOGIN() erfasst.
table_hashes varbinary(max) Dies ist eine Reihe von Schlüssel-Wert-Paaren, die in einem Binärformat gespeichert sind. Die Schlüssel sind Objekt-IDs (aus sys.objects) von Ledgerdatenbanktabellen, die von der Transaktion geändert wurden. Jeder Wert ist ein SHA-256-Hash aller Zeilenversionen, die eine Transaktion erstellt oder ungültig gemacht hat.

Das Binärformat der in dieser Zeile gespeicherten Daten lautet <version><length>[<key><value>], wobei Folgendes gilt:

- version – gibt die Codierungsversion an. Länge: 1 Byte.
- length – die Anzahl von Einträgen in der Liste der Schlüssel-Wert-Paare. Länge: 1 Byte.
- key – eine Objekt-ID. Länge: 4 Byte.
- value – der Hash der Zeilen, die von der Transaktion in der Tabelle zwischengespeichert werden, wobei die Objekt-ID als Schlüssel gespeichert wird. Länge: 32 Byte.

Berechtigungen

Erfordert die Berechtigung VIEW LEDGER CONTENT.

Weitere Informationen