Sauvegardes de la fin du journal (SQL Server)
S’applique à :SQL Server
Cet article s’applique uniquement à la sauvegarde et à la restauration des bases de données SQL Server qui utilisent les modèles de récupération complètes ou journalisées en bloc.
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), afin d’éviter toute perte de travail et de conserver la chaîne de journaux intacte. Avant de pouvoir récupérer une base de données SQL Server à son dernier point dans le temps, vous devez sauvegarder la fin de son journal des transactions. 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.
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 la fin du journal si le point de récupération est contenu dans une sauvegarde de journal antérieure. Une sauvegarde de la fin du journal n’est pas nécessaire si vous déplacez ou remplacez (remplacez) une base de données et n’avez pas besoin de la restaurer à un point de temps après sa sauvegarde la plus récente.
Scénarios nécessitant une sauvegarde de la fin du journal
Nous vous recommandons d'effectuer une sauvegarde de la fin du journal dans les scénarios 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 NORECOVERY
de 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. Étant donné qu’aucune transaction ne peut se produire pour l’instant, utilisez l’option
WITH NO_TRUNCATE
.NO_TRUNCATE
est effectivement identique à une sauvegarde du journal des transactions de copie uniquement. L’utilisationWITH NORECOVERY
est facultative, car aucune transaction ne peut se produire pour l’instant.Si une base de données est endommagée, essayez de effectuer une sauvegarde de la fin du journal à l’aide de l’option
WITH CONTINUE_AFTER_ERROR
de l’instructionBACKUP
.Sur une base de données endommagée, la sauvegarde de la fin du journal peut réussir uniquement si les fichiers journaux ne sont pas endommagés, la base de données est dans un état qui prend en charge les sauvegardes de la fin du journal et la base de données ne contient aucune modification journalisée en bloc. Si aucune sauvegarde de la fin du journal ne peut être créée, toutes les transactions validées après la dernière sauvegarde du journal sont perdues.
Le tableau suivant récapitule les NORECOVERY
options , et CONTINUE_AFTER_ERROR
les options pour BACKUP
NO_TRUNCATE
.
Option BACKUP LOG | Commentaires |
---|---|
NORECOVERY |
Utilisez chaque fois que vous envisagez NORECOVERY de poursuivre une opération de restauration sur la base de données. NORECOVERY prend la base de données dans l’état de restauration. Cette étape garantit que la base de données ne change pas après la sauvegarde de la fin du journal. Le journal est tronqué, sauf si l’option ou COPY_ONLY l’option NO_TRUNCATE est également spécifiée.Important : Évitez d’utiliser NO_TRUNCATE , sauf lorsque la base de données est endommagée ou hors connexion. Vous devrez peut-être placer 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 d’une base de données endommagée, certaines des métadonnées généralement capturées dans les sauvegardes de journaux peuvent être indisponibles. Pour plus d'informations, consultez la section suivante. |
Sauvegardes de la fin du journal qui ont des métadonnées de sauvegarde incomplètes
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. Cela peut entraîner des métadonnées incomplètes à partir des commandes d’informations de restauration et 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 comporte des métadonnées incomplètes, dans la table du jeu de sauvegarde , has_incomplete_metadata
est définie sur 1
. En outre, dans la sortie de RESTORE HEADERONLY, HasIncompleteMetadata
est définie sur 1
.
Si les métadonnées d’une sauvegarde de la fin du journal sont incomplètes, la table backupfilegroup manque la plupart des informations sur les groupes de fichiers au moment de la sauvegarde de la fin du journal. La plupart des colonnes de backupfilegroup
table sont NULL
; les seules colonnes significatives sont les suivantes :
backup_set_id
filegroup_id
type
type_desc
is_readonly
Tâches associées
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).
Pour restaurer une sauvegarde du journal des transactions, consultez Restaurer une sauvegarde du journal des transactions (SQL Server).
Contenu associé
- BACKUP (Transact-SQL)
- Instructions RESTORE (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 de gestion et d’architecture du journal des transactions SQL Server
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : tout au long de 2024, nous allons éliminer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d'informations, consultez :Envoyer et afficher des commentaires pour