Utilisation des sauvegardes de journaux de transactions

 Cette rubrique s'applique uniquement aux bases de données employant les modes de récupération complète ou de récupération utilisant les journaux de transactions.

Cette rubrique présente les concepts sur la sauvegarde et la restauration (application) des journaux de transactions. En mode de récupération complète et en mode de récupération utilisant les journaux de transactions, la sauvegarde régulière des journaux de transactions (sauvegardes des journaux) est indispensable pour pouvoir récupérer les données. Dans SQL Server 2005 et versions ultérieures, vous pouvez sauvegarder le journal pendant l'exécution d'une sauvegarde complète.

Avant de pouvoir créer la première sauvegarde du journal, vous devez créer une sauvegarde complète, telle qu'une sauvegarde de base de données ou la première d'une série de sauvegardes de fichiers. La restauration d'une base de données à l'aide seulement de sauvegardes de fichiers peut être complexe. Par conséquent, nous vous recommandons de commencer par une sauvegarde de base de données complète dès que possible. Puis, sauvegardez le journal des transactions régulièrement. Vous pouvez ainsi réduire les risques de perte de travail mais aussi permettre la troncation du journal des transactions. En général, le journal des transactions est tronqué après chaque sauvegarde de journal conventionnelle. Cependant, il arrive que la troncation de journaux est retardée. Pour plus d'informations, consultez Facteurs pouvant retarder la troncation du journal.

Nous vous recommandons d'effectuer des sauvegardes de journaux suffisamment fréquentes pour répondre à vos besoins, en particulier votre tolérance des pertes de données comme celles causées par un lecteur de journal endommagé. La fréquence appropriée des sauvegardes de journaux dépend de votre gestion des risques liés aux pertes de données et du nombre de sauvegardes de journaux qu'il vous est possible de stocker, gérer et potentiellement restaurer. Réaliser une sauvegarde de journal tous les 15 à 30 minutes peut être suffisant. Si vos besoins nécessitent de minimiser les risques de perte de travail, vous devez envisager des sauvegardes de journaux plus fréquentes. Une meilleure fréquence pour les sauvegardes de fichiers journaux offre l'avantage d'augmenter la fréquence de la troncation des journaux qui produit des fichiers journaux plus petits.

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.

Notes

Par défaut, chaque opération de sauvegarde réussie ajoute une entrée au journal des erreurs SQL Server et au journal des événements système. Si vous sauvegardez très fréquemment le journal, ces messages de réussite peuvent rapidement s'accumuler, créer des journaux d'erreurs très volumineux et compliquer la recherche d'autres messages. Dans de tels cas, vous pouvez supprimer ces entrées de journal en utilisant l'indicateur de trace 3226, si aucun de vos scripts ne dépend de ces entrées. Pour plus d'informations, consultez Indicateurs de trace (Transact-SQL).

Séquence de journaux de transactions consécutifs

Une séquence continue de sauvegardes de journaux s'appelle une séquence de journaux de transactions consécutifs. Une séquence de journaux de transactions consécutifs commence par une sauvegarde complète de la base de données. Généralement, une nouvelle séquence de journaux de transactions consécutifs ne démarre que lorsque la base de données est sauvegardée pour la première fois ou après que le mode de récupération simple est remplacé par le mode de récupération complète ou le mode de récupération utilisant les journaux de transactions.

Si vous ne choisissez pas de remplacer les jeux de sauvegarde existants lors de la création d'une sauvegarde complète de base de données, la séquence de journaux de transactions consécutifs existante reste intacte. Grâce à la séquence de journaux de transactions consécutifs intacte, vous pouvez restaurer votre base de données à partir d'une sauvegarde complète de base de données du support de sauvegarde, suivie de toutes les sauvegardes de fichiers journaux suivantes jusqu'à votre point de récupération. Le point de récupération peut être la fin de la dernière sauvegarde de fichier journal ou un point de récupération spécifique dans chacune des sauvegardes de fichiers journaux.

