sys.sp_verify_database_ledger (Transact-SQL)

Berlaku untuk:Database Azure SQL SQL Server 2022 (16.x)

Memverifikasi ledger database dan ledger tabel. Untuk setiap baris dalam tampilan sys.database_ledger, prosedur tersimpan:

  1. Mengolah ulang nilai yang disimpan di kolom previous_block_hash baris.
  2. Memeriksa apakah nilai yang dikomputasi ulang cocok dengan nilai yang saat ini disimpan di kolom previous_block_hash.
  3. Jika daftar hash yang ditentukan berisi hash untuk blok ledger yang diwakili baris, itu memverifikasi nilai yang dikomputasi ulang cocok dengan hash dalam hash.
  4. Jika nama tabel ledger ditentukan menggunakan table_name argumen , prosedur tersimpan memverifikasi hash tabel untuk tabel yang ditentukan, jika ada di kolom table_hashes sys.database_ledger. Jika tidak, ini memverifikasi semua hash tabel yang ada di kolom table_hashes sys.database_ledger, kecuali hash tabel untuk tabel yang tidak ada (dijatuhkan). Saat memverifikasi hash tabel untuk tabel ledger, prosedur tersimpan:
    1. Memindai tabel riwayat tabel ledger untuk mengolah ulang hash tabel, yang merupakan hash dari semua baris yang diperbarui oleh transaksi yang diwakili oleh baris saat ini dalam sys.database_ledger dalam tabel ledger.
    2. Memeriksa apakah hash tabel yang dikomputasi ulang cocok dengan nilai yang disimpan di kolom table_hashes sys.database_ledger untuk tabel ledger yang diberikan.

Selain itu, prosedur tersimpan memverifikasi semua indeks non-kluster konsisten dengan tabel ledger yang ditentukan. Jika tidak ada tabel ledger yang ditentukan, tabel tersebut memverifikasi semua indeks non-kluster untuk setiap tabel ledger yang ada yang direferensikan dalam kolom table_hashes di baris sys.database_ledger apa pun.

Untuk informasi selengkapnya tentang ledger database, lihat Ledger

Konvensi sintaks Transact-SQL

Sintaks

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

Argumen

[ @digests = ] 'hash'

Dokumen JSON yang berisi daftar hash transaksi, yang masing-masing telah diperoleh dengan mengkueri tampilan sys.database_ledger_latest_digest. Dokumen JSON harus berisi setidaknya satu hash.

[ @table_name = ] 'table_name'

Nama tabel yang ingin Anda verifikasi.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

1 baris dengan 1 kolom disebut: last_verified_block_id

Izin

Memerlukan izin LIHAT KONTEN LEDGER .

Lihat juga