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 文档:

database_name - 数据库的名称。
block_id – 与在中 sys.database_ledger_blocks最后一行block_id相同。
hash – 表示最后 sys.database_ledger_blocks一行的 SHA-256 哈希的十六进制字符串。
last_transaction_commit_time - 与 ISO 8601 格式的最后一行 sys.database_ledger_blocks 中的commit_time相同。
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"
}

权限

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