Impact d'un nom de partenaire de basculement obsolète

L'administrateur de base de données peut modifier le partenaire de basculement à tout moment. C'est pourquoi un nom de partenaire de basculement fourni par le client peut être périmé ou obsolète. Prenons par exemple un partenaire de basculement nommé Partner_B qui est remplacé par une autre instance de serveur nommée Partner_C. Si un client fournit Partner_B comme nom de partenaire de basculement, ce nom est obsolète. Quand le nom du partenaire de basculement fourni par le client est obsolète, le comportement du fournisseur d'accès aux données est identique à celui adopté lorsque le nom du partenaire de basculement n'est pas fourni par le client.

Par exemple, imaginons une situation dans laquelle un client utilise une chaîne de connexion unique pour une série de quatre tentatives de connexion. Dans la chaîne de connexion, le nom du serveur partenaire initial est Partner_A et le nom du serveur partenaire de basculement est Partner_B :

"Server=Partner_A; Failover Partner=Partner_B; Database=AdventureWorks2008R2"

Le tableau suivant représente quatre configurations de partenaire et indique pour chacune d'entre elles si la chaîne de connexion permet ou non de connecter le client la première fois.

Notes

Une application peut assurer le suivi des modifications de configuration et modifier sa chaîne de connexion en conséquence. Cela demande d'ajouter du code supplémentaire mais réduit la charge administrative.

Configuration

Serveur principal

Serveur miroir

Comportement lors de la tentative de connexion en spécifiant Partner_A et Partner_B

Configuration de la mise en miroir de départ.

Partner_A

Partner_B

Partner_A est mis en cache en tant que nom du partenaire initial. Le client réussit à se connecter à Partner_A. Le client télécharge le nom du serveur miroir, Partner_B, et le met en cache en ignorant le nom du serveur partenaire de basculement fourni par le client.

Partner_A subit une défaillance matérielle et un basculement a lieu (suivi d'une déconnexion des clients).

Partner_B

aucun

Partner_A est toujours mis en cache comme nom de partenaire initial, mais le nom de partenaire de basculement fourni par le client, Partner_B, permet au client de se connecter au serveur principal actuel.

L'administrateur de base de données arrête la mise en miroir (et déconnecte les clients), remplace Partner_A par Partner_C et redémarre la mise en miroir.

Partner_B

Partner_C

Le client essaie de se connecter à Partner_A sans succès. Ensuite, il essaie avec Partner_B (le serveur principal actuel) et sa tentative aboutit. Le fournisseur d'accès aux données télécharge le nom du serveur miroir actuel, Partner_C, et le met en cache comme nom de partenaire de basculement.

Le service est manuellement basculé vers Partner_C (déconnexion des clients).

Partner_C

Partner_B

Le client tente tout d'abord de se connecter à Partner_A, puis à Partner_B. Ces deux noms échouent et la demande de connexion finit par expirer et par échouer.