Sauvegardes différentielles (SQL Server)Differential Backups (SQL Server)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Cette rubrique relative à la sauvegarde et à la restauration concerne toutes les bases de données SQL ServerSQL Server .This backup and restore topic is relevant for all SQL ServerSQL Server databases.

Une sauvegarde différentielle est basée sur la sauvegarde complète des données précédente la plus récente.A differential backup is based on the most recent, previous full data backup. Une sauvegarde différentielle enregistre uniquement les modifications effectuées depuis la toute dernière sauvegarde complète.A differential backup captures only the data that has changed since that full backup. La sauvegarde complète sur laquelle une sauvegarde différentielle est basée s'appelle la base de la différentielle.The full backup upon which a differential backup is based is known as the base of the differential. Les sauvegardes complètes, à l'exception des sauvegardes de copie uniquement, peuvent servir de base à une série de sauvegardes différentielles, y compris les sauvegardes de base de données, partielles et de fichiers.Full backups, except for copy-only backups, can serve as the base for a series of differential backups, including database backups, partial backups, and file backups. La sauvegarde de base d'une sauvegarde différentielle de fichiers peut faire partie d'une sauvegarde complète, d'une sauvegarde de fichiers ou d'une sauvegarde partielle.The base backup for a file differential backup can be contained within a full backup, a file backup, or a partial backup.

AvantagesBenefits

  • La création d'une sauvegarde différentielle peut être très rapide par rapport à la création d'une sauvegarde complète.Creating a differential backups can be very fast compared to creating a full backup. Une sauvegarde différentielle enregistre uniquement les modifications effectuées depuis la toute dernière sauvegarde complète sur laquelle la sauvegarde différentielle est basée.A differential backup records only the data that has changed since the full backup upon the differential backup is based. Cela facilite la réalisation de sauvegardes des données fréquentes et réduit ainsi le risque de perte de données.This facilitates taking frequent data backups, which decrease the risk of data loss. Toutefois, avant de restaurer une sauvegarde différentielle, vous devez restaurer la base associée.However, before you restore a differential backup, you must restore its base. Par conséquent, la restauration à partir d'une sauvegarde différentielle nécessitera plus de mesures et de temps que la restauration à partir d'une sauvegarde complète, car deux fichiers de sauvegarde sont requis.Therefore restoring from a differential backup will necessarily take more steps and time than restoring from a full backup because two backup files are required.

  • Les sauvegardes différentielles sont particulièrement utiles dans les cas où un sous-ensemble de base de données est modifié plus fréquemment que le reste de la base de données.Differential database backups are especially useful if a subset of a database is modified more frequently than the rest of the database. En pareil cas, les sauvegardes différentielles vous permettent d'effectuer des sauvegardes régulières sans les contraintes liées aux sauvegardes complètes.In these cases, differential database backups enable you back up frequently without the overhead of full database backups.

  • En mode de récupération complète, l'utilisation des sauvegardes différentielles peut réduire le nombre de sauvegardes de journaux à restaurer.Under the full recovery model, using differential backups can reduce the number of log backups that you have to restore.

Vue d'ensemble des sauvegardes différentiellesOverview of Differential Backups

Une sauvegarde différentielle capture l’état de toutes les extensions (collections de huit pages physiquement contiguës) qui ont changé entre la création de la base différentielle et celle de la sauvegarde différentielle.A differential backup captures the state of any extents (collections of eight physically contiguous pages) that have changed between when the differential base was created and the when differential backup is created. Cela signifie que la taille d'une sauvegarde différentielle donnée dépend de la quantité de données qui a changé depuis la base.This means that the size of a given differential backup depends on the amount of data that has changed since the base. De manière générale, plus une base est ancienne, plus une nouvelle sauvegarde différentielle est volumineuse.Generally, the older a base is, the larger a new differential backup will be. Dans une série de sauvegardes différentielles, une extension fréquemment mise à jour contiendra probablement des données différentes dans chaque sauvegarde différentielle.In a series of differential backups, a frequently updated extent is likely to contain different data in each differential backup.

