Bagikan melalui


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:

  1. Tentukan versi Server B (Versi B), dengan menggunakan kueri berikut:

    SELECT @@VERSION;
    
  2. 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'

  3. Tinjau nilai SoftwareVersionMajorkolom , SoftwareVersionMinor, dan SoftwareVersionBuild 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.
  4. 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).

  5. 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:

      1. Di Panel Kontrol, pilih Program dan Fitur, lalu pilih Tampilkan pembaruan yang terinstal>.

      2. Temukan entri yang sesuai dengan masing-masing paket pembaruan yang lebih baru yang sesuai dengan Versi B.

      3. 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.

  6. (Disarankan) Perbarui Server B ke versi terbaru yang tersedia, lalu ambil cadangan baru database sistem Anda.

Lihat juga

Batasan pemulihan Database Sistem (SQL Server)

Memulihkan database master (Transact-SQL)

Cara Term mudah Untuk Membangun Kembali Database master