SQL Schnellstart – Backup DB

In der letzten Lektion hast du erfahren, wie du eine Datenbank mit der Hilfe von DROP DB löschen kannst. Nun stellt sich die Frage, wie wir unsere Datenbank davor schützen, dass ein anderer Datenbankadministrator aus Versehen die falsche Datenbank löscht. Die SQL-Anweisung BACKUP DATABASE hilft dir dabei!

SQL BACKUP DATABASE: Definition

Die SQL BACKUP-DATABASE-Anweisung wird dazu verwendet, um ein vollständiges Backup einer existierenden Datenbank zu erstellen. Mit "TO DISK" kannst du angeben, wo dieses Backup gespeichert werden soll.

SQL BACKUP DATABASE: Syntax

Die Syntax sieht folgendermaßen aus:

BACKUP DATABASE datenbankname
TO DISK = 'dateipfad';

Hinweis: BACKUP DATABASE wird nicht von jedem Datenbankmanagementsystem unterstützt.

SQL BACKUP DATABASE: Beispiel

Da nicht viele Datenbankmanagementsysteme die Backup-Funktion unterstützten, möchte ich es dir anhand von Microsoft SQL-Server zeigen.

Ich habe wieder eine Datenbank "kunden":

Nun wird folgender Code ausgeführt, welcher in der Programmiersprache C# geschrieben wurde.

using(var connection = new SqlConnection(@"Server=(LocalDB)MSSQLLocalDB;Integrated Security=true;")
{
	connection.Open();
	var command = connection.CreateCommand();
	command.CommandText = @"BACKUP DATABASE kunden TO DISK = 'D:DatenbankBackupBackup.BAK';";
	command.ExecuteNonQuery();
}

Den Code musst du nicht verstehen, dir sollte aber folgende Zeile auffallen:

BACKUP DATABASE kunden TO DISK = 'D:DatenbankBackupBackup.BAK';

Nach dem Ausführen des Codes erhalte ich daher ein Backup der Datenbank "kunden" in dem Verzeichnis 'D:DatenbankBackupBackup.BAK':

Challenge: Backup der Datenbank 'kunden' erstellen

Wenn du dich bereits mit einem Datenbankmanagementsystem auskennst, dass BACKUP DATABASE unterstützt, dann probiere einmal aus, ein Datenbank-Backup für die DB  "kunden" zu erstellen. Alternativ kannst du das DB-Backup auch direkt über phpMyAdmin erstellen. MySQL unterstützt kein BACKUP DATABASE, deshalb musst du im Menü von PhpMyAdmin suchen. Unten zeige ich dir, wie es geht!

Lösung für XAMPP, MySQL und PhpMyAdmin:

  1. Auf die Datenbank 'kunden' klicken
  2. Exportieren auswählen
  3. Hier kannst du ein Format auswählen und mit 'OK' dir dein Datenbank-Backup herunterladen

    Sollte bei dir ein Fehler kommen, dann liegt das wahrscheinlich daran, dass deine Datenbank leer ist. Es gibt also nichts zum Exportieren. Es genügt bereits eine leere Tabelle anzulegen. Dies kannst du unter dem Reiter "Struktur" machen.

Fazit

Du weißt nun wie du deine Datenbanken vor bösartigen Krypto-Minern, Mitarbeiterfehler, Naturkatastrophen usw. schützen kannst. Es ist sehr empfehlenswert, deine Datenbank Backups auf einer externen Festplatte oder der Cloud zu speichern, weil sonst verschlüsselt der nächste Kryptominer auch noch dein Backup oder der Mitarbeiter kommt auf dem Backup aus Versehen auf die Entfernen-Taste und der CCleaner löscht diese dann ?.