Dans cet article, nous discuterons de la mise en place d’une configuration de basculement automatique pour les services de reporting SQL Server en utilisant des groupes de disponibilité. Lorsque les bases de données du serveur de rapports sont ajoutées à un groupe de haute disponibilité, elles deviennent une partie d’une réplique. Cependant, en cas de basculement, les services de reporting ne pourront pas utiliser la base de données du serveur de rapports de la nouvelle réplique principale tant que certaines étapes manuelles ou automatisées ne seront pas effectuées. Dans cet article, nous nous concentrerons sur la configuration automatisée.
Prérequis
- La fonctionnalité SSRS doit être installée
- Créez un compte pour la connexion à la base de données du serveur de rapports et configurez-le avec les autorisations appropriées
- Ajoutez les bases de données du serveur de rapports au groupe de disponibilité
Configuration des bases de données des services de reporting
En supposant que nous disposons d’un cluster à deux nœuds avec un groupe de disponibilité configuré comme “AGO1” et que la fonctionnalité des services de reporting est installée, nous pouvons ajouter les bases de données des services de reporting au groupe de haute disponibilité. Pour utiliser les groupes de disponibilité Always On pour les bases de données de reporting, nous devons configurer la connexion à la base de données pour utiliser le nom DNS du listener. Cela peut être fait à l’aide du Gestionnaire de configuration des services de reporting. Suivez ces étapes :
- Cliquez sur l’option “Changer de base de données”
- Sélectionnez l’option pour configurer la connexion à la base de données
- Entrez les paramètres suivants :
- Nom du serveur : Nom du listener du groupe de disponibilité
- Nom d’utilisateur : Utilisez le compte de service de domaine créé dans la section des prérequis
- Dans l’onglet Base de données, pointez vers la base de données du serveur de rapports
Automatisation des étapes de basculement
Les étapes suivantes pour terminer le basculement peuvent être effectuées manuellement en cas de basculement du groupe Always On, ou elles peuvent être automatisées. Ces étapes comprennent :
- Arrêtez le service SQL Server Agent sur les instances non principales
- Démarrez le service SQL Server Agent sur la nouvelle instance principale
- Arrêtez les services du serveur de rapports sur la machine du serveur de rapports
L’automatisation de ces tâches peut être effectuée à l’aide du Planificateur de tâches Windows. Nous pouvons créer une tâche Windows sur toutes les instances du cluster concernées, qui sera déclenchée par certains types d’événements. Voici comment créer une tâche Windows :
- Renseignez le nom de la tâche et le compte utilisateur qui sera utilisé pour exécuter la tâche
- Cliquez sur le déclencheur et remplissez les détails des conditions de déclenchement en fonction de l’ID de l’événement
- Créez une tâche Windows qui sera déclenchée lorsqu’elle détecte le type d’événement 41075. Cette tâche redémarrera le service SQL Server Agent en cas de basculement
- Créez une tâche Windows sur la réplique SQL Server qui devient la nouvelle principale après le basculement. Cette tâche redémarrera les services SQL Server Agent et les services de rapport et sera déclenchée par l’ID de l’événement 41074
- Sur tous les serveurs du cluster, démarrez ou arrêtez le travail de l’Agent SQL Server en fonction de l’état de la réplique. Si la réplique est principale, l’Agent SQL est démarré, et si la réplique est secondaire, le service SQL Server Agent est arrêté
Détermination de l’état de la réplique
L’état de la réplique SQL Server peut être déterminé en utilisant la procédure attachée SQL Check_Replica_Status. Utilisez l’URL du portail web de reporting en utilisant le listener AO, qui fonctionnera indépendamment du basculement du groupe Always On vers n’importe quelle réplique. Par exemple : http://AOGroupListener/Reports/browse/
En suivant ces étapes, vous pouvez mettre en place une configuration de basculement automatique pour les services de reporting SQL Server en utilisant des groupes de disponibilité. Cela garantira que vos services de reporting continuent de fonctionner de manière transparente même en cas de basculement.