Vue d'ensemble de la sauvegarde (SQL Server)

Chaque mode de récupération vous permet de sauvegarder une base de données SQL Server partielle ou complète, ou bien des fichiers ou groupes de fichiers individuels de la base de données. Vous ne pouvez pas créer de sauvegardes au niveau des tables.

Notes

SQL Server sauvegarde et restaure les données sur tous les systèmes d'exploitation pris en charge, qu'il s'agisse de systèmes 32 bits ou 64 bits. Pour plus d'informations sur les systèmes d'exploitation pris en charge, consultez Configurations matérielle et logicielle requises pour l'installation de SQL Server 2008 R2.

Sauvegardes des données

L'étendue d'une sauvegarde de données peut correspondre à une base de données complète, une base de données partielle ou un ensemble de fichiers ou groupes de fichiers. Pour chacun d'entre eux, SQL Server prend en charge des sauvegardes complètes et différentielles :

  • Sauvegarde complète

    Une sauvegarde complète contient toutes les données d'une base de données particulière ou d'un jeu de groupes de fichiers ou de fichiers, ainsi qu'une partie suffisante du journal pour permettre la récupération de ces données.

  • Sauvegarde différentielle

    Une sauvegarde différentielle est basée sur la dernière sauvegarde complète des données. Ces éléments correspondent à la base différentielle. Une base différentielle est une sauvegarde complète de données en lecture-écriture. Une sauvegarde différentielle contient uniquement les données qui ont changé depuis la base différentielle. En règle générale, une sauvegarde différentielle créée presque aussitôt après la sauvegarde de base est plus petite et plus facile à créer que la base d'une sauvegarde complète. Par conséquent, l'utilisation des sauvegardes différentielles peut accélérer le processus de sauvegardes fréquentes destinées à limiter les risques de perte de données. Le plus souvent, une base différentielle est utilisée par plusieurs sauvegardes différentielles successives. Au moment de la restauration, la sauvegarde complète est restaurée dans un premier temps, puis la sauvegarde différentielle la plus récente.

    Avec le temps, au fil des mises à jour d'une base de données, la quantité des données incluses dans les sauvegardes différentielles augmente. De ce fait, les sauvegardes sont plus lentes à créer et à restaurer. À un moment donné, il est nécessaire de créer une autre sauvegarde complète pour disposer d'une nouvelle base différentielle pour une autre série de sauvegardes différentielles.

    Notes

    En règle générale, une sauvegarde différentielle regroupe les mêmes fichiers de données que ceux inclus dans une seule base différentielle. En mode de récupération simple, une sauvegarde différentielle ne peut avoir qu'une seule base différentielle. Toute tentative d'utilisation de plusieurs bases peut entraîner une erreur et l'échec de l'opération de sauvegarde. En mode de restauration complète, les sauvegardes de fichiers différentielles peuvent utiliser plusieurs bases, bien qu'elles soient difficiles à gérer. Pour plus d'informations, consultez Utilisation de sauvegardes différentielles multibase.

Chaque sauvegarde de données comprend des portions du journal des transactions pour permettre la restauration de la sauvegarde jusqu'à la fin de cette sauvegarde.

Au terme de la première sauvegarde des données, en modes de restauration complète ou de récupération utilisant les journaux de transactions, il est nécessaire de procéder à des sauvegardes des journaux de transactions régulières (ou sauvegardes de journal). Chaque sauvegarde de journal englobe la portion du journal des transactions qui était active à la création de la sauvegarde, et la sauvegarde du journal comprend tous les enregistrements de journal qui n'ont pas été sauvegardés lors d'une sauvegarde de journal précédente.

Sauvegardes de base de données

L'utilisation d'une sauvegarde de données est simple et recommandée à chaque fois que la taille de la base de données l'autorise. SQL Server prend en charge les types suivants de sauvegardes de base de données.

Type de sauvegarde

Description

Sauvegarde de base de données

Une sauvegarde complète de l'intégralité d'une base de données. Les sauvegardes de base de données représentent l'intégralité de la base de données à l'issue de l'opération de sauvegarde.

Sauvegardes différentielles de base de données

Une sauvegarde de tous les fichiers de la base de données. Cette sauvegarde contient uniquement les extensions de données ayant été modifiées depuis la sauvegarde de base de données de chaque fichier la plus récente.

Sauvegardes partielles

Les sauvegardes partielles différentielles et les sauvegardes partielles ont été introduites dans SQL Server 2005. Ces sauvegardes sont destinées à accroître la souplesse du processus de sauvegarde des bases de données qui contiennent des groupes de fichiers en lecture seule en mode de récupération simple. Elles sont cependant prises en charge par tous les modes de récupération.

SQL Server 2008 prend en charge les types de sauvegardes de fichiers suivants.

Type de sauvegarde

