Intro
J'ai eu à mettre en place la haute disponibilité pour Microsoft SQL Server dans un groupe de travail WORKGROUP donc hors domaine. Depuis Microsoft SQL Server 2017 la fonctionnalité Always On est disponible pour les versions standard (le licencing MSSQL Standard l'autorise mais pour seulement une seule base de données). Également, depuis Windows 2016 Server Standard le cluster de Haute Disponibilité est compatible dans un groupe de travail WORKGROUP.
Configuration
- OS : Windows 2019 Server Standard
- Microsoft SQL Server : 2019 Standard
Schéma de l'architecture
Créer les comptes de service Microsoft SQL (MSSQL01 et MSSQL02)
- ⚠️ le paramètre /expires:never ne semble pas fonctionner, j'utilise donc une commande wmic juste après pour cela :
net user mssqlservice MyPassw0rdMSSQL! /add /expires:never
WMIC USERACCOUNT WHERE Name='mssqlservice' SET PasswordExpires=FALSE
net localgroup administrators mssqlservice /add
Installation de Microsoft SQL Server (MSSQL01 et MSSQL02)
- Il faut installer MSSQL sur les deux serveurs :
- Choisir l'édition. Comme je suis pauvre et en environnement de test, je peux utiliser la version d'Évaluation :
- Accepter les termes du contrat de licence :
- Il est fortement conseillé (mais pas obligatoire) de faire les mises à jour :
- VĂ©rifier qu'il n'y a pas d'erreurs bloquantes et cliquer sur Suivant :
- Nous n'avons besoin que du Service Moteur de base de données :
- Paramétrer l'id de l'instance, qui est MSSQLSERVER par défaut :
- Utiliser les comptes de service par défaut :
- SĂ©lectionner le mode d'authentification Windows et cliquer sur Ajouter l'utilisateur actuel pour ajouter le compte administrateur. Nous n'utiliserons pas l'authentification SQL Server :
- A la fin de l'installation redémarrer le serveur :
- L'installation est terminée, avant de redémarrer, vérifier qu'il n'y ait pas d'étapes en erreur :
Failover Clustering (MSSQL01 et MSSQL02)
Afin d'activer la haute disponibilité nous allons installer le rôle Windows Failover Clustering.
Installation
Depuis l'interface graphique
- Depuis le Gestionnaire de serveur cliquer sur Ajouter des rôles et fonctionnalités :
- Choisir Installation basée sur un rôle ou une fonctionnalité :
- SĂ©lectionner le serveur :
- Ne pas ajouter de rĂ´le :
- SĂ©lectionner Failover Clustering dans la liste :
- Cocher Redémarrer automatiquement puis cliquer sur suivant Installer :
- Enfin cliquer sur Fermer :
Installation depuis PowerShell
- Ou avec la commande PowerShell suivante :
PS C:\Windows\system32> Install-WindowsFeature -Name Failover-Clustering –IncludeManagementTools -Restart
Configuration du Failover Clustering (MSSQL01)
Configuration depuis l'interface graphique
- Ouvrir le gestionnaire du cluster de basculement :
- Créer un nouveau Cluster
- Ajouter les serveurs mssql :
- ⚠️ Afin d'accĂ©der au partage administratif et ne pas avoir le message “vous n'avez pas de privilèges d'administration sur le serveur”, entrer la commande suivante sur les deux serveurs :
C:\Windows\system32>REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /f /D 1
- Lorsque les deux serveurs mssql ont été correctement ajoutés, cliquer sur Suivant :
- Ne pas exécuter les tests de validation et cliquer sur Suivant :
- Donner un Nom au cluster et paramétrer l'adresse ip :
- Cliquer sur Suivant pour démarrer la création du cluster :
- Le cluster est à présent créé, cliquer sur Terminer pour fermer l'assistant :
Configuration depuis PowerShell
- Entrer la commande PowerShell suivante :
PS C:\Windows\system32> New-Cluster -Name WFC_MSSQL -Node mssql01.priv, mssql02.priv -AdministrativeAccessPoint DNS -StaticAddress 192.168.1.198
Microsoft SQL Server Management Studio
- Télécharger et Installer Microsoft SQL Server Management Studio.
- A la fin de l'installation Redémarrer l'ordinateur :
Configuration du compte mssqlservice (MSSQL01 et MSSQL02)
- Ouvrir Microsoft SQL Server Management Studio et se conecter sur le serveur MSSQL01 :
- Dans l'Explorateur d'objet dans SĂ©curitĂ© faire un clic droit sur Connexions > Nouvelle connexion… :
- Ajouter le compte mssqlservice et cliquer sur OK :
- Configurer le compte mssqlservice :
- Dans Éléments sécurisables, accorder les droits Connecter SQL :
- Dans RĂ´les du serveur, ajouter le rĂ´le sysadmin :
- Rejouer la même procédure pour le serveur MSSQL02.
Paramétrer SQL Server AlwaysOn
- Tout d'abord il faut procéder à une sauvegarde de base de données :
- Si besoin, changer l'emplacement de destination par défaut et cliquer sur OK pour sauvegader :
- Puis faire un clic droit sur Haute disponibilitĂ© Always ON et cliquer sur Assistant Nouveau groupe de disponibilitĂ©…
- L'assistant de création de groupe de disponibilité s'ouvre, cliquer sur Suivant :
- Donner un nom au groupe de disponibilité et cliquer sur Suivant :
- Choisir la base de données et cliquer sur Suivant :
- Ajouter le serveur MSSQL02 :
- Paramétrer les informations concernant l'écouteur :
- SĂ©lectionner Seed automatique :
- Vérifier les résultats de la validation du groupe de disponibilité :
- Cliquer sur Terminer pour procéder à la création du groupe de disponibilité :
- Le message l'Assistant s'est terminée correctement devrait apparaitre, cliquer sur Fermer pour fermer l'assistant :
- Se connecter sur l'interface du cluster et vérifier que tout est OK :