Zum Inhalt

Microsoft SQL Server

Im Folgenden finden sich Befehle, um eine Datenbank als komprimierte Binär-Datei zu sichern, zu leeren und wiederherzustellen.

Die Befehle sind darauf ausgelegt kopiert, eingefügt und ausgeführt zu werden. Um das zu erreichen werden Variablen verwendet. Diese müssen vor dem Ausführen der Befehle jeweils einmalig pro Shell wie folgt gesetzt werden:

VARIABLE=wert

Interaktive Kommandozeile

Als interaktive Kommandozeile kommt sqlcmd zum Einsatz.

Folgende Variablen haben Einfluss auf den Unten stehenden Befehl:

  • DATABASE: Name der Datenbank; optional
sqlcmd ${DATABASE:+-d "${DATABASE}"}

Sichern

Beim Abspeichern kommt sqlcmd zum Einsatz.

Folgende Variablen haben Einfluss auf den Unten stehenden Befehl:

  • DATABASE: Name der Datenbank; notwendig
  • FILE: Pfad des Datenbankdumps; optional; default: ${DATABASE}.dump
sqlcmd -Q "
    BACKUP DATABASE \"${DATABASE}\"
    TO DISK = '${FILE:-${DATABASE}.dump}'
    WITH COMPRESSION, NOFORMAT, NOINIT, SKIP
"

Leeren

Beim Leeren kommt sqlcmd zum Einsatz.

Folgende Variablen haben Einfluss auf den Unten stehenden Befehl:

  • DATABASE: Name der Datenbank; notwendig
sqlcmd -Q "
    DROP DATABASE IF EXISTS \"${DATABASE}\";
    CREATE DATABASE \"${DATABASE}\";
"

Wiederherstellen

Beim Wiederherstellen kommt sqlcmd zum Einsatz. Vor dem Wiederherstellen sollte darauf geachtet werden, dass die Datenbank leer ist.

Folgende Variablen haben Einfluss auf den Unten stehenden Befehl:

  • DATABASE: Name der Datenbank; notwendig
  • FILE: Pfad des Datenbankdumps; optional; default: ${DATABASE}.dump
sqlcmd -Q "
    RESTORE DATABASE \"${DATABASE}\"
    FROM DISK = '${FILE:-${DATABASE}.dump}'
    WITH REPLACE, NORECOVERY
"