Description

Sauvegarde partielle

Une sauvegarde de toutes les données complètes du groupe de fichiers primaire, de chaque groupe de fichiers en lecture-écriture, ainsi que, éventuellement, de tout fichier ou groupe de fichiers spécifié en lecture seule. La sauvegarde partielle d'une base de données en lecture seule ne contient que le groupe de fichiers primaire.

Sauvegarde partielle différentielle

Une sauvegarde qui contient uniquement les extensions de données ayant été modifiées depuis la sauvegarde partielle la plus récente du même ensemble de groupes de fichiers.

Sauvegardes de fichiers

Les fichiers d'une base de données peuvent être sauvegardés et restaurés individuellement. L'utilisation de sauvegardes de fichiers peut augmenter la vitesse de récupération, car cela vous permet de restaurer uniquement les fichiers endommagés sans restaurer le reste de la base de données. Par exemple, si une base de données est constituée de plusieurs fichiers situés sur des disques différents et qu'un disque est défaillant, seul le fichier du disque défectueux doit être restauré. Cependant, la planification et la restauration des sauvegardes de fichiers peuvent être complexes ; il faut donc faire appel aux sauvegardes de fichiers uniquement si celles-ci se justifient dans le cadre de votre plan de restauration.

SQL Server prend en charge les types de sauvegardes de fichiers suivants.

Type de sauvegarde

Description 

Sauvegarde des fichiers

Sauvegarde complète de toutes les données d'un ou de plusieurs fichiers ou groupes de fichiers.

ImportantImportant
En mode de récupération simple, les sauvegardes de fichiers sont généralement limitées aux groupes de fichiers secondaires en lecture seule. Vous pouvez créer une sauvegarde de fichiers d'un groupe de fichiers en lecture-écriture, mais avant de restaurer la sauvegarde de fichiers en lecture-écriture, vous devez définir le groupe de fichiers en lecture seule et effectuer une sauvegarde différentielle de fichiers en lecture seule.

Sauvegardes différentielles de fichiers

Sauvegarde d'un ou plusieurs fichiers contenant les extensions de données modifiées depuis la sauvegarde complète la plus récente de chaque fichier.

RemarqueRemarque
En mode de récupération simple, cela suppose que les données ont été converties en lecture seule depuis la sauvegarde complète.

Notes

Vous pouvez sauvegarder et restaurer des catalogues de texte intégral. Pour plus d'informations, consultez Sauvegarde et restauration d'un catalogue de texte intégral SQL Server 2008 et Restauration fragmentaire et index de recherche en texte intégral.

Sauvegardes du journal des transactions (en mode de restauration complète et en mode de récupération utilisant les journaux de transactions uniquement)

En modes de restauration complète ou de récupération utilisant les journaux de transactions, il est nécessaire de procéder à des sauvegardes des journaux de transactions régulières (ou sauvegardes du journal). Chaque sauvegarde de journal englobe la portion du journal des transactions qui était active à la création de la sauvegarde, et celle-ci comprend tous les enregistrements de journal qui n'ont pas été sauvegardés lors d'une sauvegarde de journal précédente. Une séquence ininterrompue des sauvegardes de journal contient la séquence complète et non rompue de journaux de la base de données. En mode de restauration complète, et parfois en mode de récupération utilisant les journaux de transactions, une séquence de journaux ininterrompue vous permet de restaurer la base de données à n'importe quel point dans le temps.

Avant de pouvoir créer la première sauvegarde de journal, vous devez créer une sauvegarde complète, telle qu'une sauvegarde de base de données. Ensuite, il est nécessaire d'effectuer une sauvegarde du journal des transactions régulièrement, pour réduire le risque de perte de travail et pour permettre aussi la troncation du journal des transactions. Pour plus d'informations, consultez Utilisation des sauvegardes de journaux de transactions.

Important

Pour limiter le nombre des sauvegardes de fichiers journaux à restaurer, il est essentiel de sauvegarder vos données régulièrement. Vous pouvez, par exemple, planifier une sauvegarde complète hebdomadaire et des sauvegardes différentielles quotidiennes de la base de données.

Sauvegardes de type copie seule

Normalement, une sauvegarde modifie la base de données et affecte la restauration des sauvegardes ultérieures. Parfois, cependant, il est utile d'effectuer une sauvegarde à une fin précise sans affecter les procédures globales de sauvegarde et de restauration de la base de données. Dans cette optique, SQL Server 2005 a introduit les sauvegardes de type copie seule. Ces sauvegardes sont indépendantes de la séquence normale des sauvegardes SQL Server. Pour plus d'informations, consultez Sauvegardes de type copie seule.

Unités de sauvegarde

