"Kein Backupset zur Wiederherstellung ausgewählt" SQL Server 2012

150

Ich habe eine SQL Server 2012-Datenbank mit aktiviertem Dateistream. Wenn ich es jedoch sichere und versuche, es auf einer anderen SQL Server 2012-Instanz (auf einem anderen Computer) wiederherzustellen, erhalte ich einfach die folgende Meldung:

Kein Backupset zur Wiederherstellung ausgewählt.

Nicht einmal eine einzige Zeile mehr Erklärung. Was ist hier los?

Jede andere Datenbank ohne Dateistream ist in Ordnung und kann erfolgreich wiederhergestellt werden. Hat es etwas mit Filestream zu tun? Soll ich einen Hotfix oder ähnliches installieren?

Saeed Neamati
quelle
1
Hat es noch nicht gelöst. Scheint, dass die SQL Server-Konfiguration Probleme hat. Ich denke, die Dinge sollten einfacher sein.
Saeed Neamati
1
Können Sie das T-SQL bereitstellen, mit dem Sie die Wiederherstellung versuchen?
Ben Thul
3
Nun, ich benutze die GUI von SSMS.
Saeed Neamati
Selbst wenn Sie dies so tun, sollte sich irgendwo oben im Fenster eine "Skript" -Schaltfläche befinden. Nachdem Sie alles so eingerichtet haben, wie Sie es für die Wiederherstellung gedacht haben, drücken Sie diese Taste anstelle von "OK", um das T-SQL aufzurufen, das für die Wiederherstellung auf dem Server ausgeführt wird.
Ben Thul
1
War Berechtigungsproblem auch für mich mit SQL 2014 Standard (Standalone) auf WS 2012 R2 (Arbeitsgruppen), musste aber zweimal neu starten, um die Berechtigungen zu übernehmen. Für das, was das wert ist. Ich hoffe, Sie alle werden auch gelöst.
BaldEagle

Antworten:

176

Ich hatte dieses Problem und es stellte sich heraus, dass ich versuchte, die falsche Version von SQL wiederherzustellen. Wenn Sie weitere Informationen zu den Vorgängen wünschen, versuchen Sie, die Datenbank mit dem folgenden SQL wiederherzustellen:

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

Das sollte Ihnen die Fehlermeldung geben, dass Sie dies debuggen müssen.

user489998
quelle
Welche Fehlermeldung wird angezeigt, wenn Sie versuchen, die Wiederherstellung mit dem oben genannten SQL durchzuführen?
user489998
Scheint, dass das Wiederherstellen der Datenbank mithilfe eines T-SQL-Skripts die Arbeit erledigen würde. Ich denke, weil wir die Dateistream-Daten nicht gesichert haben, kann die Benutzeroberfläche nicht damit umgehen.
Saeed Neamati
1
Schön, ich mag den Raw-SQL-Ansatz. Ich erhalte die Meldung `` Der Mediensatz hat 2 Medienfamilien, aber nur 1 wird bereitgestellt. Alle Mitglieder müssen angegeben werden. "- Bedeutet dies, dass die Sicherungsquelle eine andere SQL Server-Version als das Sicherungsziel war? Wenn ich es mit dem UI-Ansatz ("Wiederherstellen") versuche, erhalte ich die Nachricht @ topNo backupset selected to be restored.
The Red Pea
Wenn Sie die vorhandene Datenbank vollständig ersetzen möchten, verwenden Sie die Option WITH REPLACERESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Iasmini Gomes
62

Mein Problem waren schließlich Berechtigungen . Ich bin auf einer Entwicklungsmaschine und habe über Homegroup kopiert. Irgendwie, wahrscheinlich basierend darauf, wohin ich die Datei kopiert habe, wurden die Berechtigungen durcheinander gebracht und Management Studio konnte die Datei nicht lesen. Da dies ein Entwickler ist, habe ich allen die Berechtigungen für die Bak-Datei erteilt und konnte sie dann erfolgreich über die GUI wiederherstellen.

Tyler Forsythe
quelle
Das hat auch bei mir funktioniert. Es ist SO DUMB, dass mein Benutzername Berechtigungen für diesen Ordner haben kann, aber die einzige Möglichkeit, dies zum Laufen zu bringen, bestand darin, die Gruppe "Jeder" zu den Berechtigungen für den Ordner hinzuzufügen. So frustrierend, aber danke, dass du mir Zeit gespart hast!
Hurleystylee
5
Vollständiges Fehlen nützlicher Fehlermeldungen in diesem Fall. Mein Problem wurde auch dadurch gelöst.
dodgy_coder
1
Booya! Ich muss diese generischen Fehler lieben, die dir nichts sagen. Natürlich waren es Berechtigungen. Ist mir beim Wiederherstellen von SQL-Servern in verschiedenen Domänen passiert. Die Berechtigung für die .bak-Datei wurde für alle geändert. Hat danach gut funktioniert.
Voraussichtlicher
Hat gleiche Probleme erlebt , wenn Datenbank wiederherstellen versuchen , .bakDatei, die von Datei - Upload - Web - Service erstellt wurde, die unter IIS ausgeführtApplicationPoolIdentity
apdevelop
26

