“Geri yüklenecek yedekleme kümesi seçilmedi” SQL Server 2012


150

Ben filestream etkin bir SQL Server 2012 veritabanı var. Ancak, yedeklediğimde ve başka bir SQL Server 2012 örneğinde (başka bir makinede) geri yüklemeye çalıştığımda, şu iletiyi alıyorum:

Geri yüklenecek yedek kümesi seçilmedi.

Tek bir açıklama bile yok. Burada yanlış olan ne?

Filestream içermeyen diğer tüm veritabanları uygundur ve başarıyla geri yüklenebilir. Filestream ile ilgili bir şey mi var? Bir düzeltme veya bunun gibi bir şey yüklemem gerekir mi?


1
Henüz çözmedi. SQL Server yapılandırmasında sorunlar var gibi görünüyor. Bence işler bundan daha kolay olmalı.
Saeed Neamati

1
Geri yüklemeyi denemek için kullandığınız T-SQL'i sağlayabilir misiniz?
Ben Thul

3
SSMS'nin GUI'sini kullanıyorum.
Saeed Neamati

Bu şekilde bile olsa, pencerenin üst kısmına yakın bir yerde bir "script" düğmesi bulunmalıdır. Her şeyi geri yükleme için ayarlanacağını düşündüğünüz şekilde ayarladıktan sonra, "ok" yerine buna basın ve geri yükleme için sunucuya karşı çalıştırılacak T-SQL'i getirecektir.
Ben Thul

1
WS 2012 R2'de (çalışma grupları) SQL 2014 Standard (bağımsız) ile de benim için izin verildi, ancak izinlerin alınması için iki kez yeniden başlatılması gerekiyordu. Buna değer için .. Umarım hepiniz çözülmüş olursunuz.
BaldEagle

Yanıtlar:


177

Bu sorunu yaşadım ve SQL'in yanlış sürümüne geri yüklemeye çalıştığım ortaya çıktı. Neler olduğu hakkında daha fazla bilgi istiyorsanız, aşağıdaki SQL'i kullanarak veritabanını geri yüklemeyi deneyin:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

Bu, hata ayıklamak için gereken hata iletisini vermelidir.


Yukarıdaki SQL'i kullanarak geri yüklemeyi denediğinizde hangi hata iletisini alıyorsunuz?
user489998

T-SQL komut dosyası kullanarak DB geri yükleme işi yapacak gibi görünüyor. Bence filigran verilerini yedeklemediğimiz için kullanıcı arayüzü bunu kaldıramıyor.
Saeed Neamati

1
Güzel, ham SQL yaklaşımını seviyorum. `` Medya setinde 2 medya ailesi var, ancak yalnızca 1 tane var. Tüm üyeler sağlanmalıdır. `` Bu, yedekleme kaynağının yedekleme hedefinden farklı SQL Server sürümü olduğu anlamına mı geliyor? UI yaklaşımı ile denediğimde ("Restore"), üstte mesaj alıyorumNo backupset selected to be restored.
The Red Pea


Mevcut veritabanını tamamen değiştirmek istiyorsanız, REPLACE İLE seçeneğini kullanın RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Iasmini Gomes

63

Benim sorunum izin oldu . Bir geliştirme makinesindeyim ve Homegroup üzerinden kopyalandım. Her nasılsa, muhtemelen dosyayı nereye kopyaladığım temelinde, izinler dağıldı ve Management Studio dosyayı okuyamadı. Bu dev olduğundan sadece bak dosyasına Herkes izinleri verdim ve daha sonra GUI aracılığıyla başarılı bir şekilde geri yükleyebilirim.


Bu da benim için çalıştı. SO DUMB kullanıcı adım bu klasöre izinlere sahip olabilir, ancak bunu işe almanın tek yolu "Everyone" grubunu klasördeki izinlere eklemektir. Çok sinir bozucu, ama bana zaman kazandığınız için teşekkürler!
hurleystylee

5
Bu durumda yararlı hata mesajlarının tamamen olmaması. Sorunum da bununla çözüldü.
dodgy_coder

1
Booya! Sana hiçbir şey söylemeyen jenerik hataları sevmeliyim. Tabii ki izinlerdi. Farklı etki alanlarındaki sql sunucularından geri yüklerken bana oldu. .Bak dosya izni herkese değiştirildi. Bundan sonra iyi çalıştı.
ileri görüşlü

