Témoin de mise en miroir de base de données

Pour permettre la prise en charge du basculement automatique, une session de mise en miroir de base de données doit être configurée en mode haute sécurité et disposer d'une troisième instance de serveur, appelée témoin. Le témoin correspond à une instance facultative de SQL Server qui active le serveur miroir dans une session en mode haute sécurité pour déterminer s'il est nécessaire d'initier un basculement automatique. Contrairement aux deux partenaires, le témoin n'est pas au service de la base de données. La prise en charge du basculement automatique est le seul rôle rempli par le témoin.

Note

En mode haute sécurité, le témoin peut avoir une influence négative sur la disponibilité. Si un témoin est configuré pour une session de mise en miroir de base de données, le serveur principal doit être connecté à au moins une des autres instances de serveur, le serveur miroir ou le témoin, ou les deux. Sinon, la base de données n'est plus disponible et forcer le service (perte de données possible) est impossible. Par conséquent, en mode haute performance, il est fortement recommandé de toujours conserver le témoin défini sur OFF. Pour plus d'informations sur l'incidence du témoin sur le mode hautes performances, consultez Mise en miroir asynchrone de bases de données (mode hautes performances).

La figure ci-dessous présente une session en mode haute sécurité avec témoin.

Session de mise en miroir avec un témoin

Utilisation d'un témoin dans plusieurs sessions

Une instance du serveur spécifique peut servir de témoin dans des sessions de mise en miroir de base de données simultanées, à raison d'une session par base de données différente. Différentes sessions ont lieu avec différents partenaires. L'illustration suivante montre une instance de serveur témoin qui participe à deux sessions de mise en miroir de base de données avec différents partenaires.

Instance de serveur témoin pour 2 bases de données

Une même instance de serveur peut également fonctionner simultanément en tant que témoin au sein de certaines sessions et en tant que partenaire au sein d'autres sessions. En pratique, cependant, une instance de serveur fonctionne typiquement soit en tant que témoin, soit en tant que partenaire. La raison en est que les serveurs partenaires nécessitent des ordinateurs sophistiqués disposant d'un niveau de matériel suffisant pour prendre en charge une base de données de production, alors que le serveur témoin peut s'exécuter sur tout système Windows disponible prenant en charge SQL Server 2008.

Recommandations logicielles et matérielles

Nous vous recommandons vivement de placer le témoin sur un ordinateur distinct de celui des partenaires. Les serveurs partenaires de mise en miroir de bases de données sont pris en charge uniquement par SQL Server 2005 Standard et les versions ultérieures et par SQL Server 2005 Enterprise Edition et les versions ultérieures. Les témoins, sont également pris en charge par SQL Server 2005 Workgroup et versions ultérieures et par SQL Server 2005 Express Edition et versions ultérieures. Cependant, dans SQL Server 2008 et versions ultérieures, un témoin SQL Server 2005 n'est pris en charge que lors de la mise à niveau à partir d'une configuration de mise en miroir SQL Server 2005. Un témoin SQL Server 2005 ne peut pas être ajouté à des configurations de mise en miroir existantes ou à de nouvelles configurations de mise en miroir SQL Server 2008 ou à des configurations de mise en miroir ultérieures, qui requièrenet l'exécution du témoin sur SQL Server 2008 ou une version ultérieure.

Un témoin peut s'exécuter sur tout système informatique fiable prenant en charge ces éditions de SQL Server. Cependant, nous recommandons que chaque instance de serveur utilisée en tant que témoin soit conforme à la configuration minimale requise pour la version de SQL Server Standard que vous exécutez. Pour plus d'informations sur cette configuration requise, consultez Configurations matérielle et logicielle requises pour l'installation de SQL Server 2008 R2

Rôle du témoin en basculement automatique

Pendant tout le déroulement d'une session de mise en miroir d'une base de données, toutes les instances de serveur surveillent l'état de leur connexion. Si les partenaires se déconnectent, ils s'en remettent au témoin pour vérifier qu'un seul d'entre eux sert actuellement la base de données. Si un serveur miroir synchronisé perd sa connexion au serveur principal, mais reste connecté au témoin, le serveur miroir contacte le témoin pour déterminer si le témoin a perdu sa connexion au serveur principal :

  • Si le serveur principal est toujours connecté au témoin, le basculement automatique n'a pas lieu. Le serveur principal continue en fait à servir la base de données tout en accumulant les enregistrements du journal à envoyer au serveur miroir lorsque les partenaires se reconnectent.

  • Si le témoin est aussi déconnecté du serveur principal, le serveur miroir détecte que cette base de données principale n'est plus disponible. Dans ce cas, le serveur miroir initie immédiatement un basculement automatique.

  • Si le serveur miroir est déconnecté du témoin ainsi que du serveur principal, le basculement automatique n'est pas possible, indépendamment de l'état du serveur principal.

La condition selon laquelle au moins deux instances de serveur doivent être connectées s'appelle quorum. Le quorum garantit que la base de données ne peut être servie que par un seul partenaire à la fois. Pour des informations sur le fonctionnement du quorum et son impact sur une session, consultez Quorum : effets d'un témoin sur la disponibilité de la base de données.