Vous êtes sur la page 1sur 7

Types de sauvegarde SQL Server

Si ce site vous fait gagner des


heures de travail, veuillez le mettre
en liste blanche dans votre bloqueur
de publicités ou

Faire un don maintenant

pour nous soutenir ❤️en payant


l'hébergement Web pour maintenir
le site Web en fonctionnement.
Résumé : dans ce didacticiel, vous découvrirez différents types de sauvegarde SQL Server,
notamment la sauvegarde complète, la sauvegarde différentielle et la sauvegarde du journal
des transactions.

Qu'est-ce qu'une sauvegarde

Une sauvegarde est une image de cette base de données au moment de la sauvegarde
complète.

Lorsque vous sauvegardez une base de données, vous la copiez sur un périphérique de
sauvegarde tel qu'un disque. Plus tard, vous pourrez utiliser les fichiers de sauvegarde pour
restaurer la base de données à son état d'origine.

Il est important que vous disposiez d'une bonne stratégie de sauvegarde pour répondre aux
besoins de l'entreprise. La planification de la stratégie de sauvegarde commence par une
stratégie de récupération.

Ce sont des questions importantes qui orientent la stratégie de rétablissement :

Quelle est la quantité maximale de perte de données mesurée en temps qui peut être
tolérée ?
Quel est le délai accepté pour la restauration de la base de données en cas de sinistre ?

La première question déterminera les types de sauvegarde dont vous avez besoin et la
deuxième question implique l'utilisation d'une solution haute disponibilité.

Pourquoi sauvegarder

En règle générale, vous sauvegardez une base de données pour restaurer son état d'origine
juste avant un sinistre tel que :

Défaillance matérielle

Corruption de la base de données

Erreurs utilisateur

Vous pouvez également utiliser une sauvegarde pour copier une base de données d'un
serveur à un autre. Par exemple, vous effectuez une sauvegarde d'une base de données sur le
serveur de production et la restaurez sur le serveur de test.

Où stocker les sauvegardes

Idéalement, vous devez stocker la sauvegarde sur un périphérique distinct qui n'est pas le
même que SQL Server.

Par conséquent, vous ne devez jamais stocker la sauvegarde sur le même serveur SQL Server.
La raison en est que si le serveur tombe en panne, vous perdrez à la fois les données et leur
sauvegarde.

Quelles bases de données doivent être sauvegardées

Vous devez sauvegarder à la fois les bases de données utilisateur et les bases de données
système (à l'exception de la tempdb base de données système).

Types de sauvegarde

SQL Server vous permet de créer une sauvegarde au niveau de la base de données ; il ne
prend pas en charge la sauvegarde au niveau de la table. La base de données SQL Server
possède les types de sauvegarde suivants :

Sauvegarde complète
Sauvegarde différentielle

Sauvegarde du journal des transactions

Supposons que nous ayons une table dans une base de données avec quatre
enregistrements :

Sauvegarde complète

Une sauvegarde complète contient une copie de l'intégralité de la base de données, y


compris les pages de données utilisées et les fichiers journaux écrits lors de la sauvegarde.
Une sauvegarde complète ne tronque pas le journal des transactions.

Pour restaurer la base de données, vous avez toujours besoin d'une sauvegarde complète. En
d’autres termes, vous ne pouvez pas restaurer une sauvegarde différentielle ou une
sauvegarde du journal des transactions sans une sauvegarde complète.

Une sauvegarde complète peut entraîner une quantité importante d'E/S disque. Par
conséquent, vous devez l’effectuer à un moment où la charge de travail est faible.

L'image suivante illustre des sauvegardes complètes :


Sur cette image, nous avons deux sauvegardes complètes :

La première sauvegarde complète contient l'enregistrement avec l'identifiant 1

La deuxième sauvegarde complète contient les enregistrements portant les identifiants 1,


2 et 3.

Pour effectuer une sauvegarde complète, vous utilisez l' BACKUP DATABASE instruction avec la
syntaxe de base suivante :

BACKUP DATABASE database_name


TO DISK = path_to_backup_file;

Dans cette syntaxe, vous spécifiez le nom de la base de données sur laquelle vous souhaitez
effectuer une sauvegarde complète après les BACKUP DATABASE mots-clés et le chemin
d'accès au fichier de sauvegarde dans la TO DISK clause.

Sauvegarde différentielle

Une sauvegarde différentielle contient uniquement les données modifiées depuis la dernière
sauvegarde complète. En dehors de cela, une sauvegarde différentielle est identique à une
sauvegarde complète.

L'image suivante illustre les sauvegardes différentielles :


Sur cette image, nous avons deux sauvegardes complètes et trois sauvegardes
différentielles :

La première sauvegarde différentielle contient l'enregistrement avec l'identifiant 2 qui est


inséré après la première sauvegarde complète.

La deuxième sauvegarde différentielle contient les enregistrements portant les


identifiants 2 et 3 qui sont insérés après la première sauvegarde complète.

La troisième sauvegarde différentielle contient l'enregistrement avec l'identifiant 4 qui est


inséré après la deuxième sauvegarde complète.

Pour effectuer une sauvegarde différentielle, vous utilisez l' BACKUP DATABASE instruction
avec l' DIFFERENTIAL option comme celle-ci :

BACKUP DATABASE database_name


TO DISK = path_to_backup_file
WITH DIFFERENTIAL;

Sauvegarde du journal des transactions


Une sauvegarde du journal des transactions contient toutes les modifications apportées à la
base de données. Une sauvegarde du journal des transactions est requise lorsque vous
utilisez le modèle de récupération complet ou avec journalisation en masse, car ils doivent
tronquer le journal.

Notez que deux sauvegardes ultérieures du journal des transactions ne contiennent pas de
données redondantes. De plus, la sauvegarde du journal des transactions n'a aucun impact
sur les performances. Vous pouvez donc l'effectuer lorsque la charge de travail est élevée.

Pour effectuer une sauvegarde du journal des transactions, le modèle de récupération de la


base de données doit être soit FULL ou BULK_LOGGED .

L'image suivante illustre la sauvegarde du journal des transactions :

Cette image contient deux sauvegardes complètes et trois sauvegardes du journal des
transactions :

La première sauvegarde du journal des transactions contient l'enregistrement avec


l'identifiant 2
La deuxième sauvegarde du journal des transactions contient l'enregistrement avec l'ID 3

La troisième sauvegarde du journal des transactions contient l'enregistrement portant l'ID


4.

Notez qu'une sauvegarde complète n'efface pas les journaux de transactions. Par
conséquent, le journal des transactions copiera tous les enregistrements qui n'ont pas
été sauvegardés par des sauvegardes précédentes du journal des transactions.

Pour effectuer une sauvegarde du journal des transactions, vous utilisez l' BACKUP
LOG instruction comme ceci :

BACKUP LOG database_name


TO DISK = path_to_backup_file;

Résumé
SQL Server vous propose trois types de sauvegarde : sauvegarde complète, sauvegarde
différentielle et sauvegarde du journal des transactions.

Une sauvegarde complète sauvegarde l'intégralité de la base de données et la partie


active des journaux de transactions. Cela n'efface pas le journal des transactions.

Une sauvegarde différentielle est basée sur une sauvegarde complète. Une sauvegarde
différentielle sauvegarde les modifications depuis la dernière sauvegarde complète et la
partie active des journaux de transactions à la fin de la sauvegarde.

Une sauvegarde du journal des transactions contient des journaux de transactions qui
n'ont pas encore été sauvegardés dans le dernier enregistrement existant au moment de
la fin de la sauvegarde.

Vous aimerez peut-être aussi