.bakIIS altında çalışan dosya yükleme web hizmeti tarafından oluşturulan dosyadan veritabanını geri yüklemeye çalışırken aynı sorunları yaşadıApplicationPoolIdentity
apdevelop

26

Çalışırken:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'

Bana şu hatayı verdi:

'C: \ NorthwindDB.bak' cihazındaki medya ailesi yanlış oluşturulmuş. SQL Server bu medya ailesini işleyemiyor. HEADERONLY RESTORE anormal olarak sona eriyor. (Microsoft SQL Server, Hata: 3241) Blok Alıntı

Anlaşılıyor Uyumluluk düzeyi hem kaynak hem de hedef DB'de aynı olsa bile, bir DB'yi Yüksek SQL sürümünden daha düşük bir sürüme alamazsınız. SQL sürümünü çalıştırmak için:

Select @@Version

Farkı görmek için, kaynak SQL sunucunuzda bir DB oluşturun ve yedekleme dosyanızdan bir geri yükleme yapmaya çalışın, bu beyaz SSMS'yi yaptığınızda, yedekleme dosyasını seçtikten sonra, bu konuda açıklandığı gibi bazı bilgileri gösterecektir. "geri yüklenmek üzere hiçbir yedekleme kümesi seçilmedi" diyen daha düşük bir sürüm sunucusundan açın resim açıklamasını buraya girin

Yani Hala daha düşük bir sürüm SQL veri taşımak için gereken edip etmediğini kontrol Bu .


bu yüzden sql server 2014 kurumsal ile makineden bir db yedekleme alırsanız - sql server 2014 express üzerinde geri yüklenebilir mi?
chester89

@ chester89 Bence DB ne tür işlevsellik bağlıdır bağlıdır. Ve bir çeşit yedekleme. Express sürümü sıkıştırma yedeklerini tanımıyor. Ayrıca, kurumsal sürüm kurumsal için benzersiz bir şey kullanıyorsa, ücretsiz sürüm (express) bunu tanımaz. Ancak, standart bir şey varsa, teorik olarak tanınmalıdır.
Juan Acosta

@JuanAcosta evet, bunu bir araya getirdim. Benim durumumda, kullanımda işletmeye özgü hiçbir işlevsellik yok, bu yüzden yedeklemeyi sorunsuz bir şekilde geri
yükledim

@JuanAcosta, ekspres sürümün sıkıştırılmış yedeklemeyi geri yükleyemeyeceğini söyleyen bir belgeye yönlendirebilir misiniz?
chester89

@Chester lütfen sayfa 234'ü kontrol edin. 3. Varsayılan seçenek, ekspres sürümde kullanılabilen tek seçenektir. books.google.com.au/…
Juan Acosta

15

SQL Server Management Studio'yu yönetici olarak çalıştırın (kısayolu / exe'yi sağ tıklatın, sonra "Yönetici Olarak Çalıştır" ı seçin) ve ardından geri yüklemeyi deneyin.


10

Sürümleri karıştırmak için yeterince aptal olmadığımı düşündüm - ancak, yeni sunucumda, bir SQL Server 2005 örneğinin zaten adlandırılmış doğumdan yüklendiğini fark etmedim SQLEXPRESS. SSMS 2012'de SQL Server 2008 R2 yedeklenmiş veritabanımı SQLEXPRESSörneğe geri yüklemeye çalışırken , yedekleme kümeleri listesi boştu.

Sonunda SQLEXPRESSsunucudaki örneğin 2012 örneği değil, 2005 olduğunu fark ettim. Bağlantıyı kesip gerçek 2012 örneğine (benim durumumda adlandırılmış SQLEXPRESS2012) bağlandım ve çalıştım.


2
Bu, sorunum için beni doğru yönde gösterdi. Orijinal poster ile aynı hatayı aldım, ancak SQL Express 2012'den bir SQL Server 2008 örneğine yedeklemeyi geri yüklemeye çalıştığımdan dolayı. Anlaşılır şekilde bu tavsiye edilmez, maalesef hata kök soruna ulaşacak kadar açıklayıcı değildi.
LeastOne

