Sauvegardes de la fin du journal (SQL Server)Tail-Log Backups (SQL Server)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Cette rubrique s'applique uniquement à la sauvegarde et la restauration des 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 backup and restore of SQL ServerSQL Server databases that are using the full or bulk-logged recovery models.

Une sauvegarde de la fin du journal capture tous les enregistrements de journal qui n’ont pas encore été sauvegardés (la fin du journal) pour empêcher toute perte de travail et préserver la continuité de la séquence de journaux de transactions consécutifs.A tail-log backup captures any log records that have not yet been backed up (the tail of the log) to prevent work loss and to keep the log chain intact. Avant de pouvoir récupérer une base de données SQL ServerSQL Server aux date et heure les plus récentes, vous devez sauvegarder la fin de son journal des transactions.Before you can recover a SQL ServerSQL Server database to its latest point in time, you must back up the tail of its transaction log. La sauvegarde de la fin du journal est la dernière sauvegarde intéressante dans le plan de récupération de la base de données.The tail-log backup will be the last backup of interest in the recovery plan for the database.

REMARQUE : Les scénarios de restauration ne nécessitent pas tous une sauvegarde de la fin du journal.NOTE: Not all restore scenarios require a tail-log backup. Vous n'avez pas besoin d'une sauvegarde de la fin du journal si le point de récupération est contenu dans une sauvegarde de journal antérieure.You do not need a tail-log backup if the recovery point is contained in an earlier log backup. En outre, une sauvegarde de la fin du journal est inutile si vous déplacez ou remplacez (par écrasement) la base de données et ne souhaitez pas la restaurer à un point donné après la sauvegarde la plus récente.Also, a tail-log backup is unnecessary if you are moving or replacing (overwriting) a database and do not need to restore it to a point of time after its most recent backup.

Scénarios qui nécessitent une sauvegarde de la fin du journalScenarios That Require a Tail-Log Backup

Nous vous recommandons d'effectuer une sauvegarde de la fin du journal dans les scénarios suivants :We recommend that you take a tail-log backup in the following scenarios:

  • Si la base de données est en ligne et que vous envisagez d'effectuer une opération de restauration de la base de données, commencez par sauvegarder la fin du journal.If the database is online and you plan to perform a restore operation on the database, begin by backing up the tail of the log. Pour éviter une erreur de base de données en ligne, vous devez utiliser ... l’option WITH NORECOVERY de l’instruction BACKUP Transact-SQLTransact-SQL .To avoid an error for an online database, you must use the ... WITH NORECOVERY option of the BACKUP Transact-SQLTransact-SQL statement.

  • Si une base de données est hors connexion, ne démarre pas et que vous devez restaurer la base de données, sauvegardez d'abord la fin du journal.If a database is offline and fails to start and you need to restore the database, first back up the tail of the log. Comme il est exclu d'effectuer une transaction à ce stade, l'utilisation de WITH NORECOVERY est facultative.Because no transactions can occur at this time, using the WITH NORECOVERY is optional.

  • Si une base de données est endommagée, essayez d'effectuer une sauvegarde de la fin du journal à l'aide de l'option WITH CONTINUE_AFTER_ERROR de l'instruction BACKUP.If a database is damaged, try to take a tail-log backup by using the WITH CONTINUE_AFTER_ERROR option of the BACKUP statement.

    Sur une base de données endommagée, la sauvegarde de la fin du journal n'aboutit que si les fichiers journaux ne sont pas endommagés, la base de données est en mesure de prendre en charge cette sauvegarde de la fin du journal, et la base de données ne contient pas de modifications journalisées en bloc.On a damaged database backing up the tail of the log can succeed only if the log files are undamaged, the database is in a state that supports tail-log backups, and the database does not contain any bulk-logged changes. Si une sauvegarde de la fin du journal ne peut pas être créée, toutes les transactions validées après la dernière sauvegarde de fichier journal sont perdues.If a tail-log backup cannot be created, any transactions committed after the latest log backup are lost.

Le tableau suivant résume les options BACKUP NORECOVERY et CONTINUE_AFTER_ERROR.The following table summarizes the BACKUP NORECOVERY and CONTINUE_AFTER_ERROR options.

