Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique de sauvegarde et de restauration est pertinente pour toutes les bases de données SQL Server.
Une sauvegarde différentielle est basée sur la dernière sauvegarde complète des données. Une sauvegarde différentielle capture uniquement les données qui ont changé depuis cette sauvegarde complète. La sauvegarde complète sur laquelle repose une sauvegarde différentielle est appelée la base du différentiel. Les sauvegardes complètes, à l’exception des sauvegardes de copie uniquement, peuvent servir de base pour une série de sauvegardes différentielles, notamment les sauvegardes de base de données, les sauvegardes partielles et les sauvegardes de fichiers. La sauvegarde de base d’une sauvegarde différentielle de fichiers peut être contenue dans une sauvegarde complète, une sauvegarde de fichier ou une sauvegarde partielle.
Avantages
La création d’une sauvegarde différentielle peut être très rapide par rapport à la création d’une sauvegarde complète. Une sauvegarde différentielle enregistre uniquement les données qui ont changé depuis la sauvegarde complète sur laquelle elle est basée. Cela facilite la prise de sauvegardes fréquentes de données, ce qui réduit le risque de perte de données. Toutefois, avant de restaurer une sauvegarde différentielle, vous devez restaurer sa base. Par conséquent, la restauration à partir d’une sauvegarde différentielle prend nécessairement plus de mesures et de temps que la restauration à partir d’une sauvegarde complète, car deux fichiers de sauvegarde sont requis.
Les sauvegardes différentielles de base de données sont particulièrement utiles si un sous-ensemble d’une base de données est modifié plus fréquemment que le reste de la base de données. Dans ces cas, les sauvegardes différentielles de base de données permettent de sauvegarder fréquemment avec moins de contraintes qu'une sauvegarde complète de base de données.
Sous le modèle de récupération complète, l'utilisation de sauvegardes différentielles peut réduire le nombre de sauvegardes de journaux de transactions que vous devez restaurer.
Vue d’ensemble des sauvegardes différentielles
Une sauvegarde différentielle capture l’état de toutes les étendues (collections de huit pages contiguës physiquement) qui ont changé entre le moment où la base différentielle a été créée et le moment où la sauvegarde différentielle est créée. 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. En règle générale, plus une base est ancienne, plus une nouvelle sauvegarde différentielle sera grande. Dans une série de sauvegardes différentielles, une extension fréquemment mise à jour est susceptible de contenir des données différentes dans chaque sauvegarde différentielle.
L’illustration suivante montre comment fonctionne une sauvegarde différentielle. La figure montre 24 étendues de données, dont 6 ont changé. La sauvegarde différentielle contient uniquement ces 6 étendues de données. L’opération de sauvegarde différentielle s’appuie sur une page bitmap qui contient un bit pour chaque extension. Pour chaque extension mise à jour depuis la base, le bit est défini sur 1 dans la bitmap.
Remarque
La bitmap différentielle n’est pas mise à jour par une sauvegarde de copie uniquement. Par conséquent, une sauvegarde en copie seule n’affecte pas les sauvegardes différentielles suivantes.
Une sauvegarde différentielle effectuée assez rapidement après sa sauvegarde de base est généralement beaucoup plus petite que cette dernière. Cela permet d’économiser de l’espace de stockage et du temps de sauvegarde. Toutefois, à mesure qu’une base de données change au fil du temps, la différence entre la base de données et une base différentielle spécifique augmente. Plus le temps qui s'écoule entre une sauvegarde différentielle et sa sauvegarde de base est long, plus la sauvegarde différentielle risque d'être volumineuse. Cela signifie que les sauvegardes différentielles peuvent éventuellement approcher la taille de la base différentielle. Une sauvegarde différentielle importante perd les avantages d’une sauvegarde plus rapide et plus petite.
À mesure que les sauvegardes différentielles augmentent de taille, la restauration d’une sauvegarde différentielle peut augmenter considérablement le temps nécessaire à la restauration d’une base de données. Par conséquent, nous vous recommandons d’effectuer une nouvelle sauvegarde complète à intervalles définis pour établir une nouvelle base différentielle pour les données. Par exemple, vous pouvez effectuer une sauvegarde complète hebdomadaire de l’ensemble de la base de données (c’est-à-dire une sauvegarde complète de base de données) suivie d’une série régulière de sauvegardes différentielles de base de données au cours de la semaine.
Au moment de la restauration, avant de restaurer une sauvegarde différentielle, vous devez restaurer sa base. Ensuite, restaurez uniquement la sauvegarde différentielle la plus récente pour transférer la base de données au moment où cette sauvegarde différentielle a été créée. 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 basée sur cette sauvegarde complète.
Sauvegardes différentielles de bases de données avec des tables Memory-Optimized
Pour plus d’informations sur les sauvegardes différentielles et les bases de données avec des tables mémoire optimisées, consultez Sauvegarde d’une base de données avec des tables Memory-Optimized.
Sauvegardes différentielles des bases de données Read-Only
Pour les bases de données en lecture seule, les sauvegardes complètes utilisées seules sont plus faciles à gérer que lorsqu’elles sont utilisées avec des sauvegardes différentielles. Lorsqu’une base de données est en lecture seule, la sauvegarde et d’autres opérations ne peuvent pas modifier les métadonnées contenues dans le fichier. Par conséquent, les métadonnées requises par une sauvegarde différentielle, telles que le numéro de séquence de journal auquel la sauvegarde différentielle commence (le LSN de base différentielle) sont stockées dans la base de données master . Si la base différentielle est prise lorsque la base de données est en lecture seule, la bitmap différentielle indique plus de modifications que celles qui se sont produites depuis la sauvegarde de base. Les données supplémentaires sont lues par sauvegarde, mais elles ne sont pas écrites dans la sauvegarde, car la differential_base_lsn stockée dans la table système du jeu de sauvegarde est utilisée pour déterminer si les données ont réellement changé depuis la base.
Lorsqu’une base de données en lecture seule est reconstruite, restaurée ou détachée et attachée, les informations de base différentielle sont perdues. Cela se produit, car la base de données master n’est pas synchronisée avec la base de données utilisateur. Le moteur de base de données SQL Server ne peut pas détecter ou empêcher ce problème. Toutes les sauvegardes différentielles ultérieures ne sont pas basées sur la sauvegarde complète la plus récente et peuvent fournir des résultats inattendus. Pour établir une nouvelle base différentielle, nous vous recommandons de créer une sauvegarde complète de la base de données.
Meilleures pratiques pour l’utilisation de sauvegardes différentielles avec une base de données Read-Only
Après avoir créé une sauvegarde complète de base de données d’une base de données en lecture seule, si vous envisagez de créer une sauvegarde différentielle ultérieure, sauvegardez la base de données master .
Si la base de données master est perdue, restaurez-la avant de restaurer une sauvegarde différentielle d’une base de données utilisateur.
Si vous détachez et attachez une base de données en lecture seule pour laquelle vous envisagez d’utiliser ultérieurement des sauvegardes différentielles, dès qu’il est pratique, effectuez une sauvegarde complète de la base de données en lecture seule et de la base de données master .
Tâches associées
Créer une sauvegarde différentielle de base de données (SQL Server)
Restaurer une sauvegarde différentielle de base de données (SQL Server)
Voir aussi
Vue d’ensemble de la sauvegarde (SQL Server)
Sauvegardes complètes de base de données (SQL Server)
Restaurations complètes de bases de données (mode de récupération complète)
Restaurations de base de données complètes (mode de récupération simple)
Sauvegardes du journal des transactions (SQL Server)