La figure ci-dessous illustre le fonctionnement d'une sauvegarde différentielle.The following illustration shows how a differential backup works. La figure montre 24 extensions de données, dont six ont changé.The figure shows 24 data extents, 6 of which have changed. La sauvegarde différentielle contient seulement ces six extensions de données.The differential backup contains only these 6 data extents. L'opération de sauvegarde différentielle s'appuie sur une page bitmap qui contient un bit pour chaque extension.The differential backup operation relies on a bitmap page that contains a bit for every extent. Pour chaque extension mise à jour depuis la base, le bit a la valeur 1 dans le bitmap.For each extent updated since the base, the bit is set to 1 in the bitmap.

La bitmap différentielle identifie les étendues modifiéesDifferential bitmap identifies changed extents

Notes

Une sauvegarde de copie seule ne met pas à jour la bitmap différentielle.The differential bitmap is not updated by a copy-only backup. Par conséquent, une sauvegarde de copie seule n'affecte pas les sauvegardes différentielles ultérieures.Therefore, a copy-only backup does not affect subsequent differential backups.

Une sauvegarde différentielle effectuée peu de temps après sa base est généralement beaucoup plus petite que la base différentielle.A differential backup that is taken fairly soon after its base is usually significantly smaller than the differential base. Vous gagnez ainsi du temps de sauvegarde et de l'espace de stockage.This saves storage space and backup time. En revanche, au gré des modifications apportées à la base de données, la différence entre cette dernière et une base différentielle spécifique augmente avec le temps.However, as a database changes over time, the difference between the database and a specific differential base increases. Plus le temps écoulé entre une sauvegarde différentielle et sa base augmente, plus la taille de la sauvegarde différentielle peut être importante.The longer the time between a differential backup and its base, the larger the differential backup is likely to be. Au bout du compte, cela signifie que la taille des sauvegardes différentielles peut atteindre celle de la base différentielle.This means that the differential backups can eventually approach the differential base in size. Une sauvegarde différentielle considérable perd les avantages d'une sauvegarde plus rapide et plus réduite.A large differential backup loses the advantages of a faster and smaller backup.

À mesure que la taille des sauvegardes différentielles augmente, la restauration d'une sauvegarde différentielle peut accroître considérablement le temps nécessaire à la restauration d'une base de données.As the differential backups increase in size, restoring a differential backup can significantly increase the time that is required to restore a database. Nous vous recommandons donc d'effectuer une nouvelle sauvegarde complète selon une périodicité fixe pour établir une nouvelle base différentielle des données.Therefore, we recommend that you take a new full backup at set intervals to establish a new differential base for the data. Par exemple, vous pouvez effectuer une sauvegarde complète hebdomadaire de la base de données dans son entier (soit une sauvegarde complète de la base de données), puis des séries régulières de sauvegardes de bases de données différentielles au cours de la semaine.For example, you might take a weekly full backup of the whole database (that is, a full database backup) followed by a regular series of differential database backups during the week.

Au moment de la restauration, pour pouvoir restaurer une sauvegarde différentielle, vous devez restaurer sa base.At restore time, before you restore a differential backup, you must restore its base. Ensuite, pour amener la base de données jusqu'au stade de la création de la sauvegarde différentielle, il vous suffit de restaurer la sauvegarde différentielle la plus récente.Then, restore only the most recent differential backup to bring the database forward to the time when that differential backup was created. En règle générale, vous restaurez la sauvegarde complète la plus récente suivie de la sauvegarde différentielle la plus récente qui est basée sur cette sauvegarde.Typically, you would restore the most recent full backup followed by the most recent differential backup that is based on that full backup.

Sauvegardes différentielles de bases de données avec des tables mémoire optimiséesDifferential Backups of Databases with Memory-Optimized Tables

Pour plus d’informations sur les sauvegardes différentielles et les bases de données avec les tables optimisées en mémoire, consultez Sauvegarde d’une base de données avec des tables optimisées en mémoire.For information about differential backups and databases with memory-optimized tables, see Backing Up a Database with Memory-Optimized Tables.

