sys.database_ledger_transactions (Transact-SQL)

适用于: SQL Server 2022 (16.x) Azure SQL 数据库Azure SQL 托管实例

针对数据库中的账本表捕获数据库事务的加密保护历史记录。 此视图中的行表示数据库事务。

有关数据库账本的详细信息,请参阅账本

列名称 数据类型 说明
transaction_id bigint 数据库唯一的事务 ID(它对应于数据库事务日志中的事务 ID)。
block_id bigint 标识行的序列号。
transactional_ordinal int 块中事务的偏移量。
commit_time datetime2(7) 提交事务的时间。
principal_name sysname 启动事务的用户的名称。 通过调用 ORIGINAL_LOGIN() 捕获。
table_hashes varbinary(max) 这是一组以二进制格式存储的键值对。 键是由事务修改的帐本数据库表的对象 ID(来自 sys.objects)。 每个值都是事务创建或失效的所有行版本的 SHA-256 哈希。

此行中存储的数据的二进制格式为:<version><length>[<key><value>],其中

- version - 指示编码版本。 长度:1 字节。
- length - 键值对列表中的条目数。 长度:1 字节。
- key - 对象 ID。 长度:4 字节。
- value - 事务缓存在表中的行的哈希,对象 ID 存储为键。 长度:32 字节。

权限

需要 VIEW LEDGER CONTENT 权限。

另请参阅