SQL Server 2008-Sicherungsfehler - Betriebssystemfehler 5 (Text für diesen Fehler konnte nicht abgerufen werden. Grund: 15105) [geschlossen]

77

Kann mir jemand helfen, ich versuche eine Datenbank zu sichern, die sich auf localhost \ SQLEXPRESS befindet, aber ich erhalte immer wieder den folgenden Fehler:

Backup failed for Server 'localhost\SqlExpress'.  (Microsoft.SqlServer.SmoExtended)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2531.0+((Katmai_PCU_Main).090329-1045+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Backup+Server&LinkId=20476


ADDITIONAL INFORMATION:

System.Data.SqlClient.SqlError: Cannot open backup device 'C:\backup.bak'. Operating system error 5(failed to retrieve text for this error. Reason: 15105). (Microsoft.SqlServer.Smo)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2531.0+((Katmai_PCU_Main).090329-1045+)&LinkId=20476

Kann mir jemand erklären, was ich hier falsch mache?

Vielen Dank

c11ada
quelle
3
Unter Windows 7/2008 ist das Speichern von Dateien im Stammverzeichnis von C nicht zulässig. Wenn Sie also eines dieser beiden Betriebssysteme ausführen, ist dies sinnvoll.
Peter
8
Vielleicht nicht zum Thema, aber nützlich für mich!
Kravits88
Ich hatte das Problem und es wurde durch die bereits vorhandene Datei verursacht. Ich musste Code hinzufügen, um das zu handhaben - und vielleicht nach einer Option im Sicherungsobjekt suchen (ich verwende c #, um die Sicherung in meiner Anwendung auszuführen)
da Bich
Der frühere Kommentar von Peter hat für mich funktioniert. Das Lesen der Sicherungsdatei aus C: \ Users \ <BENUTZERNAME> verursachte den Fehler, während das Verschieben auf ein anderes Laufwerk das Problem löste.
Snowmonkey

Antworten:

88

Es sieht so aus, als hätte der SQL Server keine Berechtigung zum Zugriff auf die Datei C: \ backup.bak. Ich würde die Berechtigungen des Kontos überprüfen, das dem SQL Server-Dienstkonto zugewiesen ist.

Als Teil der Lösung möchten Sie Ihre Sicherungsdateien möglicherweise an einem anderen Ort als dem Stammverzeichnis des Laufwerks C: speichern. Dies könnte ein Grund sein, warum Sie Berechtigungsprobleme haben.

Paul Keister
quelle
45

Ich habe diesen Fehler festgestellt, als nicht genügend freier Speicherplatz zum Erstellen eines Backups vorhanden war.

Die kleinste
quelle
17
Ich hatte genau das gleiche Problem. Eine einfache und unkomplizierte Fehlermeldung, dass nicht genügend Speicherplatz vorhanden ist, hätte viel geholfen. danke Microsoft
Stefan Arn
Ich habe auch diesen Fehler erhalten und ihn durch Erweitern des Speicherplatzes des Servers behoben.
George Norberg
Yepp, nachdem ich diese Antwort gelesen hatte, überprüfte ich mein Laufwerk, um schockiert zu sein, dass noch 300 MB Speicherplatz übrig waren: D Entfernen alter veralteter Backups, die ausreichend freigegeben wurden.
Gabore
1
rette meine Stunde! Danke
HATCHA
Bitte schön. Jahre vergehen, aber wir sehen immer noch diese "nützliche Botschaft".
Der kleinste
15

Angenommen, die * .bak-Datei befindet sich auf demselben Computer wie die SQL Express-Instanz, liegt möglicherweise ein Berechtigungsproblem vor.

Wenn Sie procmon http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx herunterladen, können Sie nach diesem Dateipfad filtern, nach ACCESS_DENIED-Fehlern suchen und, falls vorhanden, den fehlgeschlagenen Kontonamen sehen Zugriff.

Martin Smith
quelle
2
Ich hatte ein völlig anderes Problem (nicht genügend Speicherplatz), das sich unter derselben Fehlernummer manifestierte - procmon wies mich in die richtige Richtung - definitiv eines, an das ich mich für die Zukunft erinnern sollte. Danke Martin.
Godders
@Martin: Wäre es möglich zu wissen, wie Sie die Fehlermeldung mit ProcMon herausfinden können?
Baahubali
10

Ich habe auch diesen Fehler bekommen.

Das Problem stellte sich einfach darin heraus, dass ich die vollständige Verzeichnisstruktur für die Dateispeicherorte der MDF- und LDF-Dateien manuell erstellen musste.

Schade, dass SQL-Server das fehlende Verzeichnis nicht richtig gemeldet hat!

Coder_Dan
quelle
5

Ich habe den gleichen Fehler. Ich habe versucht, dies zu beheben, indem ich eine höhere Berechtigung für das Konto festgelegt habe, auf dem der SQL Client-Dienst ausgeführt wird. Dies hat jedoch nicht geholfen. Das Problem war, dass ich MS SQL Management Studio nur in meinem Konto ausführe. Stellen Sie also beim nächsten Mal sicher, dass Sie es als Als Administrator ausführen ausführen, wenn Sie Win7 mit aktivierter Benutzerkontensteuerung verwenden.

Jaroslav Urban
quelle
3

Ja, es ist ein Sicherheitsproblem. Überprüfen Sie die Ordnerberechtigungen und das Dienstkonto, unter dem SQL Server 2008 gestartet wird.

Andrii Starikov
quelle
3

Ich hatte diesen Fehler. Bei mir hat nichts funktioniert, bis ich die SQLServer-Protokolldatei im Protokollordner "MSSQL10_50" geöffnet habe. Darin wurde klar angegeben, welche Datei nicht überschrieben werden konnte. Es stellte sich heraus, dass die MDF-Datei in den Datenordner "MSSQL10" geschrieben wurde. Ich habe sichergestellt, dass der Ordner dieselben SQLServer-Benutzerberechtigungen hat wie der entsprechende Ordner "MSSQL10_50". Dann hat alles geklappt.

Das Problem hierbei ist, dass das Fehlerdetail protokolliert, aber nicht gemeldet wird. Überprüfen Sie daher die Protokolle.

Hillstuk
quelle