sys.sp_verify_database_ledger (Transact-SQL)
Aplica-se a: SQL Server 2022 (16.x) Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Verifica o razão do banco de dados e os razões de tabela. Para cada linha na exibição, o sys.database_ledger
procedimento armazenado:
- Recalcula um valor armazenado na coluna previous_block_hash da linha.
- Verifica se o valor recalculado corresponde ao valor armazenado no momento na coluna previous_block_hash.
- Se a lista especificada de resumos contiver um resumo para o bloco do razão que a linha representa, ele verificará se o valor recalculado corresponde ao hash no resumo.
- Se um nome de tabela contábil for especificado usando o
table_name
argumento, o procedimento armazenado verificará um hash de tabela para a tabela especificada, se ele existir na coluna table_hashes desys.database_ledger
. Caso contrário, ele verificará todos os hashes de tabela existentes na coluna table_hashes de , exceto hashes desys.database_ledger
tabela para tabelas não existentes (descartadas). Ao verificar um hash de tabela para uma tabela contábil, o procedimento armazenado:- Verifica a tabela de histórico da tabela contábil para recalcular o hash da tabela, que é um hash de todas as linhas atualizadas pela transação representada pela linha atual na
sys.database_ledger
tabela contábil. - Verifica se o hash da tabela recalculada corresponde ao valor armazenado na coluna table_hashes da
sys.database_ledger
tabela contábil fornecida.
- Verifica a tabela de histórico da tabela contábil para recalcular o hash da tabela, que é um hash de todas as linhas atualizadas pela transação representada pela linha atual na
Além disso, o procedimento armazenado verifica se todos os índices não clusterizados são consistentes com a tabela contábil especificada. Se nenhuma tabela contábil for especificada, ela verificará todos os índices não clusterizados para cada tabela contábil existente referenciada na coluna table_hashes em qualquer linha de sys.database_ledger
.
Para obter mais informações sobre o razão do banco de dados, confira Razão.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_verify_database_ledger
[ @digests = ] 'digests'
[ , [ @table_name = ] 'table_name' ]
Argumentos
[ @digests = ] 'digests'
Um documento JSON que contém uma lista de resumos de transação, cada um dos quais foi obtido consultando a sys.database_ledger_latest_digest
exibição. O documento JSON precisa conter pelo menos um resumo.
[ @table_name = ] 'table_name'
O nome da tabela que você deseja verificar.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Conjunto de resultados
Uma linha, com uma coluna chamada last_verified_block_id
.
Permissões
Exige a permissão VIEW LEDGER CONTENT.