Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2022 (16.x) dan versi
yang lebih baru Azure SQL Database
Azure SQL Managed Instance
Memverifikasi ledger database dan ledger tabel. Untuk setiap baris dalam sys.database_ledger tampilan, prosedur tersimpan:
- Komputasi 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_nameargumen , prosedur tersimpansys.database_ledgermemverifikasi hash tabel untuk tabel yang ditentukan, jika ada di kolom table_hashes . Jika tidak, ia memverifikasi semua hash tabel yang ada di kolomsys.database_ledgertable_hashes , 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_ledgertabel ledger. - Memeriksa apakah hash tabel yang dikomputasi ulang cocok dengan nilai yang disimpan di kolom
sys.database_ledgertable_hashes untuk tabel ledger yang diberikan.
- 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
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 mana pun dari sys.database_ledger.
Untuk informasi selengkapnya tentang ledger database, lihat Ledger.
Sintaks
sp_verify_database_ledger
[ @digests = ] 'digests'
[ , [ @table_name = ] 'table_name' ]
Argumen
Penting
Argumen untuk prosedur tersimpan yang diperluas harus dimasukkan dalam urutan tertentu seperti yang dijelaskan di bagian Sintaks. Jika parameter dimasukkan di luar urutan, pesan kesalahan terjadi.
[ @digests = ] 'hash'
Dokumen JSON yang berisi daftar hash transaksi, yang masing-masing telah diperoleh dengan mengkueri sys.database_ledger_latest_digest tampilan. 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
Satu baris, dengan satu kolom disebut last_verified_block_id.
Izin
Memerlukan izin TAMPILKAN KONTEN LEDGER.