1
Vaov! Siteden çok fazla düzeltme yükledim, ancak bu hata ortadan kalkmadı. Bu cevabı gördüm ve Sql Server 2012 örneği ile giriş yaptım ve geri yüklemeye çalıştım, ÇALIŞTI! Huh teşekkür ederim :)
Ali Baig

1
Yani tam sürümden sürümü ifade etmek için geri yükleyemeyeceğinizi mi söylüyorsunuz?
Zapnologica

7

Benim sorunum, benim kullanıcı Builtin-Administrators grubunda ve SQL Server üzerinde Sysadmin rolü olan hiçbir kullanıcı oldu. Management Studio'yu Yönetici olarak yeni başladım. Bu şekilde veritabanını geri yüklemek mümkün oldu.


Yeni bir sysadmin kullanıcısı oluşturmak için aşağıdaki makaleyi kullandım (tek kullanıcı modunu kullanarak Bölüm 2'ye bakın): wikihow.com/Reset-SA-Password-in-Sql-Server
Savage

6

Bilginize: Geri yüklerken SSMS'ye giriş yapmak için aynı (SQL User) kimlik bilgilerini kullanmam gerektiğini buldum. İlk olarak bir Windows Kimlik Doğrulama hesabı kullanarak geri yüklemeyi denedim.


6

Benim durumumda, izinler ve sadece "Veritabanını Geri Yükle ..." yerine "Dosyaları ve Dosya Gruplarını Geri Yükle ..." kullandığım gerçeğiydi.

Farkı yarattı.

resim açıklamasını buraya girin


6

Benim için bir kullanıcı ayrıcalık sorunu. Bir kullanıcı ve onun iyi çalışıyor ile giriş yaptım.


5

Benim için sorun sunucudaki şifreli bir klasörde bulunan .BAK dosyasına sahip olmaktı. Tam Yönetici haklarına sahip olsam bile, SSMS'yi asla dosyayı okuyamadım. .BAK'ın şifrelenmemiş bir klasöre taşınması sorunumu çözdü. Dosyayı taşıdıktan sonra, şifrelemeyi kaldırmak için gerçek dosyadaki özellikleri değiştirmeniz gerekebilir (sağ tıklama, özellikler, gelişmiş, "verileri korumak için içeriği şifreleme" seçeneğinin işaretini kaldırın).


3

SQL Server 2014 ile aynı sorunu yaşadım (Management Studio, bir Geri Yükleme işlemi için bulmaya çalışırken yedekleme dosyasının bulunduğu klasörü göremedi). Bu konu benim sorunumu çözen cevabı tuttu. Alıntı:

SQL Server hizmet hesabı Başlat-> Denetim Masası-> Yönetimsel Araçlar-> Hizmetler tarafından bulunabilir. SQL Server hizmeti-> Oturum Aç sekmesine çift tıklayın. Belirli bir hesabı tanımlamak için "Yerel Sistem hesabı" veya "Bu hesap" kullanacaksınız. Yerel Sistem hesabını kullanıyorsanız, sunucu için yerel olmayan yedeklere başvuramazsınız. Bunun yerine, kullanılacak hesabı tanımladıysanız, bu, yedek dosya konumuna erişmesi gereken hesaptır. Kişisel oturum açma bilgilerinizi kullanarak yedeklemelere erişebilmeniz önemsizdir; yedeklemeyi başlatmış olsanız bile kullanılan SQL Server hesabıdır. BT çalışanlarınız her bir hesaba hangi hakların verildiğini belirleyebilmelidir.

Umarım birine yardım eder.


kaynağı burada satır içinde alıntıladığınız için teşekkür ederiz, bu bilgiyi bu sayfadan ayrılmadan kullanmak çok daha kolaydır.
qxotk

3

Benim durumumda (yeni sql sunucu kurulumu, yeni oluşturulan kullanıcı) kullanıcımın gerekli izni yoktu. Management Studio'da sa olarak oturum açtım , sonra Güvenlik / Oturum Açma'ya gittim, kullanıcı adımı, Özellikler'i sağ tıklatıp kontrol ettiğim Sunucu Rolleri bölümünde sysadmin.


2

Benim için bunun nedeni yedekleme dosyasının başka bir işlem tarafından hala açık olmasıydı. Olay günlüğü:

BackupDiskFile :: OpenMedia: Yedekleme cihazı 'X: \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak' açılamadı. İşletim sistemi hatası 32 (İşlem başka bir işlem tarafından kullanıldığından dosyaya erişemiyor.).

Sql Server Management Studio'yu basitçe kapatmak ve yeniden açmak sorunu çözdü (açıkçası sapa sahip olan ssms.exe oldu ..)


1

Bu aksaklığın başka bir olası nedeni Google Drive gibi görünüyor. Google Drive, bak dosyalarını veya başka bir şeyi sıkıştırıyor, bu nedenle bir veritabanı yedeklemesini Google Drive üzerinden aktarmak istiyorsanız, önce sıkıştırmanız gerekir.


1

Varolan veritabanını tamamen değiştirmek istiyorsanız WITH REPLACE seçeneğini kullanın:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file>\<YourDatabase>.bak'
WITH REPLACE

1

Benim durumumda, bu bir izin sorunuydu.

resim açıklamasını buraya girin

Windows kullanıcısı için kullandığım dbcreatorrol yoktu .

Bu yüzden aşağıdaki adımları takip ettim

  1. Olarak bağlayın saSQL sunucusuna
  2. SecurityNesne Gezgini'nde Genişlet
  3. genişletmek Logins
  4. Söz konusu Windows kullanıcısına sağ tıklayın
  5. Özellikler'e tıklayın
  6. Seç Server Rolesgelen Select a pageseçeneklerden
  7. dbcreatorKullanıcı için rolü kontrol et
  8. Tamam'ı tıklayın

resim açıklamasını buraya girin


0

SQL Server 2012 Express kullanma.

Benim hatam (SQL Manager'dan - Veritabanını Geri Yükle İletişim Kutusundan):

No backupset selected to be restored

Ayrıca, listede seçilecek yedek kümeleri yoktu.

Sorun, 5 yedekleme dosyasının 1'ini SQL Server hizmet oturum açma kullanıcısının izinleri olmadığı bir klasöre taşımış olduğum - Bu kullanıcıyı eklemeye çalıştım, ancak NT Service \ MSSQL $ SQLEXPRESS kullanıcısını güvenliğe alamadım liste.

Dosyayı hizmet kullanıcısı için Belgeler klasörünün altına taşıdım ve bu, seçtiğim tüm dosyaları - 4 bu noktada - okumasını sağladım ve hata "ortam kümesi eksik" olarak değiştirildi - sonra başka bir yedekleme dosyası aradım ve eklediğimde geri yükleyebildim.

Bu sorudaki cevaplar doğru yerlere bakmama ve bir çözüm yolunda çalışmama yardımcı oldu.


0

Benim için bir izin meselesiydi. SQL sunucusunu yerel bir kullanıcı hesabı kullanarak ve şirketlerimin etki alanına katılmadan önce yükledim. Daha sonra, SQL Server veritabanlarını geri yüklemek için gerekli izinlere sahip olmayan etki alanı hesabımı kullanarak bir veritabanını geri yüklemeye çalıştım. Etki alanı hesabınız için izni düzeltmeniz ve sahip olduğunuz SQL sunucusu örneğinde sistem yöneticisine izin vermeniz gerekir.


0

Aynı tek makinede yedeklememe ve geri yüklememe rağmen aynı hata mesajını aldım.

Sorun buradan: yedekleme yaparken, hedef kutusunda 2 öğe vardı.

Yani düzeltme: 'hedef' kutusunda sadece 1 öğenin olduğundan emin olun. Varsa diğerlerini kaldırın.


0

Aynı sorunla karşılaştım. SSMS'yi yönetici olarak çalıştırın, sonra sağ tıklayın ve veritabanı geri yükleme yapın. Çalışmalı.


0

Sanırım bu hatayı almak için en kemikli nedenden dolayı ödül aldım. Veritabanını Geri Yükle iletişim kutusunda, Kaynak altındaki veritabanı açılır menüsü gri renktedir ve devre dışı olduğunu düşündüm. Kaynak olduğunu düşündüğümde Veritabanı açılır menüsüne geçtim ve bir seçim yaptım. Bunu yapmak bu hata mesajının görüntülenmesine neden olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.