Поделиться через


sys.sp_generate_database_ledger_digest (Transact-SQL)

Область применения: SQL Server 2022 (16.x) База данных SQL Azure Управляемый экземпляр SQL Azure

Создает дайджест реестра, который является хэшем последнего блока в sys.database_ledger_blocks. Если последний блок открыт (транзакции группируются в блок, но не создан хэш окончательного блока), эта хранимая процедура закрывает блок и создает хэш. Затем последующие транзакции будут назначаться следующему блоку.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sys.sp_generate_database_ledger_digest

Аргументы

Нет.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Результаты возвращаются в столбце с именем latest_digest, который представляет собой документ JSON, содержащий следующие данные:

Свойство JSON Description
database_name Имя базы данных.
block_id То же, что block_id и из последней строки в sys.database_ledger_blocks.
hash Шестнадцатеричная строка, представляющая хэш SHA-256 последней строки.sys.database_ledger_blocks
last_transaction_commit_time commit_time Аналогично последней строке в sys.database_ledger_blocks формате ISO 8601.
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"
}

Разрешения

Эту хранимую процедуру могут выполнять пользователи с ролью public.