Partilhar via


sys.sp_generate_database_ledger_digest (Transact-SQL)

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores Azure SQL DatabaseAzure SQL Managed Instance

Gera o digest do livro maior, que é o hash do último bloco em sys.database_ledger_blocks. Se o último bloco estiver aberto (as transações são agrupadas no bloco mas não foi gerado o hash final do bloco), este procedimento armazenado fecha o bloco e gera o hash. As transações futuras serão então atribuídas ao bloco seguinte.

Transact-SQL convenções de sintaxe

Sintaxe

sys.sp_generate_database_ledger_digest

Arguments

Nenhum.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

Os resultados são devolvidos numa coluna chamada latest_digest, que é um documento JSON contendo os seguintes dados:

Propriedade JSON Description
database_name O nome do banco de dados.
block_id Igual à block_id última fila em sys.database_ledger_blocks.
hash Uma cadeia hexadecimal que representa o hash SHA-256 da última linha em sys.database_ledger_blocks.
last_transaction_commit_time Igual à commit_time última linha sys.database_ledger_blocks no formato ISO 8601.
digest_time A altura em que o digest foi gerado no formato ISO 8601.

Aqui está um exemplo do documento 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"
}

Permissions

Os utilizadores com o papel público podem executar este procedimento armazenado.