Beim Laufen:

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

Es gab mir den folgenden Fehler:

Die Medienfamilie auf Gerät 'C: \ NorthwindDB.bak' ist falsch gebildet. SQL Server kann diese Medienfamilie nicht verarbeiten. RESTORE HEADERONLY wird abnormal beendet. (Microsoft SQL Server, Fehler: 3241) Blockquote

Es stellt sich heraus, dass Sie eine Datenbank nicht von einer höheren SQL-Version auf eine niedrigere Version übertragen können, selbst wenn die Kompatibilitätsstufe sowohl für die Quell- als auch für die Ziel-Datenbank gleich ist. So überprüfen Sie die Ausführung der SQL-Version:

Select @@Version

Um zu sehen, den Unterschied, erstellen Sie einfach eine DB auf Ihrer Quelle SQL Server und versuchen , eine Wiederherstellung aus dem Backup - Datei zu tun, wenn Sie dies tun Whit SSMS, sobald Sie die Backup - Datei auswählen wird es einige Informationen darüber zeigen , wie widersprochen, wenn Sie Öffnen Sie es von einem Server mit einer niedrigeren Version, auf dem nur "Kein Backupset zur Wiederherstellung ausgewählt" angezeigt wird. Geben Sie hier die Bildbeschreibung ein

Also , wenn Sie immer noch Ihre Daten auf eine niedrigere Version SQL verschieben müssen dann prüfen Dieses .

Alon Or. En
quelle
Wenn ich also ein DB-Backup von einem Computer mit SQL Server 2014 Enterprise erstelle, kann es auf SQL Server 2014 Express wiederhergestellt werden?
Chester89
@ chester89 Ich denke, es hängt davon ab, welche Art von Funktionalität Sie in der DB haben. Und die Art der Sicherung. Die Express-Version erkennt keine Komprimierungssicherungen. Wenn die Unternehmensversion etwas verwendet, das für Unternehmen einzigartig ist, erkennt die kostenlose Version (Express) dies nicht. Aber wenn Sie etwas Standard haben, sollte es theoretisch erkannt werden.
Juan Acosta
@ JuanAcosta yep, das habe ich zusammengestellt. In meinem Fall wird keine unternehmensspezifische Funktionalität verwendet, daher habe ich das Backup ohne Probleme wiederhergestellt
chester89
@JuanAcosta Können Sie mich auf eine Dokumentation verweisen, die besagt, dass Express Edition komprimierte Backups nicht wiederherstellen kann?
Chester89
@Chester überprüfen Sie bitte Seite 234 Punkt 3. Die Standardoption ist die einzige, die in der Express-Version verfügbar ist. books.google.com.au/…
Juan Acosta
15

Führen Sie SQL Server Management Studio als Administrator aus (klicken Sie mit der rechten Maustaste auf die Verknüpfung / Exe, wählen Sie dann "Als Administrator ausführen") und versuchen Sie dann, sie wiederherzustellen.

Keith
quelle
10

Ich dachte, ich wäre nicht dumm genug, um die Versionen zu verwechseln - aber ich wusste nicht, dass auf meinem neuen Server bereits von Geburt an eine SQL Server 2005-Instanz mit dem Namen installiert war SQLEXPRESS. Beim Versuch, meine in SQL Server 2008 R2 gesicherte Datenbank in SSMS 2012 auf der SQLEXPRESSInstanz wiederherzustellen , war die Liste der Sicherungssätze leer.

Schließlich wurde mir klar, dass die SQLEXPRESSInstanz auf dem Server keine 2012-Instanz war, sondern eine 2005. Ich habe die Verbindung zur tatsächlichen 2012-Instanz (in meinem Fall mit dem Namen SQLEXPRESS2012) getrennt und sie hat (offensichtlich) funktioniert.

Frederik Struck-Schøning
quelle
2
Dies zeigte mir die richtige Richtung für mein Problem. Ich habe den gleichen Fehler wie das Originalposter erhalten, aber ich habe versucht, eine Sicherung von SQL Express 2012 auf einer SQL Server 2008-Instanz wiederherzustellen. Verständlicherweise ist dies nicht ratsam, leider war der Fehler nicht beschreibend genug, um das Grundproblem zu lösen.
LeastOne
1
Beeindruckend! Ich habe zu viele Hotfixes von der Site installiert, aber dieser Fehler ist nicht behoben. Ich habe diese Antwort gesehen und mich bei der SQL Server 2012-Instanz angemeldet und versucht, sie wiederherzustellen. Es hat funktioniert! Huh danke :)
Ali Baig
1
Sie sagen also, Sie können nicht von der Vollversion auf die Express-Version wiederherstellen?
Zapnologica
7

