Jump to content

Backup mit dem Programm SQLBackupAndFTP


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Ich nutze als Backup-Programm SQLBackupAndFTP, weil mir das SQL Management Studio bei dem geplanten Backup zu kompliziert erscheint. Ich habe auf meinen beiden MS SQL-Servern SQL 2017 Express installiert. Wenn ich auf Server A ein Backup erstelle und dieses auf Server B per Restore-Job wiederherstelle, bekomme ich die folgende Fehlermeldung:

 

12.12.2019 11:40 Failed to restore XYZ30 database. Das Sicherungsmedium "C:\WINDOWS\TEMP\SYSTEM\Pranas.NET\SQLBackupAndFTP\backup\57549815-2333-44fb-8945-2b3c1ef\XYZ52030201912110000.bak" kann nicht geöffnet werden. Betriebssystemfehler 5(Zugriff verweigert).

RESTORE FILELIST wird fehlerbedingt beendet. 

12.12.2019 11:40 Trying to restore the database from default SQL backup folder (C:\Program Files\Microsoft SQL Server\MSSQL14.XYZ30\MSSQL\Backup) 

12.12.2019 11:40 Job execution error: Das Sicherungsmedium "C:\Program Files\Microsoft SQL Server\MSSQL14.XYZ30\MSSQL\Backup\XYZ30201912110000.bak" kann nicht geöffnet werden. Betriebssystemfehler 5(Zugriff verweigert). RESTORE FILELIST wird fehlerbedingt beendet. Computer name: "DESKTOP-6XYZ"

12.12.2019 11:41 Job "Restore Job - 3" finished with "1" errors

 

Was mache ich falsch?

bearbeitet von muenster1974
Link zu diesem Kommentar

Mit welchem User bist Du am SQL Server Management Studio angemeldet? Oder wird das Backup nur durch das gen. Tool durchgeführt? Falls ja, hat das ausführende Benutzerkonto auch die passenden Zugriffsberechtigungen für die beteiligten Verzeichnisse?

 

Weshalb nicht mit dem SQL Server Management Studio? Da geht die Sicherung und die Wiederherstellung sehr einfach und schnell. Alternativ kann man sich natürlich ein Backup und Restore Script anlegen, das lässt man dann im SQL Server Management Studio per Hand schnell laufen.

Link zu diesem Kommentar

Es kann an den Berechtigungen nicht liegen. Wenn ich auf Server B ein Backup erstelle, kann ich es ohne Probleme wiederherstellen. Es funktioniert aber nicht mit dem Backup, das auf Rechner A erstellt wurde. Ich habe in einem Forum die Info erhalten, es läge an verschiedenen Versionen des Servers. Das habe ich aber ausgeschlossen. Auf beiden Servern läuft Express!

vor einer Stunde schrieb Sunny61:

Oder wird das Backup nur durch das gen. Tool durchgeführt?

Ja.

 

bearbeitet von muenster1974
Link zu diesem Kommentar
20 minutes ago, muenster1974 said:

Ich habe in einem Forum die Info erhalten, es läge an verschiedenen Versionen des Servers. Das habe ich aber ausgeschlossen. Auf beiden Servern läuft Express!

Das ist die Edition. Version ist 2014 mit einem bestimmten Patchstand.

Dann dürfte aber nicht die Fehlermeldung "Zugriff verweigert" kommen.

Link zu diesem Kommentar
vor einer Stunde schrieb Dukel:

Das ist die Edition. Version ist 2014 mit einem bestimmten Patchstand.

Egal. Beide Server laufen gleich. Es funktioniert mit dem Tool nicht, auf einem Rechner das Backup zu erstellen und auf dem anderen Rechner wiederherzustellen. Wenn mir jemand erklären könnte, wie ich mit dem Managementstudio in der Express-Version einen vernünftigen automatischen Backup-Job hinbekomme, würde mir das auch helfen. Ich will jede Nacht um 0 Uhr eine komplette Kopie der Datenbank anfertigen. Es soll dann in dem Backup-Ordner für jeden Tag eine Backup-Datei liegen. Alle paar Wochen kann ich die alten Dateien per Hand löschen. Das muss nicht automatisiert werden. Wie muss das Skript dafür lauten? Hier habe ich schon etwas Brauchbares gefunden: https://codekabinett.com/rdumps.php?Lang=1&targetDoc=sql-server-express-backup-automatisieren

Clipboard01.jpg

bearbeitet von muenster1974
Link zu diesem Kommentar

So könnte das T-SQL Script aussehen:

 


DECLARE @path VARCHAR (250)
SET @path = 'Pfad_zurDatenbank_' + CONVERT (VARCHAR (8), GETDATE ( ), 112) + '.bak'
BACKUP DATABASE [Name_der_DB] TO DISK = @path
WITH INIT, NAME = N'DeineDB_Sicherung'

 

DECLARE @pathLOG VARCHAR (250)
SET @pathLOG = 'Pfad_zum_log_sich' + CONVERT (VARCHAR (8), GETDATE ( ), 112) + '.bak'
BACKUP LOG [Name_des_Log] TO DISK = @pathlog
WITH INIT, NAME = N'DeineDB_Log_Sicherung'

 

Das Script kann man mit Hilfe einer Batch Datei täglich ausführen lassen. Die Logsicherung ist nur für den Fall, dass es auch wirklich ein Log gibt. Ansonsten einfach rausnehmen den Teil.

 


REM Das Script wird aus dem Taskplaner aufgerufen.

REM

cd "Pfad zum Binn Verzeichnis\Binn"

"Pfad zum Binn Verzeichnis\Binn\SQLCMD.EXE" -E -S Servername\Instanz -i "Pfad zum SQLScript\Dein_FullBackup.sql"

 

Weitere Informationen zum Hilfsprogramm: https://docs.microsoft.com/de-de/sql/tools/sqlcmd-utility?view=sql-server-ver15

Download: https://www.microsoft.com/en-us/download/details.aspx?id=53591

Link zu diesem Kommentar

Als Code formatieren wäre hilfreich - und wenn das tatsächlich der Inhalt ist, funktioniert das nicht, da Anführungszeichen fehlen.

Edit: Und entweder wechselst Du mit "cd" erst in das Binn-Verzeichnis - oder Du rufst die SQLCMD direkt vollqualifizert auf. Beides gleichzeitig geht auch nicht.

Edit 2 - ich bin heut etwas zerstreut :-)

cd "%ProgramFiles%\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn"
SQLCMD.EXE -E -S DESKTOP-XYZ\YXZ30 -i C:\Users\XXXYYY\Documents\Autobackup\FullBackup.sql 
"%ProgramFiles%\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\SQLCMD.EXE" -E -S DESKTOP-XYZ\YXZ30 -i C:\Users\XXXYYY\Documents\Autobackup\FullBackup.sql 

Die Variante kannst Du Dir im Prinzip frei raussuchen.

Edit 3 - die Zerstreuung geht weiter :-) Das mit den Anführungszeichen stand so schon im Tip von Sunny61. Und das mit "cd" und "Exe aufrufen" auch.

bearbeitet von daabm
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...