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.