Mein Problem war, dass mein Benutzer in der Gruppe "Integrierte Administratoren" war und kein Benutzer mit Sysadmin-Rolle auf SQL Server. Ich habe gerade das Management Studio als Administrator gestartet. Auf diese Weise konnte die Datenbank wiederhergestellt werden.

Liz
quelle
Ich habe den folgenden Artikel verwendet, um einen neuen Sysadmin-Benutzer zu erstellen (siehe Abschnitt 2 im Einzelbenutzermodus): wikihow.com/Reset-SA-Password-in-Sql-Server
Savage
6

Zu Ihrer Information: Ich habe festgestellt, dass ich beim Wiederherstellen dieselben Anmeldeinformationen (SQL-Benutzer) verwenden musste, um mich bei SSMS anzumelden. Ich hatte zuerst versucht, die Wiederherstellung mit einem Windows-Authentifizierungskonto durchzuführen.

Ben Ripley
quelle
6

In meinem Fall waren es Berechtigungen und die Tatsache, dass ich "Dateien und Dateigruppen wiederherstellen ..." verwendet habe und nicht einfach "Datenbank wiederherstellen ...".

Das machte den Unterschied.

Geben Sie hier die Bildbeschreibung ein

Brian
quelle
6

Für mich ist es ein Problem mit Benutzerrechten. Ich habe mich mit einem Benutzer angemeldet und es funktioniert einwandfrei.

Sharfi
quelle
5

Für mich bestand das Problem darin, dass sich die .BAK-Datei in einem verschlüsselten Ordner auf dem Server befand. Selbst mit vollen Administratorrechten konnte ich SSMS niemals dazu bringen, die Datei zu lesen. Das Verschieben der .BAK in einen unverschlüsselten Ordner hat mein Problem gelöst. Beachten Sie, dass Sie nach dem Verschieben der Datei möglicherweise auch die Eigenschaften der tatsächlichen Datei ändern müssen, um die Verschlüsselung zu entfernen (Rechtsklick, Eigenschaften, Erweitert, Deaktivieren Sie "Inhalte zum Sichern von Daten verschlüsseln").

GadgetNC
quelle
3

Ich hatte das gleiche Problem mit SQL Server 2014 (Management Studio konnte den Ordner, in dem sich die Sicherungsdatei befand, nicht sehen, als versucht wurde, sie für einen Wiederherstellungsvorgang zu finden). Dieser Thread enthielt die Antwort, die mein Problem löste. Zitat:

Das SQL Server-Dienstkonto finden Sie unter Start-> Systemsteuerung-> Verwaltung-> Dienste. Doppelklicken Sie auf die Registerkarte SQL Server-Dienst-> Anmelden. Sie verwenden entweder das "Lokale Systemkonto" oder "Dieses Konto", um ein bestimmtes Konto zu definieren. Wenn Sie das lokale Systemkonto verwenden, können Sie nicht auf Sicherungen verweisen, die nicht lokal auf dem Server sind. Wenn Sie stattdessen das zu verwendende Konto definiert haben, muss dieses Konto Zugriff auf den Speicherort der Sicherungsdatei haben. Ihre Fähigkeit, über Ihre persönliche Anmeldung auf die Backups zuzugreifen, spielt keine Rolle. Es wird das SQL Server-Konto verwendet, obwohl Sie die Sicherung initiieren. Ihre IT-Mitarbeiter sollten bestimmen können, welche Rechte jedem Konto gewährt werden.

Hoffe das hilft jemandem.

BCA
quelle
Ich weiß zu schätzen, dass Sie die Quelle hier direkt in der Zeile zitiert haben. Diese Informationen lassen sich viel einfacher verwenden, ohne von dieser Seite weg zu navigieren.
Qxotk
3

In meinem Fall (neue SQL Server-Installation, neu erstellter Benutzer) hatte mein Benutzer einfach nicht die erforderliche Berechtigung. Ich habe mich im Management Studio als sa angemeldet, bin dann zu Sicherheit / Anmeldungen gegangen, habe mit der rechten Maustaste auf meinen Benutzernamen Eigenschaften geklickt und dann im Abschnitt Serverrollen, den ich überprüft habe sysadmin.

März 2377
quelle
2

Für mich lag es daran, dass die Sicherungsdatei noch von einem anderen Prozess geöffnet wurde. Hier ist das Ereignisprotokoll:

