Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Cet article s’applique uniquement à la sauvegarde et la restauration des bases de données SQL Server employant le mode de récupération complète ou le mode de récupération utilisant les journaux de transactions.
Une sauvegarde du journal en fin de journal sauvegarde tous les enregistrements du journal qui n’ont pas encore été sauvegardés (la fin du journal), afin d’éviter toute perte de travail et de préserver l’intégrité de la chaîne du journal. Avant de pouvoir récupérer une base de données SQL Server aux date et heure les plus récentes, vous devez sauvegarder la fin de son journal des transactions. La sauvegarde de fin du journal est la dernière sauvegarde pertinente du plan de récupération de la base de données.
Les scénarios de restauration ne nécessitent pas tous une sauvegarde de la fin du journal. Vous n’avez pas besoin d’une sauvegarde de fin du journal si le point de récupération est inclus dans une sauvegarde antérieure du journal. Une sauvegarde de fin du journal n’est pas nécessaire si vous déplacez ou remplacez (en l’écrasant) une base de données et que vous n’avez pas besoin de la restaurer à un moment précis après sa sauvegarde la plus récente.
Scénarios qui nécessitent une sauvegarde de la fin du journal
Nous vous recommandons d'effectuer une sauvegarde de la fin du journal dans les cas suivants :
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. Pour éviter une erreur pour une base de données en ligne, vous devez utiliser l’option
WITH NORECOVERYde l’instruction BACKUP Transact-SQL.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. Comme il est exclu d’effectuer une transaction à ce stade, utilisez l’option
WITH NO_TRUNCATE.NO_TRUNCATEéquivaut en pratique à une sauvegarde de journal de transactions en mode copy-only. Comme il est exclu d’effectuer une transaction à ce stade, l’utilisation deWITH NORECOVERYest facultative.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_ERRORde l’instructionBACKUP.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. Si une sauvegarde de fin de journal ne peut pas être créée, toutes les transactions validées après la dernière sauvegarde du journal sont perdues.
Les options NORECOVERY, NO_TRUNCATE et CONTINUE_AFTER_ERROR pour BACKUP sont décrites dans le tableau suivant.
| BACKUP Option LOG | Commentaires |
|---|---|
NORECOVERY |
Utilisez NORECOVERY chaque fois que vous envisagez de poursuivre une opération de restauration sur la base de données.
NORECOVERY fait passer la base de données en état de restauration. Cette étape garantit que la base de données ne soit pas modifiée après la sauvegarde de fin du journal des transactions. Le journal est tronqué sauf si l’option NO_TRUNCATE ou COPY_ONLY est aussi spécifiée.Important : évitez d’utiliser NO_TRUNCATE, sauf si la base de données est endommagée ou hors ligne. Vous devrez peut-être mettre la base de données en mode mono-utilisateur pour obtenir un accès exclusif avant d’effectuer la restauration avec NORECOVERY. Après la restauration, rétablissez la base de données en mode multi-utilisateur. |
CONTINUE_AFTER_ERROR |
Utilisez CONTINUE_AFTER_ERROR uniquement si vous sauvegardez la fin d’une base de données endommagée.Lorsque vous sauvegardez la fin du journal des transactions d’une base de données endommagée, certaines métadonnées généralement capturées dans les sauvegardes du journal peuvent être indisponibles. Pour plus d'informations, voir la section suivante. |
Sauvegardes de la fin du journal avec des métadonnées de sauvegarde incomplètes
Les sauvegardes de fin de journal capturent la partie finale du journal même si la base de données est hors ligne, endommagée ou si des fichiers de données sont manquants. Cela peut aboutir à des métadonnées incomplètes à partir des commandes d’informations de restauration et de msdb. Mais seules les métadonnées sont incomplètes ; le journal capturé est complet et exploitable.
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. De plus, dans la sortie de RESTORE HEADERONLY, HasIncompleteMetadata est définie à 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. La plupart des colonnes de la table backupfilegroup ont la valeur NULL ; seules les colonnes suivantes ont une signification :
backup_set_idfilegroup_idtypetype_descis_readonly
Tâches associées
Pour créer une sauvegarde du journal de fin, consultez Sauvegarder le journal des transactions lorsque la base de données est endommagée (SQL Server).
Pour restaurer une sauvegarde du journal des transactions, consultez Restaurer une sauvegarde du journal des transactions (SQL Server).
Contenu connexe
- BACKUP (Transact-SQL)
- RESTORE instructions (Transact-SQL)
- Sauvegarder et restaurer des bases de données SQL Server
- Sauvegardes de copie uniquement
- Sauvegardes du journal des transactions (SQL Server)
- Appliquer les sauvegardes du journal de transactions (SQL Server)
- Guide d'architecture et gestion du journal des transactions de SQL Server