Partager via


Suspension et reprise de la mise en miroir de bases de données (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. La mise en pause conserve l’état de session tout en suspendant la mise en miroir. En cas de goulots d'étranglement, une pause pourrait être utile pour améliorer les performances du serveur principal.

Lorsqu’une session est suspendue, la base de données principale reste disponible. La mise en pause définit l’état de la session de mise en miroir sur SUSPENDU, et la base de données miroir ne suit plus la base de données principale, ce qui expose la base de données principale en fonctionnement.

Nous vous recommandons de reprendre rapidement une session suspendue, car tant qu’une session de mise en miroir de bases de données reste suspendue, le journal des transactions ne peut pas être tronqué. Par conséquent, si une session de mise en miroir de bases de données est suspendue pendant trop longtemps, le journal des transactions se remplit, ce qui rend la base de données indisponible. Pour une explication de pourquoi cela se produit, voir « Comment la suspension et la reprise affectent la troncation du journal », plus loin dans cette rubrique.

Important

Après un service forcé, lorsque le serveur principal d’origine se reconnecte, la mise en miroir est suspendue. La reprise de la mise en miroir dans cette situation peut entraîner une perte de données sur le serveur principal d’origine. Pour plus d’informations sur la gestion de la perte de données potentielle, consultez Modes d’exploitation de la mise en miroir de bases de données.

Dans cette rubrique :

Comment la suspension et la reprise affectent la troncation du journal

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. Alors qu’une session de mise en miroir de bases de données reste suspendue, tous les enregistrements de journal actuels restent actifs, car le serveur principal attend de les envoyer au serveur miroir. Les enregistrements de journal non enregistrés s’accumulent dans le journal des transactions de la base de données principale jusqu’à ce que la session reprend et que le serveur principal ait envoyé les enregistrements de journal au serveur miroir.

Lorsque la session est reprise, le serveur principal commence immédiatement à envoyer les enregistrements de journal cumulés au serveur miroir. Une fois que le serveur miroir a confirmé qu’il a mis en file d’attente l’enregistrement du journal correspondant 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. Le serveur miroir tronque la file d’attente de restauration automatique au même enregistrement de journal. Comme ce processus est répété pour chaque point de contrôle successif, le journal est tronqué en étapes, point de contrôle par point de contrôle.

Remarque

Pour plus d’informations sur les points de contrôle et la troncation de journal, consultez Points de contrôle de base de données (SQL Server).

Éviter un journal des transactions complet

Si le journal se remplit (soit parce qu’il atteint sa taille maximale ou que l’instance de serveur manque d’espace), la base de données ne peut pas effectuer de mises à jour supplémentaires. Pour éviter ce problème, vous avez deux alternatives :

  • Reprendre la session de mise en miroir de bases de données avant le remplissage du journal ou ajouter plus d’espace journal. 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 place la base de données miroir en état de SYNCHRONISATION. Le serveur miroir peut ensuite durcir le journal sur le disque et commencer à le reconstruire.

  • Arrêtez la session de mise en miroir de bases de données en supprimant la mise en miroir.

    Contrairement à la suspension d’une session, la suppression de la mise en miroir supprime toutes les informations relatives à la session de mise en miroir. Chaque instance de serveur partenaire conserve sa propre copie de la base de données. Si l’ancienne copie miroir est récupérée, elle aura divergé par rapport à l’ancienne copie principale et sera en retard de la durée qui s’est écoulée depuis que la session a été mise en pause. Pour plus d’informations, consultez Suppression de la mise en miroir de bases de données (SQL Server).

Tâches associées

Pour suspendre ou reprendre la mise en miroir de bases de données

Pour arrêter la mise en miroir de bases de données

Voir aussi

MODIFIER LA BASE DE DONNÉES (Transact-SQL)
Mise en miroir de bases de données (SQL Server)
Suppression de la mise en miroir de bases de données (SQL Server)