SQL Backup-Datenbank: Ein umfassender Leitfaden für Anfänger

Hallo da draußen, zukünftige Datenbank-Zauberer! Heute machen wir uns auf eine aufregende Reise in die Welt der SQL-Datenbank-Sicherungen. Machen Sie sich keine Sorgen, wenn Sie neu in diesem Bereich sind – wir beginnen mit den ganz Basics und arbeiten uns hoch. Am Ende dieses Tutorials werden Sie Datenbanken wie ein Profi sichern können!

SQL - Backup Database

Was ist eine Datenbank-Sicherung?

Bevor wir uns den Details widmen, lassen Sie uns verstehen, was eine Datenbank-Sicherung eigentlich ist. Stellen Sie sich vor, Sie schreiben ein Roman auf Ihrem Computer. Sie würden wahrscheinlich regelmäßig Ihre Arbeit speichern, oder? Vielleicht sogar eine Kopie auf einem USB-Stick aufbewahren? Eine Datenbank-Sicherung ist im Wesentlichen das Gleiche – es ist eine Kopie Ihrer Datenbank zu einem bestimmten Zeitpunkt.

Denken Sie daran als eine Sicherheitsnetz für Ihre Daten. Wenn etwas mit Ihrer Live-Datenbank schiefgeht, können Sie sie aus der Sicherung wiederherstellen und aufatmen. Vertrauen Sie mir, als jemand, der seit Jahren SQL unterrichtet, habe ich gesehen, wie das viele Studenten (und Professionals) vor Katastrophen gerettet hat!

SQL Backup-Datenbank-Anweisung

Nun, lassen Sie uns mit ein bisschen echter SQL-Codierung die Hände schmutzig machen. Die grundlegende Syntax für das Sichern einer Datenbank in SQL Server lautet:

BACKUP DATABASE databasename
TO DISK = 'filepath'

Lassen Sie uns das auseinandernehmen:

  • BACKUP DATABASE ist der Befehl, der SQL Server anweist, dass wir eine Sicherung erstellen möchten.
  • databasename ist der Name der Datenbank, die Sie sichern möchten.
  • TO DISK = 'filepath' gibt an, wo Sie die Sicherungsdatei speichern möchten.

Hier ist ein realistisches Beispiel:

BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB.bak'

Dieser Befehl erstellt eine Sicherung der Datenbank "MyAwesomeDB" und speichert sie als Datei namens "MyAwesomeDB.bak" im Ordner "C:\Backups".

Arten von Sicherungen in SQL

Nun, da wir die Basics abgedeckt haben, lassen Sie uns die verschiedenen Arten von Sicherungen in SQL erkunden. Es ist so, als ob man zwischen verschiedenen Versicherungsarten wählt – jede hat ihren eigenen Zweck und ihre Vorteile.

1. Volle Sicherung

Eine volle Sicherung ist genau das, was es anhört – eine komplette Kopie Ihrer gesamten Datenbank. Es ist die umfassendste Art der Sicherung, aber auch die zeitaufwendigste und speicherintensivste.

BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH INIT

Die Klausel WITH INIT weist SQL Server an, alle bestehenden Sicherungsdateien mit demselben Namen zu überschreiben.

2. Differenzialsicherung

Eine Differenzialsicherung sichert nur die Daten, die sich seit der letzten vollen Sicherung geändert haben. Es ist, als ob man nur die neuen Kapitel seines Romans seit dem letzten Mal speichert, als man das Ganze gesichert hat.

BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Diff.bak'
WITH DIFFERENTIAL

3. Transaktionsprotokoll-Sicherung

Diese Art sichert das Transaktionsprotokoll, das alle Transaktionen und Datenbankänderungen aufzeichnet. Es ist nützlich für die Wiederherstellung zu einem bestimmten Zeitpunkt.

BACKUP LOG MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Log.bak'

Hier ist eine praktische Tabelle, die diese Sicherungsarten zusammenfasst:

Sicherungsart Was es sichert Wann zu verwenden
Volle Sicherung Gesamte Datenbank Regelmäßig (z.B. wöchentlich)
Differenzialsicherung Änderungen seit letzter voller Sicherung Häufiger (z.B. täglich)
Transaktionsprotokoll-Sicherung Transaktionsprotokoll Am häufigsten (z.B. stündlich)

Datenbank aus Sicherung wiederherstellen

Das Erstellen von Sicherungen ist großartig, aber genauso wichtig ist es zu wissen, wie man aus ihnen wiederherstellt. Es ist wie ein Rettungsboot auf einem Schiff – man hofft, es nie zu brauchen, aber man ist froh, dass es da ist, wenn man es braucht!

Um eine Datenbank aus einer vollen Sicherung wiederherzustellen:

RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH REPLACE

Die Option WITH REPLACE ermöglicht es Ihnen, eine bestehende Datenbank mit demselben Namen zu überschreiben.

Wenn Sie aus mehreren Sicherungen wiederherstellen (wie einer vollen Sicherung gefolgt von Differenzialsicherungen), müssen Sie sie in der richtigen Reihenfolge wiederherstellen:

-- Volle Sicherung wiederherstellen
RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH NORECOVERY

-- Differenzialsicherung wiederherstellen
RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Diff.bak'
WITH RECOVERY

Die Option WITH NORECOVERY hält die Datenbank im Wiederherstellungsstatus, allowing Sie zusätzliche Sicherungen anzuwenden. Dieletzte WITH RECOVERY bringt die Datenbank online.

MySQL und MS SQL Database Backup und Restore

Bisher haben wir uns hauptsächlich auf Microsoft SQL Server konzentriert. Aber was ist mit MySQL, fragen Sie? Keine Sorge, ich habe es nicht vergessen!

MySQL Sicherung

In MySQL können Sie das mysqldump-Kommandozeilen-Tool verwenden, um Sicherungen zu erstellen:

mysqldump -u username -p databasename > backup.sql

Dies erstellt eine SQL-Datei, die alle Befehle enthält, die benötigt werden, um Ihre Datenbank neu zu erstellen.

MySQL Wiederherstellung

Um eine MySQL-Datenbank aus einer Sicherung wiederherzustellen:

mysql -u username -p databasename < backup.sql

Dies liest die SQL-Datei und führt alle Befehle aus, um Ihre Datenbank wiederherzustellen.

MS SQL Server Management Studio

Für diejenigen, die eine grafische Oberfläche bevorzugen, bietet SQL Server Management Studio (SSMS) einen benutzerfreundlichen Backup- und Wiederherstellungsassistenten. Klicken Sie mit der rechten Maustaste auf Ihre Datenbank, wählen Sie "Tasks" und dann "Back Up..." oder "Restore..." diese Funktionen zu nutzen.

Fazit

Und das war's, Leute! Wir haben die Welt der SQL-Datenbank-Sicherungen durchquert, von den Basics bis zu fortgeschritteneren Konzepten. Denken Sie daran, regelmäßige Sicherungen sind wie Zähneputzen – es mag lästig erscheinen, aber Sie werden froh sein, dass Sie es gemacht haben, wenn der Zeitpunkt kommt!

Üben Sie diese Befehle, experimentieren Sie mit verschiedenen Sicherungsarten, und bald werden Sie die Person sein, die für alle Dinge rund um Datenbank-Sicherungen verantwortlich ist. Und wer weiß? Vielleicht schreiben Sie eines Tages sogar Ihren eigenen Leitfaden und teilen Ihr hart erworbenes Wissen mit der nächsten Generation von Datenbank-Enthusiasten.

Bis dahin, weiter sichern, bleiben neugierig und möge Ihre Datenbanken immer intakt sein!

Credits: Image by storyset