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:
- Mengolah ulang nilai yang disimpan di kolom previous_block_hash baris.
- Memeriksa apakah nilai yang dikomputasi ulang cocok dengan nilai yang saat ini disimpan di kolom previous_block_hash.
- Jika daftar hash yang ditentukan berisi hash untuk blok ledger yang diwakili baris, itu memverifikasi nilai yang dikomputasi ulang cocok dengan hash dalam hash.
- 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:- 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.
- 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
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 .