sys.sp_verify_database_ledger (Transact-SQL)
Si applica a: SQL Server 2022 (16.x) Database Azure SQL Istanza gestita di SQL di Azure
Verifica il libro mastro del database e i ledgger di tabella. Per ogni riga nella sys.database_ledger
vista, la stored procedure:
- Ricompila un valore archiviato nella colonna previous_block_hash della riga.
- Controlla se il valore ricalcolate corrisponde al valore attualmente archiviato nella colonna previous_block_hash.
- Se l'elenco specificato di digest contiene un digest per il blocco libro mastro rappresentato dalla riga, verifica che il valore ricomputto corrisponda all'hash nel digest.
- Se si specifica un nome di tabella libro mastro usando l'argomento
table_name
, la stored procedure verifica un hash di tabella per la tabella specificata, se presente nella colonna table_hashes disys.database_ledger
. In caso contrario, verifica tutti gli hash di tabella esistenti nella colonna table_hashes di , ad eccezione degli hash disys.database_ledger
tabella per le tabelle non esistenti (eliminate). Quando si verifica un hash di tabella per una tabella libro mastro, la stored procedure:- Analizza la tabella di cronologia della tabella libro mastro per ricompilare l'hash della tabella, ovvero un hash di tutte le righe aggiornate dalla transazione rappresentata dalla riga corrente nella
sys.database_ledger
tabella libro mastro. - Controlla se l'hash della tabella ricalcolate corrisponde al valore archiviato nella colonna table_hashes di
sys.database_ledger
per la tabella libro mastro specificata.
- Analizza la tabella di cronologia della tabella libro mastro per ricompilare l'hash della tabella, ovvero un hash di tutte le righe aggiornate dalla transazione rappresentata dalla riga corrente nella
Inoltre, la stored procedure verifica che tutti gli indici non cluster siano coerenti con la tabella libro mastro specificata. Se non viene specificata alcuna tabella libro mastro, verifica tutti gli indici non cluster per ogni tabella libro mastro esistente a cui viene fatto riferimento nella colonna table_hashes in qualsiasi riga di sys.database_ledger
.
Per altre informazioni sul libro mastro del database, vedere Libro mastro.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_verify_database_ledger
[ @digests = ] 'digests'
[ , [ @table_name = ] 'table_name' ]
Argomenti
[ @digests = ] 'digests'
Documento JSON contenente un elenco di digest delle transazioni, ognuno dei quali è stato ottenuto eseguendo una query sulla sys.database_ledger_latest_digest
vista. Il documento JSON deve contenere almeno un digest.
[ @table_name = ] 'table_name'
Nome della tabella da verificare.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
Una riga, con una colonna denominata last_verified_block_id
.
Autorizzazioni
Richiede l'autorizzazione VIEW LEDGER CONTENT .