Suspendre et reprendre la mise en miroir de bases de données (SQL Server)Pausing and Resuming Database Mirroring (SQL Server)

Le propriétaire de la base de données peut suspendre et reprendre ultérieurement une session de mise en miroir de bases de données à tout moment.The database owner can pause and later resume a database mirroring session at any time. La suspension conserve l'état de la session tout en suspendant la mise en miroir.Pausing preserves the session state while suspending mirroring. En cas de goulots, la suspension peut permettre d'améliorer les performances sur le serveur principal.During bottlenecks, pausing might be useful to improve performance on the principal server.

Lorsqu'une session est suspendue, la base de données principale reste disponible.When a session is paused, the principal database remains available. La suspension d'une session de mise en miroir fait passer son état à SUSPENDED, et la base de données miroir ne reflète plus la base de données principale, ce qui rend cette dernière vulnérable lors de son exécution.Pausing sets the state of the mirroring session to SUSPENDED, and the mirror database no longer keeps up with the principal database, causing the principal database to run exposed.

Nous vous recommandons de reprendre une session suspendue rapidement puisque le journal des transactions ne peut pas être tronqué tant que la session de mise en miroir de bases de données est suspendue.We recommend that you resume a paused session quickly, because as long as a database mirroring session remains paused, the transaction log cannot be truncated. Par conséquent, si la session de mise en miroir de bases de données est suspendue trop longtemps, le journal peut être plein, ce qui rend la base de données indisponible.Therefore, if a database mirroring session is paused for too long, the transaction log fills up, making the database unavailable. Pour une explication des causes de ce phénomène, consultez « Comment la suspension et la reprise affectent la troncature du journal » plus loin dans cette rubrique.For an explanation of why this happens, see "How Pausing and Resuming Affect Log Truncation," later in this topic.

Important

Après un service forcé, lorsque le serveur principal d'origine se reconnecte, la mise en miroir est suspendue.Following a forced service, when the original principal server reconnects mirroring is suspended. La reprise de la mise en miroir dans cette situation peut entraîner des pertes de données sur le serveur principal d'origine.Resuming mirroring in this situation could possibly cause data loss on the original principal server. Pour plus d'informations sur la gestion des problèmes éventuels de perte de données, consultez Database Mirroring Operating Modes.For information about managing the potential data loss, see Database Mirroring Operating Modes.

Dans cette rubrique :In this Topic:

Comment la suspension et la reprise affectent la troncature du journal How Pausing and Resuming Affect Log Truncation

En général, lorsqu'un point de contrôle automatique est effectué sur une base de données, son journal des transactions est tronqué jusqu'à ce point de contrôle après la sauvegarde du journal suivante.Normally, when an automatic checkpoint is performed on a database, its transaction log is truncated to that checkpoint after the next log backup. Durant la suspension de la session de la mise en miroir de bases de données, tous les enregistrements du journal en cours restent actifs puisque le serveur principal attend de les envoyer au serveur miroir.While a database mirroring session remains paused, all of the current log records remain active because the principal server is waiting to send them to the mirror server. Les enregistrements de journal qui n'ont pas été envoyés s'accumulent dans le journal des transactions de la base de données principale en attendant que la session reprenne et que le serveur principal envoie les enregistrements du journal vers le serveur miroir.The unsent log records accumulate in the transaction log of the principal database until the session resumes and the principal server has sent the log records to the mirror server.

Lors de la reprise de la session, le serveur principal commence immédiatement l'envoi des enregistrements accumulés du journal vers le serveur miroir.When the session is resumed, the principal server immediately begins sending the accumulated log records to the mirror server. Après confirmation par le serveur miroir de la mise en file d'attente de l'enregistrement de journal correspondant jusqu'au point de contrôle automatique le plus ancien, le serveur principal tronque le journal de la base de données principale jusqu'à ce point de contrôle.After the mirror server confirms that it has queued the log record corresponding to the oldest automatic checkpoint, the principal server truncates the log of the principal database to that checkpoint. Le serveur miroir tronque la file d'attente de restauration au même enregistrement de journal.The mirror server truncates the redo queue at the same log record. Ce processus est répété pour chaque point de contrôle successif et le journal est tronqué par étape, point de contrôle par point de contrôle.As this process is repeated for each successive checkpoint, the log is truncated in stages, checkpoint by checkpoint.

Note

Pour plus d'informations sur les points de contrôle et la troncature du journal, consultez Points de contrôle de base de données (SQL Server).For more information about the checkpoints and log truncation, see Database Checkpoints (SQL Server).

Éviter la saturation du journal des transactions Avoid a Full Transaction Log

Si le journal est plein (soit parce qu'il a atteint sa taille maximum, soit parce que l'instance du serveur manque de place), la base de données ne peut plus effectuer de mises à jour.If the log fills up (either because it reaches its maximum size or the server instance runs out of space), the database cannot perform any more updates. Pour éviter ce problème, vous avez deux solutions :To avoid this problem, you have two alternatives:

  • Reprendre la session de mise en miroir de base de données avant que le journal ne soit plein, ou ajouter un espace journal supplémentaire.Resume the database mirroring session before the log fills up, or add more log space. La reprise de la mise en miroir de bases de données permet au serveur principal d'envoyer son journal actif cumulé au serveur miroir et met la base de données miroir en état SYNCHRONIZING.Resuming database mirroring lets the principal server send its accumulated active log to the mirror server and puts the mirror database in the SYNCHRONIZING state. Le serveur miroir peut alors renforcer le journal sur le disque et commencer à le refaire.The mirror server can then harden the log to disk and start to redo it.

  • Arrêter la session de mise en miroir de bases de données en supprimant la mise en miroir.Stop the database mirroring session by removing mirroring.

    Contrairement à la suspension d'une session, la suppression d'une mise en miroir supprime toutes les informations sur la session de mise en miroir.Unlike pausing a session, removing mirroring drops all information about the mirroring session. Chaque instance de serveur partenaire conserve sa propre copie de la base de données.Each partner server instance retains its own copy of the database. Si l'ancienne copie miroir est récupérée, elle divergera de l'ancienne copie principale et accusera un retard par rapport à la durée qui s'est écoulée depuis la suspension de la session.If the former mirror copy is recovered, it will have diverged from the former principal copy and be behind by the amount of time that has elapsed since the session was paused. Pour plus d’informations, consultez Suppression d’une mise en miroir des bases de données (SQL Server).For more information, see Removing Database Mirroring (SQL Server).

Pour suspendre ou reprendre la mise en miroir de bases de donnéesTo pause or resume database mirroring

Voir aussiSee Also

ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
Mise en miroir de bases de données (SQL Server) Database Mirroring (SQL Server)
Suppression d’une mise en miroir des bases de données (SQL Server)Removing Database Mirroring (SQL Server)