-
27. 12. 2011, 17:38 #1
MSSQL Server - Welche Rechte für Backup
Hallo ich hab ein kleines Problem, ich will eine MSSQL-Datenbank (2008) per Batch sichern, mir ist aber nicht ganz klar welche Rechte welcher User wo braucht.
Mein Batch sieht ungefähr so aus:
Anmerkung USER und PASSWORT sind die Anmeldenamen über die ich mich auch im SQL Server ManagementSudio anmelde.Code:sqlcmd -S SERVERNAME -U USER -P PASSWORT -i "BACKUP DATABASE [DATENBANKNAME] TO DISK = '\\ein\Pfad\auf\einem\anderen\Server\SICHERUNGSNAME.bak' WITH INIT"
Das Problem ich bekomme immer die Meldung :
Sqlcmd: Fehler: Fehler beim Öffnen oder Verarbeiten von Datei 'BACKUP DATABASE [....] TO DISK = '...' WITH INIT' (Ursache: Das System kann den angegebenen Pfad nicht finden).
Und ich bin mir nicht ganz im klaren wer jetzt wo Rechte braucht, benötigt der Anmelde-User an der Datenbank (-U USER -P PASSWORT) Oder braucht mein Windows-User Schreibrechte auf dem Server wo die Sicherung hingeschrieben werden soll?
Sollte es der Anmelde-User sein, gibt es auch eine Möglichkeit zu sagen das er die Sicherung einfach irgendwo auf dem Server auf dem auch die Datenbank ist abgelegt wird und ich sie dann von dort abhole?
-
27. 12. 2011, 19:52 #2Mitglied
- Registriert seit
- Oct 2011
- Beiträge
- 92
Re: MSSQL Server - Welche Rechte für Backup
Code:Nun, bei MS steht das so BACKUP DATABASE dbname TO DISK = '\\BackupSystem\BackupDisk1\backups\dbnameData.Bak'; GO schonmal versucht das laufwerk erst zu mappen und dann etwa so: BACKUP DATABASE dbname TO DISK = 'Z:\backup\dbname.bak'; GO auch: sqlcmd -U MyLogin -S <ComputerName>\<InstanceName> führt vielleicht dazu das es die DB nicht findet
Geändert von r4wi (27. 12. 2011 um 19:57 Uhr) Grund: was vergessen
-
28. 12. 2011, 11:24 #3
Re: MSSQL Server - Welche Rechte für Backup
Update:
Mein Befehl von gestern hatte einen entscheideneden Fehler, ich hatte am Anfang eine Input Datei angelegt und dort den BACKUP-Befehl gespeichert, mich aber später umentscheiden und den BACKUP-Befehl direkt angegeben, hatte aber vergessen das Zeichen korrekt zu setzten, also statt "-i" für Inputfile das "-Q" für Query. Was auch die Fehlermeldung erklärt...
Der befehl sieht jetzt flgendermaßen aus:
Und ich denke ich bin nach langer google-Suche auch auf die Ursache gestossen, der DB-User hat auf dem Netzlaufwerk keine Rechte, laut diversen Einträgen in Foren ist der DB-User aber derjenige der die Sicherung auf dem Dateisytem ablegt.Code:sqlcmd -S SERVERNAME -U USER -P PASSWORT -Q "BACKUP DATABASE [DATENBANKNAME] TO DISK = '\\ein\Pfad\auf\einem\anderen\Server\SICHERUNGSNAME.bak' WITH INIT;"
Trotzdem danke für die Antwort!
-


Zitieren
mehr lesen...







Resident Evil 6 erscheint in...
Heute, 15:21 in gulli:news