sys.database_ledger_transactions (Transact-SQL)

S’applique à : SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed Instance

Capture l’historique protégé par chiffrement des transactions de base de données sur les tables de registre dans la base de données. Une ligne de cette affichage représente une transaction de base de données.

Pour plus d’informations sur le registre de bases de données, consultez Registre.

Nom de la colonne Type de données Description
transaction_id bigint ID de transaction unique pour la base de données (il correspond à un ID de transaction dans le journal des transactions de base de données).
block_id bigint Numéro de séquence identifiant une ligne.
transactional_ordinal int Décalage de la transaction dans le bloc.
commit_time datetime2(7) Heure de la transaction de validation.
principal_name sysname Nom de l'utilisateur qui a démarré la transaction. Capturé en appelant ORIGINAL_LOGIN().
table_hashes varbinary(max) Il s’agit d’un ensemble de paires clé-valeur, stockées dans un format binaire. Les clés sont des ID d’objet (à partir de sys.objects) des tables de bases de données de registre, modifiés par la transaction. Chaque valeur est une synthèse SHA-256 de toutes les versions de ligne qu’une transaction a créée ou invalidée.

Le format binaire des données stockées dans cette ligne est : <version><length>[<key><value>], où

- version - Indique le format de codage. Longueur : 1 octet.
- length - le nombre d’entrées dans la liste des paires clé-valeur. Longueur : 1 octet.
- key - un iD d’objet. Longueur : 4 octets.
- value - la synthèse des lignes de transaction mises en cache dans la table avec l’ID d’objet stocké en tant que clé. Longueur : 32 octets.

Autorisations

Nécessite l’autorisation VIEW LEDGER CONTENT.

Voir aussi