Udostępnij za pośrednictwem


sys.sp_verify_database_ledger (Transact-SQL)

Dotyczy: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed Instance

Weryfikuje rejestr bazy danych i rejestry tabel. Dla każdego wiersza w widoku sys.database_ledger procedura składowana:

  1. Ponownie skompiluj wartość przechowywaną w kolumnie previous_block_hash wiersza.
  2. Sprawdza, czy ponownie skompilowana wartość jest zgodna z wartością przechowywaną obecnie w kolumnie previous_block_hash.
  3. Jeśli określona lista skrótów zawiera skrót dla bloku rejestru reprezentowanego przez wiersz, sprawdza, czy ponownie skompilowana wartość jest zgodna z skrótem w skrótie.
  4. Jeśli nazwa tabeli rejestru jest określona przy użyciu argumentu table_name, procedura składowana weryfikuje skrót tabeli dla określonej tabeli, jeśli istnieje w kolumnie table_hashes sys.database_ledger. W przeciwnym razie sprawdza wszystkie skróty tabeli istniejące w kolumnie table_hashes sys.database_ledger, z wyjątkiem skrótów tabeli dla nieistnienych (porzuconych) tabel. Podczas weryfikowania skrótu tabeli dla tabeli rejestru procedura składowana:
    1. Skanuje tabelę historii tabeli rejestru, aby ponownie skompilować skrót tabeli, który jest skrótem wszystkich wierszy zaktualizowanych przez transakcję reprezentowaną przez bieżący wiersz w sys.database_ledger w tabeli rejestru.
    2. Sprawdza, czy ponownie skompilowany skrót tabeli jest zgodny z wartością przechowywaną w kolumnie table_hashes sys.database_ledger dla danej tabeli rejestru.

Ponadto procedura składowana sprawdza, czy wszystkie indeksy nieklastrowane są zgodne z określoną tabelą rejestru. Jeśli nie określono tabeli rejestru, sprawdza wszystkie indeksy nieklastrowane dla każdej istniejącej tabeli rejestru, do których odwołuje się kolumna table_hashes w dowolnym wierszu sys.database_ledger.

Aby uzyskać więcej informacji na temat rejestru bazy danych, zobacz Rejestr.

Transact-SQL konwencje składni

Składnia

sp_verify_database_ledger
    [ @digests = ] 'digests'
    [ , [ @table_name = ] 'table_name' ]

Argumenty

Ważny

Argumenty dla rozszerzonych procedur składowanych należy wprowadzić w określonej kolejności zgodnie z opisem w sekcji składni. Jeśli parametry są wprowadzane poza kolejnością, wystąpi komunikat o błędzie.

[ @digests = ] 'skróty'

Dokument JSON zawierający listę skrótów transakcji, z których każdy został uzyskany przez wykonywanie zapytań w widoku sys.database_ledger_latest_digest. Dokument JSON musi zawierać co najmniej jeden skrót.

[ @table_name = ] 'table_name'

Nazwa tabeli, którą chcesz zweryfikować.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Zestaw wyników

Jeden wiersz z jedną kolumną o nazwie last_verified_block_id.

Uprawnienia

Wymaga uprawnienia WYŚWIETL ZAWARTOŚĆ REJESTRU.