BackupDiskFile :: OpenMedia: Sicherungsgerät 'X: \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak' konnte nicht geöffnet werden. Betriebssystemfehler 32 (Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.)

Durch einfaches Schließen und erneutes Öffnen von Sql Server Management Studio wurde das Problem behoben (offensichtlich war es also ssms.exe, die das Handle hatte.)

JohnZaj
quelle
1

Ein weiterer möglicher Grund für diesen Fehler scheint Google Drive zu sein. Google Drive komprimiert Bak-Dateien oder ähnliches. Wenn Sie also eine Datenbanksicherung über Google Drive übertragen möchten, müssen Sie diese anscheinend zuerst komprimieren.

James Gould
quelle
1

Wenn Sie die vorhandene Datenbank vollständig ersetzen möchten, verwenden Sie die Option WITH REPLACE :

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

In meinem Fall handelte es sich um ein Berechtigungsproblem.

Geben Sie hier die Bildbeschreibung ein

Für den Windows-Benutzer hatte ich keine dbcreatorRolle.

Also habe ich die folgenden Schritte befolgt

  1. Stellen Sie eine Verbindung sazum SQL Server her
  2. Erweitern Sie Securityim Objekt-Explorer
  3. Erweitern Logins
  4. Klicken Sie mit der rechten Maustaste auf den betreffenden Windows-Benutzer
  5. Klicken Sie auf Eigenschaften
  6. Wählen Sie Server Rolesaus den Select a pageOptionen
  7. Überprüfen Sie die dbcreatorRolle für den Benutzer
  8. OK klicken

Geben Sie hier die Bildbeschreibung ein

Devraj Gadhavi
quelle
0

Verwenden von SQL Server 2012 Express.

Mein Fehler (aus dem Dialogfeld "SQL Manager - Datenbank wiederherstellen"):

No backupset selected to be restored

Außerdem wurden in der Liste keine Backupsets zur Auswahl angezeigt.

Das Problem war, dass ich eine der 5 Sicherungsdateien in einen Ordner verschoben hatte, in dem der SQL Server-Dienstanmeldebenutzer keine Berechtigungen hatte. Ich habe versucht, diesen Benutzer hinzuzufügen, konnte jedoch den Benutzer NT Service \ MSSQL $ SQLEXPRESS nicht in die Sicherheit aufnehmen aufführen.

Ich habe die Datei in den Ordner "Dokumente" für den Dienstbenutzer verschoben und dadurch alle von mir ausgewählten Dateien gelesen - 4 zu diesem Zeitpunkt - und der Fehler wurde in "Mediensatz fehlt" geändert. Dann habe ich mich nach einer anderen Sicherungsdatei umgesehen und als ich hinzufügte, dass ich wiederherstellen konnte.

Die Antworten in dieser Frage haben mir geholfen, an den richtigen Stellen zu suchen und mich zu einer Lösung zu entwickeln.

condiosluzverde
quelle
0

Für mich war es eine Erlaubnisfrage. Ich habe SQL Server mit einem lokalen Benutzerkonto und vor dem Beitritt zu meiner Unternehmensdomäne installiert. Später habe ich versucht, eine Datenbank mit meinem Domänenkonto wiederherzustellen, das nicht über die zum Wiederherstellen von SQL Server-Datenbanken erforderlichen Berechtigungen verfügt. Sie müssen die Berechtigung für Ihr Domänenkonto festlegen und ihm die Systemadministratorberechtigung für die SQL Server-Instanz erteilen, über die Sie verfügen.

Anas Ghanem
quelle
0

Ich habe dieselbe Fehlermeldung erhalten, obwohl ich auf demselben Computer gesichert und wiederhergestellt habe.

Das Problem war von hier: Beim Backup hatte ich 2 Elemente im Zielfeld.

Die Lösung wäre also: Stellen Sie sicher, dass nur 1 Element im Feld "Ziel" vorhanden ist. Entfernen Sie alle anderen, falls vorhanden.

Danniel Little
quelle
0

Ich bin auf das gleiche Problem gestoßen. Führen Sie SSMS als Administrator aus, klicken Sie mit der rechten Maustaste und führen Sie die Datenbankwiederherstellung durch. Sollte arbeiten.

Jonny Boy
quelle
0

Ich glaube, ich bekomme die Auszeichnung für den knochenköpfigsten Grund, diesen Fehler zu bekommen. Im Dialogfeld "Datenbank wiederherstellen" ist die Datenbank-Dropdown-Liste unter "Quelle" grau und ich dachte, sie sei deaktiviert. Ich sprang zum Datenbank-Dropdown unter Ziel und dachte, es sei die Quelle, und traf eine Auswahl. Wenn Sie dies tun, wird diese Fehlermeldung angezeigt.

Gabe
quelle