Sauvegardes du journal des transactions (SQL Server)Transaction Log Backups (SQL Server)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Cette rubrique s'applique uniquement aux bases de données SQL ServerSQL Server employant le mode de récupération complète ou le mode de récupération utilisant les journaux de transactions.This topic is relevant only for SQL ServerSQL Server databases that are using the full or bulk-logged recovery models. Cette rubrique décrit la sauvegarde du journal des transactions d'une base de données SQL ServerSQL Server .This topic discusses backing up the transaction log of a SQL ServerSQL Server database.

Vous devez au moins avoir créé une sauvegarde complète pour pouvoir créer des sauvegardes de journaux.Minimally, you must have created at least one full backup before you can create any log backups. Après cela, le journal des transactions peut être sauvegardé à tout moment, à moins qu'il ne soit déjà en cours de sauvegarde.After that, the transaction log can be backed up at any time unless the log is already being backed up.

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.We recommend you take log backups frequently, both to minimize work loss exposure and to truncate the transaction log.

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.A database administrator typically creates a full database backup occasionally, such as weekly, and, optionally, creates a series of differential database backup at a shorter interval, such as daily. Indépendamment des sauvegardes de base de données, l’administrateur de base de données sauvegarde le journal des transactions à intervalles fréquents.Independent of the database backups, the database administrator backs up the transaction log at frequent intervals. 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.For a given type of backup, the optimal interval depends on factors such as the importance of the data, the size of the database, and the workload of the server. Pour plus d’informations sur l’implémentation d’une bonne stratégie, consultez Recommandations dans cette rubrique.For more information about implementing a good strategy, see Recommendations in this topic.

Fonctionnement des sauvegardes de journalHow a sequence of log backups works

La séquence de sauvegarde des journaux des transactions ( séquence de journaux ) ne dépend pas des sauvegardes de données.The sequence of transaction log backups log chain is independent of data backups. Supposons, par exemple, que la séquence des événements est la suivante.For example, assume the following sequence of events.

TimeTime ÉvénementEvent
8h008:00 AM Sauvegarde de la base de données.Back up database.
MidiNoon Sauvegarde du journal des transactions.Back up transaction log.
16h004:00 PM Sauvegarde du journal des transactions.Back up transaction log.
18h006:00 PM Sauvegarde de la base de données.Back up database.
20h008:00 PM Sauvegarde du journal des transactions.Back up transaction log.

La sauvegarde du journal des transactions lancée à 20h00 contient les enregistrements du journal des transactions effectués entre 16h00 et 20h00, ce qui couvre le moment de la création de la sauvegarde complète de la base de données intervenant à 18h00. La séquence de sauvegardes du journal des transactions est continue depuis la sauvegarde complète de la base de données initiale créée à 8h00 jusqu’à la dernière sauvegarde du journal des transactions effectuée à 20h00.The transaction log backup created at 8:00 PM contains transaction log records from 4:00 PM through 8:00 PM, spanning the time when the full database backup was created at 6:00 PM The sequence of transaction log backups is continuous from the initial full database backup created at 8:00 AM to the last transaction log backup created at 8:00 PM. 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).For information about how to apply these log backups, see the example in Apply Transaction Log Backups (SQL Server).

RecommandationsRecommendations

  • Si un journal des transactions est endommagé, vous perdez alors les travaux réalisés depuis la sauvegarde valide la plus récente.If a transaction log is damaged, work that is performed since the most recent valid backup is lost. Par conséquent, nous vous recommandons vivement de placer vos fichiers journaux sur une unité de stockage à tolérance de pannes.Therefore we strongly recommend that you put your log files on fault-tolerant storage.

  • 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.If a database is damaged or you are about to restore the database, we recommend that you create a tail-log backup to enable you to restore the database to the current point in time.

  • Par défaut, chaque opération de sauvegarde réussie ajoute une entrée au journal des erreurs SQL ServerSQL Server et au journal des événements système.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. 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.If back up the log very frequently, these success messages accumulate quickly, resulting in huge error logs that can make finding other messages difficult. 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.In such cases you can suppress these log entries by using trace flag 3226 if none of your scripts depend on those entries. Pour plus d’informations, consultez Indicateurs de trace (Transact-SQL).For more information, see Trace Flags (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é.Take frequent enough log backups to support your business requirements, specifically your tolerance for work loss such as might be caused by a damaged log storage.

  • 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.The appropriate frequency for taking log backups depends on your tolerance for work-loss exposure balanced by how many log backups you can store, manage, and, potentially, restore. 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.Think about the required RTO and RPO when implementing your recovery strategy, and specifically the log backup cadence.

  • Réaliser une sauvegarde de journal tous les 15 à 30 minutes peut être suffisant.Taking a log backup every 15 to 30 minutes might be enough. Si vos besoins nécessitent de minimiser les risques de perte de travail, vous devez envisager des sauvegardes de journaux plus fréquentes.If your business requires that you minimize work-loss exposure, consider taking log backups more frequently. 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.More frequent log backups have the added advantage of increasing the frequency of log truncation, resulting in smaller log files.

Important

Pour limiter le nombre des sauvegardes de fichiers journaux à restaurer, il est essentiel de sauvegarder vos données régulièrement.To limit the number of log backups that you need to restore, it is essential to routinely back up your data. Vous pouvez, par exemple, planifier une sauvegarde complète hebdomadaire et des sauvegardes différentielles quotidiennes de la base de données.For example, you might schedule a weekly full database backup and daily differential database backups.
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.Again, think about the required RTO and RPO when implementing your recovery strategy, and specifically the full and differential database backup cadence.

Tâches associéesRelated Tasks

Pour créer une sauvegarde du journal des transactionsTo create a transaction log backup

Pour planifier des travaux de sauvegarde, consultez Use the Maintenance Plan Wizard.To schedule backup jobs, see Use the Maintenance Plan Wizard.

Voir aussiSee Also

Journal des transactions (SQL Server) The Transaction Log (SQL Server)
Sauvegardes de fichier journal dans le guide d’architecture et gestion du journal des transactions SQL Server Transaction Log Backups in the SQL Server Transaction Log Architecture and Management Guide
Sauvegarde et restauration des bases de données SQL Server Back Up and Restore of SQL Server Databases
Sauvegardes de la fin du journal (SQL Server) Tail-Log Backups (SQL Server)
Appliquer les sauvegardes du journal de transactions (SQL Server)Apply Transaction Log Backups (SQL Server)