1023 - Einrichten eines Backups auf einen Microsoft SQL Server

Um eine Datenbank in MSSQL regelmäßig zu sichern, kannst du entweder den SQL Server-Agent verwenden (sofern verfügbar), um Sicherungsaufträge zu planen, oder ein Skript erstellen, das du über den Taskplaner des Betriebssystems ausführst. Hier ist eine Anleitung für beide Ansätze:

Sicherungsauftrag mit SQL Server-Agent einrichten

  • Öffne SQL Server Management Studio (SSMS) und verbinde dich mit deinem Server.

    • Navigiere zu SQL Server-Agent (wenn er sichtbar ist; falls nicht, könnte er in deiner SQL Server-Edition nicht verfügbar sein).
  • Erstelle einen neuen Auftrag:

    • Rechtsklicke auf SQL Server-Agent > Aufträge > Neuer Auftrag.
    • Gib dem Auftrag einen Namen (z. B. Datenbank-Sicherung).
  • Neuen Auftragsschritt hinzufügen:

    • Gehe zu Schritte und klicke auf Neu.
    • Gib dem Schritt einen Namen (z. B. Sicherungsschritt).
    • Wähle Transact-SQL-Skript (T-SQL) aus und wähle die Ziel-Datenbank.

Füge das Sicherungs-Skript hinzu:

BACKUP DATABASE [DeineDatenbank]
TO DISK = N'C:\Sicherungen\DeineDatenbank.bak'
WITH NOFORMAT, NOINIT,
     NAME = N'Datenbank-Full Backup',
     SKIP, NOREWIND, NOUNLOAD, STATS = 10;
  • Zeitplan festlegen:

    • Gehe zur Registerkarte Zeitplan und lege fest, wie oft die Sicherung erfolgen soll (z. B. täglich, wöchentlich).
  • Auftrag speichern und testen:

    • Speichere den Auftrag und führe ihn manuell aus, um sicherzustellen, dass die Sicherung ordnungsgemäß erstellt wird.

Sicherungsskript über den Windows-Taskplaner ausführen

Falls der SQL Server-Agent nicht verfügbar ist, kannst du das Backup mit einem Skript und dem Taskplaner automatisieren:

  • Erstelle ein Skript:
@echo off

:: Konfigurationsabschnitt
set MSSQL_USER=PIPEFAB4
set MSSQL_PASSWORD=PIPEFAB4
set MSSQL_HOST=localhost oder Servername (Instanz)
set MSSQL_DATABASE=PIPEFAB4
set BACKUP_DIR=Speicherpfad (\\Server... oder C:\...)
set TIMESTAMP=%date:~0,4%%date:~4,2%%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%
set BACKUP_FILE=%BACKUP_DIR%\%MSSQL_DATABASE%_%TIMESTAMP%.bak
set LOG_FILE=%BACKUP_DIR%\%MSSQL_DATABASE%_%TIMESTAMP%.log

:: Sicherstellen, dass der Sicherungsordner existiert
if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"

:: Start der Sicherung protokollieren
echo ---------------------------- >> "%LOG_FILE%"
echo %date% %time% - Starte Datenbanksicherung >> "%LOG_FILE%"
echo Backup-Datei: %BACKUP_FILE% >> "%LOG_FILE%"

:: Backup der Datenbank erstellen
sqlcmd -S %MSSQL_HOST% -U %MSSQL_USER% -P %MSSQL_PASSWORD% -Q "BACKUP DATABASE [%MSSQL_DATABASE%] TO DISK='%BACKUP_FILE%'" >> "%LOG_FILE%" 2>&1

:: Überprüfen, ob der Befehl erfolgreich war
if %ERRORLEVEL% equ 0 (
    echo %date% %time% - Sicherung erfolgreich: %BACKUP_FILE% >> "%LOG_FILE%"
    echo Sicherung erfolgreich: %BACKUP_FILE%
) else (
    echo %date% %time% - Fehler bei der Sicherung der Datenbank. >> "%LOG_FILE%"
    echo Fehler bei der Sicherung der Datenbank.
)

:: Log-Ende markieren
echo %date% %time% - Sicherung beendet. >> "%LOG_FILE%"
echo ---------------------------- >> "%LOG_FILE%"

pause

In diesem Beispiel, darfst Du unter Set die jeweiligen Parameter ergänzen.
Neben dem Backup erstellt dieses Skript auch automatisch eine Log-File im selben Verzeichnis wie das Backup.

  • Richte den Taskplaner ein:
    • Öffne den Windows-Taskplaner und erstelle eine neue Aufgabe.
    • Wähle die Häufigkeit, wann das Backup ausgeführt werden soll.
    • Stelle sicher, dass die Aktion das PowerShell-Skript aufruft.

Mit diesen Methoden kannst du regelmäßige Sicherungen deiner MSSQL-Datenbank einrichten.

Artikeldetails

Artikel-ID:
7
Datum (erstellt):
31.07.2025 10:42:23
Aufrufe:
30,391