Partilhar via


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:

  1. Recalcula um valor armazenado na coluna previous_block_hash da linha.
  2. Verifica se o valor recalculado corresponde ao valor armazenado no momento na coluna previous_block_hash.
  3. 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.
  4. 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 de sys.database_ledger. Caso contrário, ele verificará todos os hashes de tabela existentes na coluna table_hashes de , exceto hashes de sys.database_ledgertabela para tabelas não existentes (descartadas). Ao verificar um hash de tabela para uma tabela contábil, o procedimento armazenado:
    1. 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.
    2. Verifica se o hash da tabela recalculada corresponde ao valor armazenado na coluna table_hashes da sys.database_ledger tabela contábil fornecida.

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.