Zum Inhalt springen
MultiBaseCS Hilfe
Esc
↑↓navigieren↵öffnen⌘Jvorschau
Auf dieser Seite

Sichern mit der Windows-Aufgabenplanung

Eine SQL Server Express-Datenbank mit einem Skript und der Windows-Aufgabenplanung automatisch sichern.

Automatische Sicherungen für SQL Server Express-Datenbanken

Diese Anleitung beschreibt, wie Sie eine Microsoft SQL Server Express-Datenbank automatisch sichern. Der Express-Edition fehlt der SQL Server-Agent, der Sicherungen nach Zeitplan ausführt. Diese Lücke schließen Sie mit einem SQL-Skript, einer Batchdatei und der Windows-Aufgabenplanung.

Behörden und Unternehmen mit einem vollwertigen Microsoft SQL Server sichern die Datenbank besser mit den Sicherungsfunktionen des SQL Servers (Wartungspläne, SQL Server-Agent). Lesen Sie dazu die Dokumentation von Microsoft.

Schritt 1: SQL-Skript für die Sicherung anlegen

Das folgende Skript sichert die Datenbank und ihr Transaktionsprotokoll in je eine Datei. Im Beispiel heißt die Datenbank MultiBaseCS_Home, die Sicherungen landen im Ordner D:\Backup.

SQL-Skript zur Sicherung der Datenbank
BACKUP DATABASE [MultiBaseCS_Home]
  TO DISK = 'D:\Backup\MultiBaseCS_Home_Sicherung.bak'
  WITH INIT, NAME = N'MultiBaseCS_Home_Sicherung'

BACKUP LOG [MultiBaseCS_Home]
  TO DISK = 'D:\Backup\MultiBaseCS_Home_Log_Sicherung.bak'
  WITH INIT, NAME = N'MultiBaseCS_Home_Log_Sicherung'

Die Option WITH INIT überschreibt die Sicherungsdatei bei jedem Lauf. Die Datei enthält also immer nur die letzte Sicherung.

Den Befehl BACKUP LOG brauchen Sie nur, wenn das Wiederherstellungsmodell der Datenbank auf Vollständig steht. Ohne regelmäßige Sicherung des Transaktionsprotokolls kann die Festplatte in diesem Fall volllaufen. Steht das Wiederherstellungsmodell auf Einfach, lassen Sie den Befehl weg.

Speichern Sie das Skript als D:\Backup\MultiBaseCS-Sicherung.sql.

Schritt 2: Batchdatei anlegen

Die Batchdatei ruft das SQL-Skript mit dem Kommandozeilenprogramm sqlcmd auf, das mit dem SQL Server installiert wird. Die Ausgaben schreibt sie in eine Protokolldatei, die anschließend einen Zeitstempel im Namen erhält.

Batchdatei zum Aufruf über die Windows-Aufgabenplanung
@echo off
rem Vollsicherung der MultiBaseCS-Datenbank
sqlcmd -S localhost\MultiBaseCS -E -i D:\Backup\MultiBaseCS-Sicherung.sql -o D:\Backup\BackupLog.txt

rem Zeitstempel erzeugen
for /f "tokens=1-4 delims=. " %%i in ("%date%") do (
  set day=%%i
  set month=%%j
  set year=%%k
)
for /f "tokens=1-4 delims=.:, " %%i in ("%time%") do (
  set hour=%%i
  set minute=%%j
)

rem Protokolldatei mit Zeitstempel umbenennen
ren D:\Backup\BackupLog.txt FullBackup-%year%-%month%-%day%-%hour%-%minute%.txt

Passen Sie die Angabe hinter -S an Ihre SQL Server-Instanz an (Rechnername\Instanzname):

  • Die SQL Server-Instanz für MultiBaseCS (früher mit der MultiBaseCS Datenbankkomponente eingerichtet) heißt MultiBaseCS, zum Beispiel localhost\MultiBaseCS.
  • Bei einer Standardinstallation von SQL Server Express heißt die Instanz meist SQLEXPRESS.

Der Parameter -E meldet sich mit dem Windows-Konto an, unter dem die Aufgabe läuft. Dieses Konto braucht das Recht, die Datenbank zu sichern.

Speichern Sie die Batchdatei als D:\Backup\SQLBackup.cmd.

Schritt 3: Aufgabe in der Windows-Aufgabenplanung anlegen

  1. Öffnen Sie die Aufgabenplanung über das Windows-Startmenü und wählen Sie die Aufgabenplanungsbibliothek.

  2. Klicken Sie im Bereich Aktionen auf Einfache Aufgabe erstellen ….

  3. Geben Sie einen Namen und optional eine Beschreibung ein. Klicken Sie auf Weiter.

  4. Wählen Sie das Intervall. Wir empfehlen eine tägliche Sicherung. Klicken Sie auf Weiter.

    Aufgabenplanung: Startzeitpunkt festlegen

  5. Legen Sie Startdatum und Uhrzeit fest. Klicken Sie auf Weiter.

  6. Wählen Sie die Aktion Programm starten. Klicken Sie auf Weiter.

    Aufgabenplanung: Programm auswählen

  7. Wählen Sie die Batchdatei SQLBackup.cmd aus und beenden Sie den Assistenten.

Prüfen Sie nach dem ersten Sicherungslauf, ob die Sicherung geklappt hat. Ein Blick in die Protokolldatei im Ordner D:\Backup genügt.

Zuletzt aktualisiert am