Les sauvegardes SQL Server sont créées sur des périphériques de sauvegarde, tels qu'un fichier disque ou une bande. Vous pouvez ajouter de nouvelles sauvegardes aux sauvegardes existantes sur une unité ou remplacer ces dernières. Pour plus d'informations, consultez Utilisation de supports de sauvegarde dans SQL Server.

Planification des sauvegardes

Les opérations de sauvegarde ayant peu d'impact sur l'exécution des transactions, elles peuvent donc avoir lieu en même temps que les opérations normales. Au cours d'une sauvegarde, SQL Server copie directement les données des fichiers de la base de données sur les unités de sauvegarde. Les données ne sont pas modifiées et les transactions en cours d'exécution pendant la sauvegarde ne sont jamais retardées. Par conséquent, vous pouvez effectuer une sauvegarde SQL Server avec un effet minimal sur les charges de production. Pour des informations sur les restrictions d'accès concurrentiel lors d'une sauvegarde, consultez « Restrictions sur les opérations de sauvegarde dans SQL Server », plus loin dans cette rubrique.

Vous pouvez planifier des sauvegardes pour qu'elles s'exécutent automatiquement à des intervalles définis. Pour plus d'informations sur la planification des travaux de sauvegarde pour des sauvegardes de base de données et des sauvegardes de journal, consultez Assistant Plan de maintenance.

Compression de sauvegardes

SQL Server 2008 Enterprise et les versions ultérieures prennent en charge la compression des sauvegardes. SQL Server 2008 et les versions ultérieures peuvent restaurer une sauvegarde compressée. Pour plus d'informations, consultez Compression de sauvegardes (SQL Server).

Restrictions sur les opérations de sauvegarde dans SQL Server

Dans SQL Server 2005 et les versions ultérieures, les sauvegardes peuvent être effectuées si la base de données est en ligne et en cours d'utilisation. Cependant, les restrictions suivantes existent.

Il n'est pas possible de sauvegarder les données hors connexion

Toute sauvegarde qui fait implicitement ou explicitement référence à des données hors connexion échoue. Voici quelques exemples classiques de cette situation :

  • Vous demandez une sauvegarde complète de la base de données, mais un groupe de fichiers de la base de données est hors connexion. Comme tous les groupes de fichiers sont implicitement inclus dans une sauvegarde complète de base de données, cette opération échoue.

    Pour sauvegarder cette base de données, vous pouvez utiliser une sauvegarde de fichiers et spécifier uniquement les groupes de fichiers en ligne.

  • Vous demandez une sauvegarde partielle, mais un groupe de fichiers en lecture-écriture est hors connexion. Du fait que tous les groupes de fichiers en lecture-écriture sont indispensables pour une sauvegarde partielle, cette opération échoue.

  • Vous demandez une sauvegarde de fichiers spécifiques, mais un fichier n'est pas en ligne. L'opération échoue. Pour sauvegarder les fichiers en ligne, vous pouvez supprimer le fichier hors connexion de la liste des fichiers et recommencer l'opération.

En règle générale, une sauvegarde de journal aboutit même si un ou plusieurs fichiers de données n'est pas disponible. Cependant, si un fichier contient des modifications journalisées en bloc et effectuées en mode de récupération utilisant les journaux de transactions, tous les fichiers doivent être en ligne pour que la sauvegarde aboutisse.

Restrictions d'accès concurrentiel lors d'une sauvegarde

SQL Server recourt à un processus de sauvegarde en ligne pour permettre qu'une base de données soit sauvegardée alors qu'elle est encore utilisée. Lors d'une sauvegarde, la plupart des opérations sont possibles ; par exemple, les instructions INSERT, UPDATE ou DELETE sont autorisées. Cepenant, si vous tentez une opération de sauvegarde pendant qu'un fichier de base de données est en cours de création ou de suppression, l'opération de sauvegarde attend que la création ou la suppression soit terminée ou que le délai d'attente de la sauvegarde expire.

Parmi les opérations qui ne peuvent pas être effectuées lors d'une sauvegarde de base de données ou d'une sauvegarde du journal des transactions, citons :

  • Les opérations de gestion des fichiers telles que l'instruction ALTER DATABASE employées avec l'option ADD FILE ou REMOVE FILE.

  • Les opérations de compactage de base de données ou de fichier. Cela comprend également les opérations de compactage automatique.

  • Si vous tentez de créer ou de supprimer un fichier de base de données pendant qu'une opération de sauvegarde est en cours, la création ou la suppression échoue.

Si une opération de sauvegarde chevauche une opération de compactage ou de gestion des fichiers, un conflit se produit. Quelle que soit l'opération effectuée la première, la seconde opération attend que le verrou défini par la première opération expire. (Le délai d'expiration est contrôlé par un paramètre d'expiration de la session). Si le verrou est libéré au cours du délai d'expiration, la seconde opération se poursuit. Si le verrou expire, la seconde opération échoue.