Ich möchte eine Datenbank aus einer Datei (Aufgaben → Wiederherstellen → Datenbank; nachdem ich vom Gerät ausgewählt und Datei ausgewählt habe) über SQL Server Management Studio wiederherstellen.
Danach erhalte ich folgende Fehlermeldung:
Das Betriebssystem hat beim Versuch 'RestoreContainer :: ValidateTargetForCreation' unter 'E: \ Programme \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ XXXXXX.mdf' den Fehler '5 (Zugriff verweigert.)' Zurückgegeben. Meldung 3156, Ebene 16, Status 8, Server XXXX, Zeile 2
Wie behebe ich dieses Problem? Ist es ein Sicherheitsfehler?
quelle
Ich hatte vor kurzem dieses Problem. Die Lösung für mich bestand darin, auf die Seite "Dateien" des Dialogfelds "Datenbank wiederherstellen" zu gehen und "Alle Dateien in Ordner verschieben" zu aktivieren.
quelle
In meinem Fall war die Lösung recht einfach und direkt.
Ich musste nur den Wert des
log On As
Wertes ändern .Schritte zur Lösung
Sql Server Configuration manager
click on SQL Server (MSSQLSERVER
)Properties
log On As
Wert inLocalSystem
Ich hoffe, das hilft dir auch :)
quelle
Ich bin gerade auf dasselbe Problem gestoßen, hatte aber eine andere Lösung. Im Wesentlichen hatte ich sowohl SQL Server als auch SQL Server Express auf meinem Computer installiert. Dies funktionierte nicht, als ich versuchte, in SQL Express wiederherzustellen, funktionierte jedoch korrekt, als ich es in SQL Server wiederherstellte.
quelle
Ich habe das obige Szenario ausprobiert und den gleichen Fehler 5 erhalten (Zugriff verweigert). Ich habe einen tiefen Tauchgang gemacht und festgestellt, dass die Datei .bak Zugriff auf das SQL-Dienstkonto haben sollte. Wenn Sie sich nicht sicher sind, geben Sie services.msc unter Start -> Ausführen ein und suchen Sie nach dem SQL Service-Anmeldekonto.
Gehen Sie dann zur Datei, klicken Sie mit der rechten Maustaste und wählen Sie in den Eigenschaften die Registerkarte Sicherheit. Bearbeiten Sie dann, um den neuen Benutzer hinzuzufügen.
Geben Sie schließlich die volle Erlaubnis, um vollen Zugriff zu gewähren.
Versuchen Sie dann von SSMS aus, die Sicherung wiederherzustellen.
quelle
Beim Versuch, die SQL 2008 R2-Sicherungsdatenbank in der SQL 2012-Datenbank wiederherzustellen, wurde der gleiche Fehler angezeigt. Ich denke, der Fehler ist auf unzureichende Berechtigungen zum Platzieren von .mdf- und .ldf-Dateien auf Laufwerk C zurückzuführen. Ich habe eine einfache Sache ausprobiert, dann ist es mir gelungen, sie erfolgreich wiederherzustellen.
Versuche dies:
Wechseln Sie im Fenster des Assistenten zum Wiederherstellen der Datenbank zur Registerkarte Dateien, und ändern Sie das Wiederherstellungsziel von C: auf ein anderes Laufwerk. Fahren Sie dann mit dem regulären Wiederherstellungsprozess fort. Es wird definitiv erfolgreich wiederhergestellt!
Hoffe das hilft dir auch. Prost :)
quelle
Ich habe das gefunden und es hat bei mir funktioniert:
CREATE LOGIN BackupRestoreAdmin WITH PASSWORD='$tr0ngP@$$w0rd' GO CREATE USER BackupRestoreAdmin FOR LOGIN BackupRestoreAdmin GO EXEC sp_addsrvrolemember 'BackupRestoreAdmin', 'dbcreator' GO EXEC sp_addrolemember 'db_owner','BackupRestoreAdmin' GO
quelle
In meinem Fall musste ich das Kontrollkästchen
Overwrite the existing database (WITH REPLACE)
unterOptions
Registerkarte aufRestore Database
Seite aktivieren .Der Grund, warum ich diesen Fehler bekam: weil bereits eine MDF-Datei für die Datenbank vorhanden war und diese nicht überschrieben wurde.
Hoffe das wird jemandem helfen.
quelle
Wenn Sie eine Datenbank anhängen, sehen Sie sich das Raster "Anzuhängende Datenbanken" und insbesondere die Spalte "Eigentümer" an, nachdem Sie Ihre MDF-Datei angegeben haben. Notieren Sie sich das Konto und erteilen Sie ihm die vollständigen Berechtigungen für MDF- und LDF-Dateien.
quelle
Ich hatte genau das gleiche Problem, aber mein Fix war anders - meine Firma verschlüsselt alle Dateien auf meinen Computern. Nach dem Entschlüsseln der Datei hatte MSSQL keine Probleme beim Zugriff und erstellte die Datenbank. Klicken Sie einfach mit der rechten Maustaste auf .bak-Datei -> Eigenschaften -> Erweitert ... -> Inhalte verschlüsseln, um Daten zu sichern.
quelle
Das ist mir heute früher passiert. Ich war Mitglied der Administratorgruppe des lokalen Servers und habe ungehinderten Zugriff, oder ich dachte schon. Ich habe auch die Option "Ersetzen" angekreuzt, obwohl es in der Instanz keine solche Datenbank gibt.
Es wurde festgestellt, dass sich dort früher eine gleichnamige Datenbank befand und sich die MDF- und LDF-Dateien noch physisch in den Daten- und Protokollordnern des Servers befinden, die tatsächlichen Metadaten jedoch in den sys.databases fehlen. Das Dienstkonto von SQL Server kann die vorhandenen Dateien auch nicht überschreiben. Als ich herausfand, dass der Eigentümer der Dateien "unbekannt" ist, musste ich den Eigentümer auf die beiden oben genannten Dateien ändern, damit sie jetzt der Administratorgruppe des lokalen Servers gehören, und sie dann umbenennen.
Dann hat es endlich geklappt.
quelle
Ich habe diesen Fehler erhalten, weil ich auf der Registerkarte "Dateien" des Fensters "Datenbank wiederherstellen" die Option "Alle Dateien in Ordner neu zuordnen" aktiviert habe, aber der Standardpfad auf meinem lokalen Computer nicht vorhanden war. Ich hatte die ldf / mdf-Dateien in einem anderen Ordner, nachdem ich geändert hatte, dass ich wiederherstellen konnte.
quelle
Das Konto hat keinen Zugriff auf den Speicherort für die Sicherungsdatei. Führen Sie die folgenden Schritte aus, um über Computer Manager problemlos auf den SQL Server-Konfigurationsmanager zuzugreifen
Jetzt können Sie die Datenbank einfach wiederherstellen
quelle
Eine gute Lösung, die funktionieren kann, ist, zu Dateien> zu gehen und zu überprüfen, ob alle Dateien neu zugewiesen wurden
quelle
Die Lösung für mich bestand darin, beim Versuch, die Datenbank wiederherzustellen und den Pfad in den neuen Pfad zu ändern, in Optionen zu wechseln. Hier ist der Screenshot
quelle