Saya memiliki SQL 2012 dengan SP1 diinstal di komputer saya. Saya membuat cadangan dari database test.bak
.
Saya memiliki database dengan nama test2
yang merupakan database yang sama, tetapi datanya berubah.
Saya ingin memulihkan test.bak
melalui test2
database.
Saya selalu mendapatkan kesalahan:
Kesalahan 3154: Kumpulan cadangan menyimpan cadangan dari basis data selain dari basis data yang ada.
Saya mencoba:
Saya langsung klik
test2 -> Restore database -> From device
Saya memilih
test.bak
dan memeriksaWith Replace
tetapi saya mendapatkan kesalahan.Kemudian saya mencoba mengklik kanan
test2 -> Restore file and filegroups
Saya memilih
test.bak
dan memeriksaWith Replace
tetapi saya mendapatkan kesalahan.
Saya bisa menghapus database lama saya dan kemudian mengembalikan cadangan saya dengan nama yang tepat, tetapi ketika saya menggunakan SQL 2008, saya tidak punya masalah memulihkan database yang sudah ada.
Tampaknya karena saya menggunakan SQL2012, saya mendapatkan banyak kesalahan ini!
sumber
1) Gunakan
WITH REPLACE
saat menggunakanRESTORE
perintah.2)
DROP
database lama yang bertentangan dan mengembalikan lagi menggunakanRESTORE
perintah.Tidak ada masalah dengan versi SQL Server. Seperti yang ditunjukkan Aaron, saya juga dapat memulihkan database dari 2008 hingga 2012 dan versi yang sama juga.
sumber
Anda sedang memulihkan database yang salah. Jangan menganggapnya sebagai "memulihkan
test2
dengan cadangan daritest
", pikirkan "pulihkan cadangantest
namun ubah nama menjaditest2
". Anda dapat memilih tugas pemulihan daritest
dan memasukkantest2
bidang "Ke basis data:".Seperti yang disebutkan Harun, pelajari naskahnya alih-alih mengandalkan penyihir - lebih jelas apa yang terjadi di mana.
sumber
Anda masih bisa melakukan ini tetapi membutuhkan langkah ekstra.
Buka dialog pengembalian, buat pilihan seperti biasa sesuai kebiasaan 2008. Jika database asli adalah DB, maka pilih perangkat DB.bak untuk Sumber dan ubah nama Tujuan menjadi DBTest. Kemudian di bawah Select A Page (sudut kiri atas) Anda di mana Anda melihat General / Files / Options - pilih Files. Lihat di kotak. Anda akan melihat kolom untuk Nama File Asli dan Mengembalikan Sebagai Nama File. Secara manual memperluas yang terakhir dan ketik nama baru (jika nama asli dari database adalah DB dan Anda ingin membuat DBTest maka ubah .... \ DB.mdf ke ... \ DBTest.mdf, dll.)
Ini akan menerima file .bak Anda untuk DB sebagai sumber dan DBTest sebagai tujuannya. Anda mungkin juga perlu pergi ke halaman Opsi dan memilih Dengan Ganti. Saya perlu karena alasan lain, jadi saya tidak bisa mengujinya tanpa opsi ini.
sumber
Jawaban yang benar, seperti yang ditunjukkan, adalah menggunakan
WITH REPLACE
opsi.Saya hanya ingin menunjukkan bahwa Anda bisa mendapatkan kesalahan dalam pertanyaan bahkan ketika menggunakan
WITH REPLACE
, jika Anda mencoba untuk memulihkan dari cadangan diferensial (tanpa yang penuh).sumber
Semoga ini berhasil.
sumber
Tolong hentikan server Anda yang berjalan dan kemudian kembalikan db, itu akan membantu Anda. :)
sumber