J'ai testé la fonctionnalité Groupes de disponibilité dans SQL Server 2012 et je constate qu'il y a environ 15 secondes de temps d'arrêt lorsque le serveur principal bascule sur le serveur secondaire. Toutes les requêtes SQL exécutées pendant cette période échouent jusqu'à la fin de la transition de basculement.
Existe-t-il un moyen de réduire ce délai à 0 seconde et d'empêcher les requêtes d'échouer pendant la transition de basculement?
En d'autres termes, existe-t-il un moyen d'exécuter des requêtes pendant l'échec pour être redirigé vers le serveur principal au lieu d'échouer ... et existe-t-il un moyen d'obtenir de nouvelles connexions db pour se connecter immédiatement au serveur secondaire au lieu de ne pas échouer se connecter pendant la transition de basculement?
J'ai actuellement 2 serveurs configurés dans le groupe de disponibilité.
Réponses:
Non, il n'y a aucun moyen de faire un basculement sans interruption avec AlwaysOn (ou dans SQL Server en général, à ma connaissance). Pour ce faire, le serveur SQL auquel vous êtes connecté devrait effectuer un transfert d'état vers un autre nœud à mi-requête, et comme de nombreux basculements sont inattendus, ce n'est pas possible.
Cependant, vous pouvez activer les "secondaires en lecture seule" dans AlwaysOn, puis vos lecteurs n'auraient aucun temps d'arrêt lorsque le serveur principal bascule - car ils se connectent de toute façon à une copie secondaire pour effectuer leurs requêtes SELECT, ils ne le feraient pas même remarquer le basculement. Il y aurait toujours une interruption pour les utilisateurs avec une connexion "Write" ouverte, mais au moins une partie de votre base d'utilisateurs serait ininterrompue.
la source