MSSQLSERVER_3168
Berlaku untuk: SQL Server
Detail
Atribut | Nilai |
---|---|
Nama Produk | SQL Server |
ID Peristiwa | 3168 |
Sumber Kejadian | MSSQLSERVER |
Komponen | SQLEngine |
Nama Simbolis | LDDB_SYSTEMWRONGVER |
Teks Pesan | Cadangan database sistem pada perangkat %ls tidak dapat dipulihkan karena dibuat oleh versi server yang berbeda (%ls) dari server ini (%ls). |
Penjelasan
Anda tidak dapat memulihkan cadangan database sistem (master, model, atau msdb) pada build server yang berbeda dari build tempat cadangan awalnya dibuat.
Catatan
Menginstal pembaruan layanan seperti pembaruan kumulatif atau paket layanan atau GDR mengubah nomor build server. Build server selalu bertahap.
Kemungkinan penyebab
Skema database untuk database sistem mungkin diubah di seluruh build server. Untuk memastikan bahwa perubahan skema tidak menyebabkan inkonsistensi, pernyataan RESTORE membandingkan nomor build server file cadangan dengan nomor build server tempat Anda mencoba memulihkan cadangan. Jika build berbeda, pernyataan mengeluarkan pesan kesalahan "3168" , dan operasi pemulihan berakhir secara tidak normal.
Beberapa skenario di mana masalah ini mungkin terjadi termasuk yang berikut ini:
Anda mencoba memulihkan database sistem di Server A dari cadangan yang diambil di Server B. Server A dan B berada di build server yang berbeda. Misalnya, Server A mungkin berada di build versi rilis asli dan Server B mungkin berada di build paket layanan 1 (SP1).
Anda mencoba memulihkan database sistem dari cadangan yang diambil di server yang sama. Namun, server menjalankan build yang berbeda ketika proses pencadangan berjalan. Artinya, server ditingkatkan sejak cadangan dibuat.
Tindakan pengguna
Untuk mengatasi masalah ini, ikuti langkah-langkah berikut:
Catatan
Untuk prosedur berikut, Server A adalah server berbasis SQL Server sumber tempat pencadangan diambil, dan Server B adalah server berbasis SQL Server tujuan yang Anda coba pulihkan cadangan Anda:
Tentukan versi Server B (Versi B), dengan menggunakan kueri berikut:
SELECT @@VERSION;
Jalankan kueri yang menyerupan berikut ini untuk menentukan versi SQL Server yang berjalan saat cadangan sumber diambil (Versi A):
RESTORE headeronly FROM disk = 'c:\sqlbackups\masterdb.bak'
Tinjau nilai
SoftwareVersionMajor
kolom ,SoftwareVersionMinor
, danSoftwareVersionBuild
untuk menentukan build server sumber yang digunakan saat cadangan diambil. Misalnya, asumsikan bahwa nilainya adalah sebagai berikut:- SoftwareVersionMajor: 15
- SoftwareVersionMinor: 0
- SoftwareVersionBuild: 4236 Dalam hal ini, versi SQL Server sumber ketika cadangan diambil adalah 15.0.4236.
Gunakan tabel daftar versi lengkap SQL Server atau lembar bentang build Excel untuk menentukan versi SQL Server yang sesuai dengan build. Misalnya, 15.0.4236 memetakan ke SQL Server 2019 CU16+GDR (Versi A).
Gunakan salah satu opsi berikut ini:
Jika Versi A lebih besar dari Versi B, gunakan informasi yang ada di Pembaruan terbaru dan riwayat versi untuk SQL Server untuk meningkatkan Server B ke build yang sama dengan Versi A.
Jika Versi A lebih rendah dari Versi B, hapus sementara pembaruan nanti dengan menggunakan langkah-langkah berikut:
Di Panel Kontrol, pilih Program dan Fitur, lalu pilih Tampilkan pembaruan yang terinstal>.
Temukan entri yang sesuai dengan masing-masing paket pembaruan yang lebih baru yang sesuai dengan Versi B.
Tekan dan tahan (atau klik kanan) entri, lalu pilih Hapus instalan.
Setelah Anda memverifikasi bahwa Versi B sama dengan Versi A, coba lagi operasi pemulihan database master di Server B.
(Disarankan) Perbarui Server B ke versi terbaru yang tersedia, lalu ambil cadangan baru database sistem Anda.
Lihat juga
Batasan pemulihan Database Sistem (SQL Server)