Option BACKUP LOGBACKUP LOG option CommentairesComments
NORECOVERYNORECOVERY Utilisez NORECOVERY chaque fois que vous envisagez de poursuivre une opération de restauration sur la base de données.Use NORECOVERY whenever you intend to continue with a restore operation on the database. NORECOVERY fait passer la base de données en état de restauration.NORECOVERY takes the database into the restoring state. Ceci permet d'éviter des modifications dans la base de données après la sauvegarde de la fin du journal.This guarantees that the database does not change after the tail-log backup. Le journal sera tronqué sauf si l’option NO_TRUNCATE ou COPY_ONLY est aussi spécifiée.The log will be truncated unless the NO_TRUNCATE option or COPY_ONLY option is also specified.

Important : Évitez d’utiliser NO_TRUNCATE, sauf si la base de données est endommagée.Important: Avoid using NO_TRUNCATE, except when the database is damaged.
CONTINUE_AFTER_ERRORCONTINUE_AFTER_ERROR Utilisez CONTINUE_AFTER_ERROR uniquement si vous sauvegardez la fin d'une base de données endommagée.Use CONTINUE_AFTER_ERROR only if you are backing up the tail of a damaged database.

Si vous sauvegardez la fin du journal sur une base de données endommagée, certaines métadonnées capturées normalement dans des sauvegardes de journaux sont parfois indisponibles.When you use back up the tail of the log on a damaged database, some of the metadata ordinarily captured in log backups might be unavailable. Pour plus d’informations, consultez Sauvegardes de la fin du journal avec des métadonnées de sauvegarde incomplètes, dans cette rubrique.For more information, see Tail-Log Backups That Have Incomplete Backup Metadata, in this topic.

Sauvegardes de la fin du journal avec des métadonnées de sauvegarde incomplètesTail-Log backups that have incomplete backup metadata

Les sauvegardes de la fin du journal capturent la fin du journal même si la base de données est hors connexion ou endommagée, ou s'il y manque des fichiers de données.Tail log backups capture the tail of the log even if the database is offline, damaged, or missing data files. Cela peut aboutir à des métadonnées incomplètes à partir des commandes d'informations de restauration et de msdb.This might cause incomplete metadata from the restore information commands and msdb. Mais seules les métadonnées sont incomplètes ; le journal capturé est complet et exploitable.However, only the metadata is incomplete; the captured log is complete and usable.

Si une sauvegarde de la fin du journal contient des métadonnées incomplètes, dans la table backupset , has_incomplete_metadata a la valeur 1.If a tail-log backup has incomplete metadata, in the backupset table, has_incomplete_metadata is set to 1. De plus, dans le résultat de RESTORE HEADERONLY, HasIncompleteMetadata a la valeur 1.Also, in the output of RESTORE HEADERONLY, HasIncompleteMetadata is set to 1.

Si les métadonnées d’une sauvegarde de la fin du journal sont incomplètes, la plupart des informations relatives aux groupes de fichiers sont absentes de la table backupfilegroup au moment de la sauvegarde de la fin du journal.If the metadata in a tail-log backup is incomplete, the backupfilegroup table will be missing most of the information about filegroups at the time of the tail-log backup. La plupart des colonnes de la table backupfilegroup ont la valeur NULL ; seules les colonnes suivantes ont une signification :Most of the backupfilegroup table columns are NULL; the only meaningful columns are as follows:

  • backup_set_idbackup_set_id
  • filegroup_idfilegroup_id
  • typetype
  • type_desctype_desc
  • is_readonlyis_readonly

Tâches associéesRelated Tasks

Pour créer une sauvegarde de la fin du journal, consultez Sauvegarder le journal des transactions lorsque la base de données est endommagée (SQL Server).To create a tail-log backup, see Back Up the Transaction Log When the Database Is Damaged (SQL Server).

Pour restaurer une sauvegarde du journal des transactions, consultez Restaurer une sauvegarde du journal des transactions (SQL Server).To restore a transaction log backup, see Restore a Transaction Log Backup (SQL Server).

Voir aussiSee Also

BACKUP (Transact-SQL) BACKUP (Transact-SQL)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Sauvegarde et restauration des bases de données SQL Server Back Up and Restore of SQL Server Databases
Sauvegardes de type copie seule (SQL Server) Copy-Only Backups (SQL Server)
Sauvegardes des journaux de transactions (SQL Server) Transaction Log Backups (SQL Server)
Appliquer les sauvegardes du journal des transactions (SQL Server) Apply Transaction Log Backups (SQL Server)
Guide d’architecture et gestion du journal des transactions SQL ServerSQL Server Transaction Log Architecture and Management Guide