Sauvegardes du journal des transactions (SQL Server)

S’applique à :SQL Server

Cet article s’applique uniquement aux bases de données SQL Server qui utilisent les modèles de récupération complètes ou journalisées en bloc. Cet article décrit la sauvegarde du journal des transactions d’une base de données SQL Server.

Vous devez au moins avoir créé une sauvegarde complète pour pouvoir créer des sauvegardes de journaux. Après cela, le journal des transactions peut être sauvegardé à tout moment, à moins qu'il ne soit déjà en cours de sauvegarde.

Nous vous recommandons d’effectuer des sauvegardes de journaux fréquemment, à la fois pour réduire les risques de perte de travail et pour tronquer le journal des transactions.

En règle générale, un administrateur de base de données crée une sauvegarde complète de base de données de temps en temps, par exemple chaque semaine et, éventuellement, crée une série de sauvegardes de base de données différentielles à un intervalle plus court, par exemple tous les jours. Indépendamment des sauvegardes de base de données, l’administrateur de base de données sauvegarde le journal des transactions à intervalles fréquents. Pour un type donné de sauvegarde, l'intervalle optimal varie en fonction de divers facteurs tels que l'importance des données, la taille de la base de données et la charge de travail du serveur. Pour plus d’informations sur l’implémentation d’une bonne stratégie, consultez Recommandations dans cet article.

Fonctionnement des sauvegardes de journal

La séquence de sauvegarde des journaux des transactions ( séquence de journaux ) ne dépend pas des sauvegardes de données. Supposons, par exemple, que la séquence des événements est la suivante.

Time Événement
8:00 Sauvegarde de la base de données.
Midi Sauvegarde du journal des transactions.
16:00 Sauvegarde du journal des transactions.
18h00 Sauvegarde de la base de données.
20h00 Sauvegarde du journal des transactions.

La sauvegarde du journal des transactions créée à 18h00 contient les enregistrements du journal des transactions de 16h00 à 18h00, couvrant l’heure de création de la sauvegarde complète de la base de données à 17h00. La séquence de sauvegardes du journal des transactions est continue, de la sauvegarde complète initiale de la base de données créée à 18h00, jusqu’à la dernière sauvegarde du journal des transactions créée à 18h00. Pour plus d’informations sur l’application de ces sauvegardes de journaux, consultez l’exemple dans Appliquer les sauvegardes du journal des transactions (SQL Server).

Recommandations

Si un journal des transactions est endommagé, vous perdez alors les travaux réalisés depuis la sauvegarde valide la plus récente. Par conséquent, nous vous recommandons vivement de placer vos fichiers journaux sur une unité de stockage à tolérance de pannes.

Si une base de données est endommagée ou si vous êtes sur le point de restaurer la base de données, nous vous recommandons de créer une sauvegarde de fin de journal pour vous permettre de restaurer la base de données à l’heure actuelle.

Attention

Problème connu : Pour les bases de données avec des tables mémoire optimisées, l’exécution d’une sauvegarde de journal transactionnelle sans récupération, puis l’exécution ultérieure d’une restauration du journal des transactions avec récupération, peut entraîner un processus de restauration de base de données non satisfait. Ce problème peut également affecter les fonctionnalités de copie des journaux de transaction. Pour contourner ce problème, l’instance SQL Server peut être redémarrée avant de lancer le processus de restauration.

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 ce cas, vous pouvez supprimer ces entrées de journal à l’aide de 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).

Effectuez 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 stockage 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éfléchissez à l’objectif de temps de récupération requis (RTO) et à l’objectif de point de récupération (RPO) lors de l’implémentation de votre stratégie de récupération, et plus précisément à la cadence de sauvegarde des journaux.

  • 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.

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.
Là encore, pensez à l’objectif de délai de récupération et à l’objectif de point de récupération quand vous implémentez votre stratégie de récupération, en particulier la cadence des sauvegardes différentielles et complètes de base de données.