Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2022 (16.x) e versões
posteriores Azure SQL Database
Azure SQL Managed Instance
Verifica o livro-razão do banco de dados e os livros contábeis de tabelas. Para cada linha na visualização sys.database_ledger, o procedimento armazenado:
- Recalcula um valor armazenado na coluna previous_block_hash da linha.
- Verifica se o valor recalculado corresponde ao valor atualmente armazenado na coluna previous_block_hash.
- Se a lista especificada de resumos contiver um resumo para o bloco contábil 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 argumento
table_name, 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 verifica todos os hashes de tabela existentes na coluna table_hashes desys.database_ledger, exceto hashes de 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 em
sys.database_ledgerna tabela contábil. - Verifica se o hash da tabela recalculada corresponde ao valor armazenado na coluna table_hashes de
sys.database_ledgerpara a 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 em
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 livro-razão do banco de dados, consulte Ledger.
Transact-SQL convenções de sintaxe
Sintaxe
sp_verify_database_ledger
[ @digests = ] 'digests'
[ , [ @table_name = ] 'table_name' ]
Argumentos
Importante
Os argumentos para procedimentos armazenados estendidos devem ser inseridos na ordem específica, conforme descrito na seção de sintaxe. Se os parâmetros forem inseridos fora de ordem, ocorrerá uma mensagem de erro.
[ @digests = ] 'digere'
Um documento JSON contendo uma lista de resumos de transações, cada um dos quais foi obtido consultando a visualização sys.database_ledger_latest_digest. O documento JSON deve conter pelo menos um resumo.
@table_name [ = ] «table_name»
O nome da tabela que você deseja verificar.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Conjunto de resultados
Uma linha, com uma coluna chamada last_verified_block_id.
Permissões
Requer a permissão VIEW LEDGER CONTENT.
Conteúdo relacionado
- de verificação da base de dados
- Verificar uma tabela contábil para detetar de adulteração
- Visão geral do Ledger