Sauvegardes du journal des transactions (SQL Server)

S’applique à : SQL Server

Cet article s’applique uniquement aux bases de données SQL Server employant les modes de restauration complète ou de récupération utilisant les journaux de transactions. 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.

Temps É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 à 20h00 contient les enregistrements du journal des transactions de 16h00 à 20h00, couvrant la période où la sauvegarde complète de la base de données a été créée à 18h00. La séquence des séquençages du journal des transactions est continue, depuis la sauvegarde initiale complète de la base de données créée à 8h00, jusqu’à la dernière sauvegarde du journal des transactions créée à 20h00. Pour plus d’informations sur l’application de ces sauvegardes du journal, reportez-vous à l’exemple cité dans Appliquer les sauvegardes du journal de 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 la fin du journal pour vous permettre de restaurer la base de données au moment actuel.

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 la fonctionnalité d’expédition de journaux. 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 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).

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. 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 de fichier journal.

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