Pour restaurer une base de données jusqu'au point d'échec, la séquence de journaux de transactions consécutifs doit être intacte. Autrement dit, la séquence ininterrompue des sauvegardes des journaux de transactions doit aller jusqu'au point de défaillance. Le point de commencement de cette séquence du journal dépend du type des sauvegardes de données que vous restaurez : base de données, partielle ou fichiers. Pour une sauvegarde partielle ou de base de données, la séquence des sauvegardes des journaux doit s'étendre à partir de la fin d'une sauvegarde partielle ou de base de données. Pour un jeu de sauvegardes de fichiers, la séquence des sauvegardes des journaux doit s'étendre à partir du début d'un jeu complet de sauvegardes de fichiers.

Si vous utilisez uniquement des sauvegardes de fichiers, vous devez sauvegarder le journal à partir du début de la première sauvegarde de fichiers complète. Vous pouvez effectuer des sauvegardes de journaux juste après la première sauvegarde de fichiers complète. Il est recommandé de commencer à ce stade là car la première sauvegarde du journal peut prendre du temps. Durant la sauvegarde du journal, vous pouvez sauvegarder les autres fichiers. Pour restaurer la base de données à partir des sauvegardes de fichiers uniquement, vous devez ajouter au jeu de sauvegardes de fichiers complètes une ou plusieurs sauvegardes de journaux couvrant l'intervalle entre la première et la dernière sauvegarde de fichiers.

Notes

Pour identifier la première sauvegarde de la séquence de journaux dans un jeu de sauvegardes, interrogez la colonne begins_log_chain de la table backupset, ou exécutez RESTORE HEADERONLY sur l'unité de sauvegarde pour afficher la colonne BeginsLogChain dans le jeu de résultats.

La réalisation régulière de sauvegardes de journaux de transactions est nécessaire. Une sauvegarde de journal permet de restaurer non seulement les transactions sauvegardées, mais également de tronquer le journal pour supprimer les enregistrements de journaux sauvegardés du fichier journal. Si vous ne sauvegardez pas suffisamment le journal, les fichiers journaux peuvent se remplir complètement. Pour plus d'informations sur la gestion d'un journal complet des transactions, consultez Résolution des problèmes en cas de journal des transactions saturé (erreur 9002).

Important

Lorsqu'une sauvegarde de journal manque ou est endommagée, démarrez une nouvelle séquence de journaux en créant une sauvegarde complète ou une sauvegarde différentielle de la base de données, puis en sauvegardant le journal des transactions pour démarrer la séquence. Il est recommandé de conserver les sauvegardes des journaux de transactions qui précèdent une sauvegarde manquante du journal pour pouvoir restaurer la base de données vers un point dans le temps situé dans ces sauvegardes. Pour plus d'informations sur la protection de vos sauvegardes, consultez Considérations sur la sécurité pour les sauvegardes et la restauration.

Pour plus d'informations sur la manière de créer des sauvegardes de fichiers journaux, consultez Création de sauvegardes des fichiers journaux de transactions et Sauvegardes de fichier journal après défaillance.

Utilisation des sauvegardes des journaux

La restauration d'une sauvegarde de journal restaure par progression les modifications enregistrées dans le journal des transactions, afin de recréer l'état exact de la base de données qui existait au début de la sauvegarde du journal. Lorsque vous restaurez une base de données, vous devez restaurer les sauvegardes des journaux créées à la suite de la sauvegarde complète de base de données que vous restaurez ou à partir de la première sauvegarde de fichiers que vous restaurez. En règle générale, vous devez restaurer une série de sauvegardes de journaux jusqu'au point de récupération, après avoir restauré les données les plus récentes ou une sauvegarde différentielle. Ensuite, vous récupérez la base de données. Cette opération restaure toutes les transactions qui n'étaient pas terminées au début de la récupération et place la base de données en ligne. Une fois la base de données récupérée, vous ne pouvez plus restaurer des sauvegardes.

Important

Pour préserver votre travail avant une restauration hors connexion ou après une défaillance, il est recommandé de sauvegarder la fin du journal pour capturer les enregistrements de journaux qui ne sont pas encore sauvegardés. Pour plus d'informations, consultez Sauvegardes de fichier journal après défaillance.

Application de sauvegardes du journal des transactions.