# SQL BACKUP DATABASE: So sichern Sie Ihre Datenbank vor Datenverlust

SQL BACKUP DATABASE wird verwendet, um ein Backup einer Datenbank zu erstellen und an einem zusätzlichen Speicherort zu hinterlegen. Es gibt durch den Befehl WITH DIFFERENTIAL auch die Möglichkeit, lediglich Änderungen nach dem letzten Backup zu sichern und so Speicherplatz und Zeit zu sparen.

## Was ist SQL BACKUP DATABASE?

Die [Structured Query Language](https://www.ionos.de/digitalguide/server/knowhow/was-ist-sql/) (SQL) ist geeignet für den Umgang mit hochsensiblen und umfangreichen Datensätzen, die mit Hilfe der Sprache effizient und einfach gespeichert und verwaltet werden können. Ein wichtiges Werkzeug, um die Sicherheit dieser Daten zu gewährleisten, ist die Erstellung eines [Backups](https://www.ionos.de/digitalguide/server/sicherheit/was-ist-ein-backup/) für eine bereits angelegte und genutzte Datenbank. Auf diese Weise können Sie sich **gegen Datenverlust oder die Schädigung einer Festplatte** wappnen und ohne Verzögerung mit den hinterlegten Daten weiterarbeiten. Diese Praxis ist für geschäftliche und private Zwecke unbedingt empfehlenswert. Mit der Anweisung SQL BACKUP DATABASE erstellen Sie eine solche Sicherung in nur wenigen Schritten.

Dabei sollten Sie insbesondere beachten, dass Sie die Sicherung **auf einer zusätzlichen Festplatte speichern**. Nur so können Sie gewährleisten, dass Ihnen die Daten auch nach einem Verlust der eigentlichen Datenbank weiterhin zur Verfügung stehen. Dafür muss auf der Festplatte, die für das Backup vorgesehen ist, **genügend Speicherplatz** vorhanden sein. Sie haben die Wahl zwischen einem kompletten Backup ([Full Backup](https://www.ionos.de/digitalguide/server/knowhow/full-backup/)) und einem teilweisen Backup ([Differential Backup](https://www.ionos.de/digitalguide/server/knowhow/differenzielles-backup/)). Wir stellen Ihnen beide Optionen und ihre Unterschiede vor.

## Syntax und Funktionsweise

Die Syntax von SQL BACKUP DATABASE besteht nur aus zwei Zeilen. Es werden lediglich der Name der Datenbank und der neue Speicherplatz benötigt, unter dem die Sicherung hinterlegt wird. Der entsprechende Code sieht so aus:

```sql
BACKUP DATABASE name_der_datenbank
TO DISK = 'neuer_speicherort';
```

`name_der_datenbank` bezeichnet die Datenbank, für die Sie ein Backup erstellen möchten. Mit `TO DISK` legen Sie fest, an welchem Speicherort die Daten hinterlegt werden sollen.

## Beispiel für die Nutzung der Anweisung

In der Praxis könnte SQL BACKUP DATABASE aussehen wie folgt:

```sql
BACKUP DATABASE Kundenliste
TO DISK = 'C:\backups\neues_backup.bak';
```

## Die teilweise Sicherung mit WITH DIFFERENTIAL

Wenn Sie bereits ein Backup erstellt haben, können Sie anschließend auch ein sogenanntes BACKUP WITH DIFFERENTIAL erstellen. Dabei werden nicht erneut alle Daten gespeichert, sondern lediglich jene Änderungen berücksichtigt, die Sie **nach dem letzten Backup** vorgenommen haben. Das **spart Zeit und Speicherplatz**, da große Teile der Datenbank bereits im Vorfeld hinterlegt wurden. Wichtig ist dabei, dass der Speicherort des neuen Backups dem der ursprünglichen Sicherung entspricht. Die Syntax sieht in diesem Fall so aus:

```sql
BACKUP DATABASE name_der_datenbank
TO DISK = 'neuer_speicherort'
WITH DIFFERENTIAL;
```

Angewendet auf unser Beispiel von oben, würde die Operation SQL BACKUP DATABASE mit dem [SQL-Befehl](https://www.ionos.de/digitalguide/server/konfiguration/sql-befehle/) WITH DIFFERENTIAL folgendermaßen aussehen:

```sql
BACKUP DATABASE Kundenliste
TO DISK = 'C:\backups\neues_backup.bak'
WITH DIFFERENTIAL;
```

## Ähnliche Befehle wie SQL BACKUP DATABASE

Eine Alternative zu SQL BACKUP DATABASE ist ein **Transaction Log Backup**. Auch dieser berücksichtigt alle Änderungen, die seit dem letzten Transaction Log Backup oder der Erstellung der ursprünglichen Datenbank vorgenommen wurden. Auf diese Weise können Sie jederzeit zu einem bestimmten Stand der Datenbank zurückkehren bzw. auf diese zugreifen. Die Syntax ist diese:

```sql
BACKUP LOG name_der_datenbank
TO DISK = 'neuer_speicherort';
```

Für unser Beispiel wären dies die entsprechenden Parameter:

```sql
BACKUP LOG Kundenliste
TO DISK = 'C:\backups\neues_backup.bak';
```

Wenn Sie ein Backup wiederherstellen möchten, benötigen Sie den Befehl **`RESTORE DATABASE`**. Dies ist seine Syntax:

```sql
RESTORE DATABASE name_der_datenbank
FROM DISK = 'neuer_speicherort';
```

Dabei geben Sie also nicht an, wo das Backup aufgerufen werden soll, sondern hinterlegen den Speicherort des Backups. In unserem Beispielfall würde der Command so aussehen:

```sql
RESTORE DATABASE Kundenliste
FROM DISK = 'C:\backups\neues_backup.bak';
```

Tipp Hohe Performance und schnelle Zugriffszeiten: Wenn Sie sich für das [SQL-Server-Hosting](https://www.ionos.de/cloud/sql-server-hosting) von IONOS entscheiden, erhalten Sie zu jeder Zeit den bestmöglichen Zugriff auf Ihre Daten. Wählen Sie zwischen MSSQL, MySQL und MariaDB und profitieren Sie von persönlichem Support!


This is a markdown version of: [https://www.ionos.de/digitalguide/server/konfiguration/sql-backup-database/](https://www.ionos.de/digitalguide/server/konfiguration/sql-backup-database/) for AI/LLM consumption.