# SQL BACKUP DATABASE : sauvegarder votre base de données

SQL `BACKUP DATABASE` est utilisée pour créer une sauvegarde (*backup* en anglais) d’une base de données afin de la déposer à un emplacement supplémentaire. Il est également possible, grâce à la commande `WITH DIFFERENTIAL`, de ne sauvegarder que les modifications effectuées après la dernière sauvegarde, ce qui permet d’économiser de l’espace disque, ainsi que du temps !

## Qu’est-ce que SQL `BACKUP DATABASE` ?

Le [Structured Query Language](https://www.ionos.fr/digitalguide/serveur/know-how/definition-de-sql/) est adapté à la manipulation d’ensembles de données très sensibles et volumineux, qui peuvent être stockés et gérés à l’aide de ce langage. Afin de garantir la sécurité de ces données, il est important de créer des [sauvegardes](https://www.ionos.fr/digitalguide/serveur/securite/quest-ce-quune-sauvegarde/) des bases de données. De cette manière, vous vous protégez **contre les pertes de données, par exemple en cas d’endommagement d’un disque dur** et pouvez ainsi continuer à travailler sans problème. Cette pratique est vivement recommandée à des fins professionnelles et privées. L’instruction SQL `BACKUP DATABASE` vous permet de créer une telle sauvegarde en quelques étapes seulement.

Il est crucial de stocker la sauvegarde **sur un disque dur externe**. Cela garantit que les données restent accessibles, même en cas de perte du disque dur principal. Assurez-vous également que le disque dur destiné aux sauvegardes dispose de **suffisamment d’espace** pour accueillir les fichiers nécessaires. Vous avez le choix entre une [sauvegarde complète](https://www.ionos.fr/digitalguide/serveur/know-how/les-sauvegardes-completes/) et une [sauvegarde différentielle](https://www.ionos.fr/digitalguide/serveur/know-how/les-sauvegardes-differentielles/). Nous vous présentons les deux options et leurs différences.

## SQL `BACKUP DATABASE` : syntaxe et fonctionnement

La syntaxe de la commande SQL `BACKUP DATABASE` ne nécessite que deux lignes. Il suffit d’indiquer le nom de la base de données et le nouvel emplacement de stockage où la sauvegarde sera placée. Voici à quoi ressemble le code correspondant :

```sql
BACKUP DATABASE nom_de_la_base
TO DISK = 'nouvel_emplacement';
```

`nom_de_la_base` désigne la base de données pour laquelle vous souhaitez créer une sauvegarde. Avec `TO DISK`, vous spécifiez l’emplacement où les données seront stockées.

## SQL `BACKUP DATABASE` : exemple d’utilisation de la commande

En pratique, la commande SQL `BACKUP DATABASE` pourrait se présenter ainsi :

```sql
BACKUP DATABASE ListeClients
TO DISK = 'C:\\backups\\nouvelle_sauvegarde.bak';
```

## Sauvegarde partielle avec `WITH DIFFERENTIAL`

Si vous avez déjà effectué une sauvegarde, vous pouvez ensuite créer ce que l’on appelle un *BACKUP WITH DIFFERENTIAL*. Cette méthode ne sauvegarde pas toutes les données à nouveau, mais uniquement les modifications apportées **depuis la dernière sauvegarde**. Cela **économise du temps et de l’espace de stockage**, puisque de grandes parties de la base de données sont déjà stockées. Il est important que l’emplacement de stockage de la nouvelle sauvegarde soit le même que celui de la sauvegarde originale. Voici à quoi ressemble la syntaxe dans ce cas :

```sql
BACKUP DATABASE nom_de_la_base
TO DISK = ‘nouvel_emplacement’
WITH DIFFERENTIAL;
```

Appliquée à notre exemple précédent, l’opération SQL `BACKUP DATABASE` avec la [commande SQL](https://www.ionos.fr/digitalguide/serveur/configuration/commandes-sql/) `WITH DIFFERENTIAL` se présenterait ainsi :

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

## Commandes similaires à SQL `BACKUP DATABASE`

Une alternative à SQL `BACKUP DATABASE` est le *Transaction Log Backup*. Ce type de sauvegarde prend également en compte toutes les modifications effectuées depuis ce dernier backup ou depuis la création de la base de données originale. Cela vous permet de revenir ou d’accéder à un état spécifique de la base de données à tout moment. Voici la syntaxe :

```sql
BACKUP LOG nom_de_la_base
TO DISK = 'nouvel_emplacement';
```

Pour notre exemple, les paramètres correspondants seraient :

```sql
BACKUP LOG ListeClients
TO DISK = 'C:\\backups\\nouvelle_sauvegarde.bak';
```

Si vous souhaitez restaurer une sauvegarde, vous aurez besoin de la commande `RESTORE DATABASE`. Voici sa syntaxe :

```sql
RESTORE DATABASE nom_de_la_base
FROM DISK = 'nouvel_emplacement';
```

Ainsi, vous ne spécifiez pas où la sauvegarde doit être exécutée, mais vous indiquez l’emplacement. Dans notre exemple, la commande ressemblerait à ceci :

```sql
RESTORE DATABASE ListeClients
FROM DISK = 'C:\\backups\\nouvelle_sauvegarde.bak';
```

Conseil Performances élevées et environnement sécurisé : en choisissant le [serveur d’hébergement SQL](https://www.ionos.fr/cloud/hebergement-serveur-sql "Hébergement SQL pour les bases de données MSSQL, MySQL et MariaDB | IONOS") de IONOS, vous bénéficiez à tout moment d’un accès optimal à vos données. Choisissez entre MSSQL, MySQL et MariaDB et profitez d’un interlocuteur dédié pour vous offrir des conseils sur mesure si besoin.


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