Sauvegardes différentielles des bases de données en lecture seuleDifferential Backups of Read-Only Databases

Pour les bases de données en lecture seule, les sauvegardes complètes utilisées seules sont plus aisées à gérer que lorsqu'elles sont utilisées avec des sauvegardes différentielles.For read-only databases, full backups used alone are easier to manage than when they are used with differential backups. Lorsqu'une base de données est en lecture seule, les opérations de sauvegarde et les autres opérations ne peuvent pas modifier les métadonnées contenues dans le fichier.When a database is read-only, backup and other operations cannot change the metadata that is contained in the file. Ainsi, les métadonnées nécessaires à une sauvegarde différentielle, telles que le numéro séquentiel dans le journal de début de la sauvegarde différentielle (LSN de base différentiel), sont stockées dans la base de données master .Therefore, metadata that is required by a differential backup, such as the log sequence number at which the differential backup begins (the differential base LSN) is stored in the master database. Si la base différentielle s'effectue lorsque la base de données est en lecture seule, la bitmap différentielle indique un nombre de modifications qui est supérieur au nombre réel depuis la sauvegarde de base.If the differential base is taken when the database is read-only, the differential bitmap indicates more changes than have actually occurred since the base backup. Les données supplémentaires sont lues par la sauvegarde mais ne sont pas écrites dans celle-ci, car differential_base_lsn stocké dans la table système backupset sert à déterminer si les données ont changé depuis la base.The extra data is read by backup, but is not written to the backup, because the differential_base_lsn stored in the backupset system table is used to determine whether the data has actually changed since the base.

Lorsqu'une base de données en lecture seule est reconstruite, restaurée ou détachée et rattachée, les informations de base différentielle sont perdues.When a read-only database is rebuilt, restored, or detached and attached, the differential-base information is lost. Cela tient au fait que la base de données master n'est pas synchronisée avec la base de données utilisateur.This occurs because the master database is not synchronized with the user database. Le Moteur de base de données SQL ServerSQL Server Database Engine ne peut pas détecter, ni éviter ce problème.The Moteur de base de données SQL ServerSQL Server Database Engine cannot detect or prevent this problem. Les sauvegardes différentielles suivantes ne reposent pas sur la dernière sauvegarde complète et peuvent fournir des résultats inattendus.Any later differential backups are not based on the most recent full backup and could provide unexpected results. Pour créer une base différentielle, nous vous recommandons de créer une sauvegarde complète de la base de données.To establish a new differential base, we recommend that you create a full database backup.

Méthodes recommandées pour l'utilisation des sauvegardes différentielles avec une base de données en lecture seuleBest Practices for Using Differential Backups with a Read-Only Database

Après avoir créé une sauvegarde complète d’une base de données en lecture seule, sauvegardez la base de données master si vous voulez créer ensuite une sauvegarde différentielle.After you create a full database backup of a read-only database, if you intend to create a subsequent differential backup, back up the master database.

Si vous perdez la base de données master , restaurez-la avant de restaurer une sauvegarde différentielle d'une base de données utilisateur.If the master database is lost, restore it before you restore any differential backup of a user database.

Si vous détachez et attachez une base de données en lecture seule pour laquelle vous envisagez ensuite d’utiliser des sauvegardes différentielles, créez dès que possible une sauvegarde complète de la base de données en lecture seule et de la base de données master .If you detach and attach a read-only database for which you plan to later use differential backups, as soon as it is practical, take a full database backup of both the read-only database and of the master database.

Tâches associéesRelated Tasks

Voir aussiSee Also

Vue d’ensemble de la sauvegarde (SQL Server) Backup Overview (SQL Server)
Sauvegardes complètes de bases de données (SQL Server) Full Database Backups (SQL Server)
Restaurations complètes de bases de données (mode de récupération complète) Complete Database Restores (Full Recovery Model)
Restaurations complètes de bases de données (mode de récupération simple) Complete Database Restores (Simple Recovery Model)
Sauvegardes des journaux de transactions (SQL Server)Transaction Log Backups (SQL Server)