En principe, un cluster de basculement SQL Server se présente comme une machine virtuelle à laquelle les applications peuvent se connecter sans tenir compte du fait que le serveur SQL est en fait un cluster de serveurs. Ainsi, en principe, aucune logique supplémentaire n'est requise dans le niveau d'accès à la base de données de l'application.
Ma question est de savoir si ce qui précède est vrai et s'il existe des modifications des meilleures pratiques sur la façon dont le niveau d'accès à la base de données fonctionne lorsqu'on utilise un cluster de basculement. Par exemple, on peut supposer que lors d'un basculement, il y aura un délai qui peut causer une erreur de dépassement de temps au niveau de l'accès à la base de données. Nous envisageons de mettre en place une logique dans ce niveau pour réessayer [certains] appels à la base de données lorsqu'un dépassement de temps se produit (nous avons déjà une logique de réessai pour les blocages de la base de données). Cela fournit un autre niveau de protection contre les erreurs affectant l'application.
Si un basculement se produit et que l'application supérieure reçoit une erreur de délai d'attente sur un appel de service, il ne s'agit pas d'un basculement transparent. Devrions-nous simplement fixer nos délais d'attente à une durée qui permette le basculement ?
Merci.