sys.sp_generate_database_ledger_digest (Transact-SQL)

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

生成账本摘要,这是最后一个块的 sys.database_ledger_blocks哈希。 如果最后一个块处于打开状态(事务分组到块,但没有生成最终块哈希),则此存储过程将关闭该块并生成哈希。 将来的事务随后将被分配给下一个块。

Transact-SQL 语法约定

语法

sys.sp_generate_database_ledger_digest

参数

无。

返回代码值

0(成功)或 1(失败)。

结果集

结果在名为 latest_digest 的列中返回,该列是包含以下数据的 JSON 文档:

JSON 属性 说明
database_name 数据库的名称。
block_id block_idsys.database_ledger_blocks最后一行相同。
hash 表示最后 sys.database_ledger_blocks一行的 SHA-256 哈希的十六进制字符串。
last_transaction_commit_time commit_time ISO 8601 格式的最后一行 sys.database_ledger_blocks 相同。
digest_time 以 ISO 8601 格式生成摘要的时间。

下面是 JSON 文档的示例:

{
    "database_name": "contoso",
    "block_id": 0,
    "hash": "0x6D7D609DE43DDBF84A0346463D6F93CA979846CD5609E02E4FFC96338FC64DD5",
    "last_transaction_commit_time": "2020-10-06T16:50:55.1066667",
    "digest_time": "2020-10-07T01:13:23.3601279"
}

权限

允许具有公共角色的用户执行此存储过程