Mam bazę danych SQL Server 2012 z włączonym strumieniem plików. Jednak gdy wykonuję kopię zapasową i próbuję przywrócić ją na innej instancji SQL Server 2012 (na innym komputerze), po prostu otrzymuję następujący komunikat:
Nie wybrano kopii zapasowej do przywrócenia.
Ani jednej linijki więcej wyjaśnień. Co tu jest nie tak?
Każda inna baza danych bez strumienia plików jest w porządku i można ją pomyślnie przywrócić. Czy jest to coś związanego ze strumieniem plików? Czy powinienem zainstalować poprawkę, czy coś takiego.
sql-server
restore
sql-server-2012
Saeed Neamati
źródło
źródło
Odpowiedzi:
Miałem ten problem i okazało się, że próbuję przywrócić niewłaściwą wersję SQL. Jeśli chcesz uzyskać więcej informacji o tym, co się dzieje, spróbuj przywrócić bazę danych za pomocą następującego SQL:
To powinno dać ci komunikat o błędzie, że musisz to debugować.
źródło
No backupset selected to be restored.
RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Mój problem zakończył się uprawnienia . Jestem na maszynie deweloperskiej i zostałem skopiowany za pośrednictwem grupy domowej. W jakiś sposób, prawdopodobnie w zależności od tego, gdzie skopiowałem plik, uprawnienia się pomieszały i Management Studio nie mógł odczytać pliku. Ponieważ jest to program deweloperski, nadałem wszystkim uprawnienia do pliku bak i mogłem z powodzeniem przywrócić go przez GUI.
źródło
.bak
pliku, który został utworzony przez usługę sieciową przesyłania plików, która działa w ramach usług IISApplicationPoolIdentity
Podczas biegania:
Dał mi następujący błąd:
Okazuje się, że nie można przenieść bazy danych z wyższej wersji SQL do niższej, nawet jeśli poziom zgodności jest taki sam w źródłowej i docelowej bazie danych. Aby sprawdzić wersję SQL, uruchom:
Aby zobaczyć różnicę, po prostu utwórz bazę danych na źródłowym serwerze SQL i spróbuj przywrócić z pliku kopii zapasowej, kiedy to zrobisz z SSMS, po wybraniu pliku kopii zapasowej pokaże się pewne informacje na jego temat, gdy otwórz go z serwera o niższej wersji, który powie „Nie wybrano kopii zapasowej do przywrócenia”
Więc jeśli nadal musisz przenieść swoje dane do niższej wersji SQL, zaznacz to .
źródło
Uruchom program SQL Server Management Studio jako administrator (kliknij prawym przyciskiem myszy skrót / plik exe, a następnie wybierz opcję „Uruchom jako administrator”), a następnie spróbuj przywrócić.
źródło
Pomyślałem, że nie byłem na tyle głupi, żeby pomieszać wersje - nie zdawałem sobie jednak sprawy, że na moim nowym serwerze instancja SQL Server 2005 została już zainstalowana od urodzenia o nazwie
SQLEXPRESS
. Podczas próby przywrócenia bazy danychSQLEXPRESS
z kopii zapasowej SQL Server 2008 R2 w programie SSMS 2012 do instancji lista zestawów kopii zapasowych była pusta.W końcu zdałem sobie sprawę, że
SQLEXPRESS
instancja na serwerze nie była instancją z 2012 r., Ale z 2005 r. Odłączyłem się i połączyłem z rzeczywistą instancją z 2012 r. (W moim przypadku o nazwieSQLEXPRESS2012
) i (oczywiście) zadziałało.źródło
Mój problem polegał na tym, że mój użytkownik był w grupie Wbudowani Administratorzy i nie miał użytkownika z rolą Sysadmin na serwerze SQL. Właśnie zacząłem Management Studio jako Administrator. W ten sposób udało się przywrócić bazę danych.
źródło
FYI: Odkryłem, że podczas przywracania potrzebowałem użyć tych samych danych logowania (użytkownika SQL), aby zalogować się do SSMS. Najpierw próbowałem przywrócić przy użyciu konta uwierzytelniania systemu Windows.
źródło
W moim przypadku były to uprawnienia i fakt, że użyłem „Przywróć pliki i grupy plików ...” zamiast po prostu „Przywróć bazę danych ...”.
To zrobiło różnicę.
źródło
Dla mnie to kwestia uprawnień użytkownika. Zalogowałem się jako użytkownik sa i działa poprawnie.
źródło
U mnie problem polegał na tym, że plik .BAK znajdował się w zaszyfrowanym folderze na serwerze. Nawet z pełnymi prawami administratora nigdy nie mogłem uzyskać programu SSMS w celu odczytania pliku. Przeniesienie .BAK do niezaszyfrowanego folderu rozwiązało mój problem. Zwróć uwagę, że po przeniesieniu pliku może być konieczna zmiana właściwości samego pliku, aby usunąć szyfrowanie (prawy przycisk myszy, właściwości, zaawansowane, odznacz „szyfruj zawartość, aby zabezpieczyć dane”).
źródło
Miałem ten sam problem z SQL Server 2014 (Management Studio nie widziało folderu, w którym znajdował się plik kopii zapasowej, podczas próby zlokalizowania go do operacji przywracania). Ten wątek zawierał odpowiedź, która rozwiązała mój problem. Zacytować:
Mam nadzieję, że to komuś pomoże.
źródło
W moim przypadku (nowa instalacja serwera sql, nowo utworzony użytkownik) mój użytkownik po prostu nie miał niezbędnych uprawnień. Zalogowałem się do Management Studio jako sa , następnie przeszedłem do Security / Logins, kliknij prawym przyciskiem myszy moją nazwę użytkownika, Właściwości, a następnie w sekcji Role serwera, które zaznaczyłem
sysadmin
.źródło
U mnie było tak, ponieważ plik kopii zapasowej był nadal otwarty przez inny proces. Oto dziennik zdarzeń:
BackupDiskFile :: OpenMedia: Nie udało się otworzyć urządzenia kopii zapasowej „X: \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak”. Błąd systemu operacyjnego 32 (proces nie może uzyskać dostępu do pliku, ponieważ jest używany przez inny proces).
Po prostu zamknięcie i ponowne otwarcie Sql Server Management Studio rozwiązało problem (więc oczywiście był to ssms.exe, który miał uchwyt ...)
źródło
Innym potencjalnym powodem tej usterki wydaje się być Dysk Google. Dysk Google kompresuje pliki bak lub coś w tym stylu, więc jeśli chcesz przenieść kopię zapasową bazy danych za pośrednictwem Dysku Google, wygląda na to, że musisz ją najpierw spakować.
źródło
Jeśli chcesz całkowicie zastąpić istniejącą bazę danych, skorzystaj z opcji Z REPLACE :
źródło
W moim przypadku był to problem z uprawnieniami.
Dla użytkownika Windows, którego używałem, nie miał
dbcreator
roli.Więc wykonałem poniższe kroki
sa
z serwerem SQLSecurity
w Eksploratorze obiektówLogins
Server Roles
zSelect a page
opcjidbcreator
rolę użytkownikaźródło
Korzystanie z programu SQL Server 2012 Express.
Mój błąd (z okna Menedżera SQL - Przywróć bazę danych):
No backupset selected to be restored
Ponadto na liście nie było żadnych kopii zapasowych do wyboru.
Problem polegał na tym, że przeniosłem 1 z 5 plików kopii zapasowej do folderu, w którym użytkownik logowania do usługi SQL Server nie miał uprawnień - próbowałem dodać tego użytkownika, ale nie mogłem wprowadzić użytkownika NT Service \ MSSQL $ SQLEXPRESS do zabezpieczeń lista.
Przeniosłem plik do folderu Dokumenty dla użytkownika usługi, co umożliwiło odczytanie wszystkich plików, które wybrałem - w tym momencie 4 - a błąd zmienił się na „brak zestawu nośników” - po czym rozejrzałem się za innym plikiem kopii zapasowej i kiedy dodałem, że udało mi się przywrócić.
Odpowiedzi na to pytanie pomogły mi spojrzeć w odpowiednie miejsca i znaleźć rozwiązanie.
źródło
Dla mnie była to kwestia pozwolenia. Zainstalowałem serwer SQL przy użyciu lokalnego konta użytkownika i przed dołączeniem do domeny mojej firmy. Później próbowałem przywrócić bazę danych przy użyciu konta domeny, które nie ma uprawnień potrzebnych do przywrócenia baz danych serwera SQL. Musisz naprawić uprawnienia dla swojego konta domeny i nadać mu uprawnienia administratora systemu w posiadanej instancji serwera SQL.
źródło
Otrzymałem ten sam komunikat o błędzie, mimo że wykonuję kopię zapasową i przywracam na tym samym pojedynczym komputerze.
Problem pojawił się tutaj: podczas tworzenia kopii zapasowej miałem 2 elementy w polu docelowym.
Tak więc rozwiązanie byłoby następujące: upewnij się, że tylko 1 element w polu „miejsce docelowe”. Usuń wszystkie pozostałe, jeśli są.
źródło
Napotkałem ten sam problem. Uruchom program SSMS jako administrator, a następnie kliknij prawym przyciskiem myszy i przywróć bazę danych. Powinno działać.
źródło
Myślę, że dostałem nagrodę za najbardziej kościsty powód, dla którego dostałem ten błąd. W oknie dialogowym Przywróć bazę danych lista rozwijana bazy danych w obszarze Źródło jest szara i wydaje mi się, że jest wyłączona. Przeskoczyłem do listy rozwijanej bazy danych w obszarze Miejsce docelowe, myśląc, że to źródło, i dokonałem wyboru. Spowoduje to wyświetlenie tego komunikatu o błędzie.
źródło