BACKUP DATABASE
Datenbanken & Tabellen
Ein Backup ist eine Sicherungskopie deiner Datenbank. Geht etwas schief – ein versehentliches DROP, ein Festplattendefekt oder ein fehlerhaftes UPDATE – kannst du den Zustand aus dem Backup wiederherstellen. Regelmäßige Backups sind Pflicht für jede ernsthafte Datenbank.
BACKUP DATABASE in SQL Server
SQL Server bringt einen eigenen SQL-Befehl mit, um eine vollständige Sicherung in eine Datei zu schreiben:
BACKUP DATABASE shop TO DISK = 'D:\backups\shop.bak';
Differenzielles Backup
Statt jedes Mal alles zu sichern, kannst du nur die Änderungen seit dem letzten Voll-Backup speichern. Das ist schneller und spart Platz:
BACKUP DATABASE shop TO DISK = 'D:\backups\shop_diff.bak' WITH DIFFERENTIAL;
Hinweis: MySQL und PostgreSQL
MySQL und PostgreSQL kennen den Befehl BACKUP DATABASE nicht. Dort sicherst du über Kommandozeilen-Werkzeuge, nicht über SQL selbst. Das ist die gängige Praxis:
- MySQL/MariaDB:
mysqldump - PostgreSQL:
pg_dump
Beispiel mit mysqldump (im Terminal, nicht im SQL-Editor):
mysqldump -u root -p shop > shop_backup.sql
Und für PostgreSQL:
pg_dump shop > shop_backup.sql
Diese Werkzeuge erzeugen eine SQL-Datei mit allen CREATE TABLE- und INSERT-Anweisungen. Zurückspielen kannst du sie z. B. so:
mysql -u root -p shop < shop_backup.sql
Stolperfalle
Ein Backup, das du nie getestet hast, ist nur eine Hoffnung. Prüfe regelmäßig, ob sich deine Sicherung tatsächlich wiederherstellen lässt. Lagere Backups außerdem an einem anderen Ort als die Datenbank selbst – sonst sind bei einem Hardwaredefekt beide gleichzeitig weg.