Saya memiliki database SQL Server 2012 dengan filestream diaktifkan. Namun, ketika saya mencadangkannya dan mencoba mengembalikannya pada contoh SQL Server 2012 lainnya (di komputer lain), saya cukup menerima pesan ini bahwa:
Tidak ada cadangan yang dipilih untuk dipulihkan.
Bahkan tidak ada satu baris penjelasan pun. Ada apa di sini?
Setiap database lain tanpa filestream adalah OK dan dapat dipulihkan dengan sukses. Apakah ini terkait dengan filestream? Haruskah saya menginstal perbaikan terbaru atau sesuatu seperti itu.
sql-server
restore
sql-server-2012
Saeed Neamati
sumber
sumber
Jawaban:
Saya punya masalah ini dan ternyata saya mencoba mengembalikan ke versi SQL yang salah. Jika Anda ingin informasi lebih lanjut tentang apa yang terjadi, coba pulihkan database menggunakan SQL berikut:
Itu seharusnya memberi Anda pesan kesalahan yang Anda perlu debug ini.
sumber
No backupset selected to be restored.
RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Masalah saya akhirnya adalah izin . Saya di mesin dev dan disalin melalui Homegroup. Entah bagaimana, mungkin berdasarkan tempat saya menyalin file, izin menjadi kacau dan Management Studio tidak bisa membaca file. Karena ini adalah dev, saya hanya memberikan izin Semua Orang ke file bak dan kemudian dapat berhasil mengembalikan melalui GUI.
sumber
.bak
file, yang dibuat oleh layanan web unggah file, yang berjalan di bawah IISApplicationPoolIdentity
Saat berlari:
Itu memberi saya kesalahan berikut:
Ternyata Anda tidak dapat mengambil DB dari versi SQL yang lebih tinggi ke versi yang lebih rendah, bahkan jika tingkat kompatibilitasnya sama pada DB sumber dan tujuan. Untuk memeriksa jalankan versi SQL:
Untuk melihat perbedaannya, cukup buat DB di server SQL sumber Anda dan coba lakukan pemulihan dari file cadangan Anda, ketika Anda melakukan ini dengan SSMS, setelah Anda mengambil file cadangan itu akan menampilkan beberapa info tentang itu sebagai yang ditentang ketika Anda buka dari server versi yang lebih rendah yang hanya akan mengatakan "tidak ada cadangan yang dipilih untuk dipulihkan"
Jadi, jika Anda masih perlu memindahkan data Anda ke versi SQL yang lebih rendah maka periksa ini .
sumber
Jalankan SQL Server Management Studio sebagai administrator (klik kanan pintasan / exe, lalu pilih "Run as Administrator"), kemudian coba pulihkan.
sumber
Saya pikir saya tidak cukup bodoh untuk mencampur versi - namun, saya tidak menyadari bahwa pada server baru saya, contoh SQL Server 2005 sudah diinstal sejak lahir
SQLEXPRESS
. Ketika mencoba mengembalikan SQL Server 2008 R2 saya membuat cadangan database SSMS 2012 keSQLEXPRESS
instance, daftar kumpulan cadangan kosong.Akhirnya saya menyadari bahwa
SQLEXPRESS
instance pada server bukan instance 2012, tetapi 2005. Saya memutus dan terhubung ke instance 2012 aktual (dalam kasus saya bernamaSQLEXPRESS2012
), dan itu (jelas) bekerja.sumber
Masalah saya adalah bahwa pengguna saya berada di grup Builtin-Administrators dan tidak ada pengguna dengan peran Sysadmin di SQL Server. Saya baru saja memulai Studio Manajemen sebagai Administrator. Dengan cara ini dimungkinkan untuk mengembalikan database.
sumber
FYI: Saya menemukan bahwa ketika memulihkan, saya harus menggunakan kredensial (Pengguna SQL) yang sama untuk masuk ke SSMS. Saya pertama kali mencoba pemulihan menggunakan akun Windows Authentication.
sumber
Dalam kasus saya, itu adalah izin dan fakta bahwa saya menggunakan "Restore Files and Filegroups ..." daripada hanya "Restore Database ...".
Itu membuat perbedaan.
sumber
Bagi saya ini adalah masalah hak istimewa pengguna. Saya masuk dengan pengguna sa dan berfungsi dengan baik.
sumber
Bagi saya masalahnya adalah memiliki file .BAK yang terletak di folder terenkripsi di server. Bahkan dengan hak Admin penuh, saya tidak pernah bisa mendapatkan SSMS untuk membaca file. Memindahkan .BAK ke folder yang tidak terenkripsi memecahkan masalah saya. Perhatikan bahwa setelah memindahkan file Anda mungkin harus juga mengubah properti pada file yang sebenarnya untuk menghapus enkripsi (klik kanan, properti, lanjutan, hapus centang "mengenkripsi konten untuk mengamankan data".
sumber
Saya memiliki masalah yang sama dengan SQL Server 2014 (Management Studio tidak bisa melihat folder tempat file cadangan berada, ketika mencoba untuk menemukannya untuk operasi Pulihkan). Utas ini menyimpan jawaban yang memecahkan masalah saya. Mengutip:
Semoga itu bisa membantu seseorang.
sumber
Dalam kasus saya (instalasi sql server baru, pengguna yang baru dibuat), pengguna saya tidak memiliki izin yang diperlukan. Saya masuk ke Studio Manajemen sebagai sa , lalu pergi ke Keamanan / Masuk, klik kanan nama pengguna saya, Properti, lalu di bagian Peran Server yang saya periksa
sysadmin
.sumber
Bagi saya, itu karena file cadangan masih terbuka oleh proses lain. Berikut log kejadiannya:
BackupDiskFile :: OpenMedia: Perangkat cadangan 'X: \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak' gagal dibuka. Kesalahan sistem operasi 32 (Proses tidak dapat mengakses file karena sedang digunakan oleh proses lain.).
Cukup menutup dan membuka kembali Sql Server Management Studio menyelesaikannya (jadi jelas itu ssms.exe yang memiliki pegangan ..)
sumber
Alasan potensial lain untuk masalah ini tampaknya adalah Google Drive. Google Drive sedang mengompresi file bak atau sesuatu, jadi jika Anda ingin mentransfer cadangan basis data melalui Google Drive, tampaknya Anda harus men-zipnya terlebih dahulu.
sumber
Jika Anda ingin mengganti database yang ada sepenuhnya gunakan opsi WITH REPLACE :
sumber
Dalam kasus saya, itu adalah masalah izin.
Untuk pengguna Windows, yang saya gunakan tidak memiliki
dbcreator
peran.Jadi saya mengikuti langkah-langkah di bawah ini
sa
ke server SQLSecurity
di Object ExplorerLogins
Server Roles
dariSelect a page
opsidbcreator
peran untuk penggunasumber
Menggunakan SQL Server 2012 Express.
Kesalahan saya (dari SQL Manager - Pulihkan Database Dialog):
No backupset selected to be restored
Lebih lanjut, tidak ada set cadangan yang ditampilkan dalam daftar untuk dipilih.
Masalahnya adalah bahwa saya telah memindahkan 1 dari 5 file cadangan ke folder di mana pengguna layanan masuk SQL Server tidak memiliki izin - saya mencoba menambahkan pengguna itu, tetapi tidak bisa mendapatkan pengguna NT Layanan \ MSSQL $ SQLEXPRESS ke dalam keamanan daftar.
Saya memindahkan file di bawah folder Documents untuk pengguna layanan, dan itu memungkinkannya untuk membaca semua file yang saya pilih - 4 pada saat itu - dan kesalahannya berubah menjadi "set media hilang" - kemudian saya mencari-cari file cadangan lain , dan ketika saya menambahkan bahwa saya dapat memulihkan.
Jawaban dalam pertanyaan ini membantu saya mencari di tempat yang tepat dan mencari jalan keluar untuk solusi.
sumber
Bagi saya, itu masalah izin. Saya menginstal SQL server menggunakan akun pengguna lokal dan sebelum bergabung dengan domain perusahaan saya. Kemudian, saya mencoba memulihkan database menggunakan akun domain saya yang tidak memiliki izin yang diperlukan untuk memulihkan database SQL server. Anda perlu memperbaiki izin untuk akun domain Anda dan memberikan izin admin sistem pada contoh server SQL yang Anda miliki.
sumber
Saya mendapat pesan kesalahan yang sama meskipun saya membuat cadangan dan memulihkan pada mesin yang sama.
Masalahnya dari sini: ketika cadangan, saya punya 2 item di kotak tujuan.
Jadi perbaikannya adalah: pastikan hanya 1 item di kotak 'tujuan'. Hapus semua yang lain jika ada.
sumber
Saya telah mengalami masalah yang sama. Jalankan SSMS sebagai administrator kemudian klik kanan dan lakukan pemulihan database. Harus bekerja
sumber
Saya pikir saya mendapatkan penghargaan untuk alasan paling sulit untuk mendapatkan kesalahan ini. Dalam dialog Pulihkan Database, dropdown database di bawah Sumber berwarna abu-abu dan saya pikir itu dinonaktifkan. Saya melewatkan ke dropdown database di bawah Tujuan berpikir itu adalah sumber dan membuat pilihan. Melakukan ini akan menyebabkan pesan kesalahan ini ditampilkan.
sumber