Compartilhar via


sys.sp_verify_database_ledger (Transact-SQL)

Aplica-se a: SQL Server 2022 (16.x) Banco de Dados SQL do AzureInstâ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

Importante

Os argumentos para procedimentos armazenados estendidos devem ser inseridos na ordem específica, conforme descrito na seção sintaxe. Se os parâmetros forem inseridos fora de ordem, ocorrerá uma mensagem de erro.

[ @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.