Megosztás a következőn keresztül:


sys.sp_verify_database_ledger (Transact-SQL)

A következőkre vonatkozik: Sql Server 2022 (16.x) és újabb verziók Azure SQL DatabaseFelügyelt Azure SQL-példány

Ellenőrzi az adatbázis-főkönyvet és a táblanaplókat. A sys.database_ledger nézetben lévő összes sor esetében a tárolt eljárás:

  1. A sor previous_block_hash oszlopában tárolt érték újrafordítása.
  2. Ellenőrzi, hogy az újrafordított érték megegyezik-e a previous_block_hash oszlopban jelenleg tárolt értékkel.
  3. Ha a megadott kivonatlista kivonatot tartalmaz a sor által képviselt főkönyvblokkhoz, ellenőrzi, hogy az újrafordított érték megegyezik-e az kivonat kivonatával.
  4. Ha egy főkönyvtábla neve a table_name argumentum használatával van megadva, a tárolt eljárás ellenőrzi a megadott tábla kivonatát, ha az sys.database_ledgertable_hashes oszlopában található. Ellenkező esetben ellenőrzi a sys.database_ledgertable_hashes oszlopában meglévő összes táblakivonatot, kivéve a nem meglévő (elvetett) táblák táblakivonatait. A tábla kivonatának ellenőrzésekor a tárolt eljárás a következő:
    1. Megvizsgálja a főkönyvtábla előzménytábláját a tábla kivonatának újrafordításához, amely a tranzakció által frissített összes sor kivonata, amelyet a tranzakció sys.database_ledger aktuális sora jelöl a főkönyvtáblában.
    2. Ellenőrzi, hogy az újrafordított tábla kivonata megegyezik-e az adott főkönyvi tábla sys.database_ledger table_hashes oszlopában tárolt értékkel.

Emellett a tárolt eljárás ellenőrzi, hogy az összes nem konfigurált index összhangban van-e a megadott főkönyvi táblával. Ha nincs megadva a főkönyvtábla, a sys.database_ledgerbármely sorában ellenőrzi a table_hashes oszlopban hivatkozott összes meglévő főkönyvtábla nem konklúziós indexét.

További információ az adatbázis-főkönyvről: Ledger.

Transact-SQL szintaxis konvenciói

Szintaxis

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

Érvek

Fontos

A kiterjesztett tárolt eljárások argumentumait a Szintaxis szakaszban leírt sorrendben kell megadni. Ha a paraméterek sorrenden kívül vannak beírva, hibaüzenet jelenik meg.

[ @digests = ] 'megemészti'

Egy JSON-dokumentum, amely a tranzakciókivonatok listáját tartalmazza, amelyek mindegyike a sys.database_ledger_latest_digest nézet lekérdezésével lett lekért. A JSON-dokumentumnak legalább egy kivonatot tartalmaznia kell.

[ @table_name = ] 'table_name'

Az ellenőrizni kívánt tábla neve.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Eredményhalmaz

Egy sor, egy last_verified_block_idnevű oszlopmal.

Engedélyek

A LEDGER-TARTALOM MEGTEKINTÉSE engedélyre van szükség.