SQL Server 2014 : AlwaysON Availability Group dans Azure (Partie 4)
Voici le quatrième article consacré à la mise en place d’une solution SQL Server 2014 AlwayON Availability Group dans Azure. Les articles sont découpés selon le plan suivant :
- Création de l’infrastructure Cloud
- Création de l’infrastructure virtuelle
- Mise en place du Failover cluster
- Configuration SQL
- Création du listener
- Test de la bascule AlwaysON
Ce billet va traiter de la quatrième partie, “Configuration SQL ”. Pour rappel, à la fin de cette première série d’articles, nous aurons l’architecture suivante :
Configuration SQL
Maintenant que le cluster a été configuré au minima pour fonctionner avec les groupes de disponibilités de SQL AlwaysOn, nous allons configurer nos serveurs SQL.
Création des comptes SQL
Modification du compte système
Connectez-vous en tant qu’administrateur local sur une de vos machines SQL Server. (Dans mon cas la machine SQL1)
Une fois connecté, allez dans le dossier « Security », « Logins ».
Faîtes un clic droit sur «NT AUTHORITY\SYSTEM ».Dans le menu contextuel, sélectionnez « Properties ».
Dans la fenêtre « Login Properties », dans la partie gauche, sélectionnez « Securables ».
Dans la colonne « Grant » cochez les casespour :
-
- Alter any availability group
- Connect SQL
- View server state
Rajout du compte « Install » dans SQL
Allez dans le dossier « Security », et faîtes un clic droit sur le dossier « Logins ».
Dans le menu contextuel, sélectionnez « New Login… ».
Dans la fenêtre « Login », dans la partie « General », rajoutez le compte franmer\install en tant que sysadmin.
Pour rechercher le compte, cliquez sur le bouton « Search… »
La fenêtre « Select User or Group » apparaît. Entrez le nom du compte à rajouter.
Cliquez sur « OK ».
Une fois de retour sur la fenêtre « Login », dans la partie gauche, sélectionnez « Server Roles »
Dans la partie centrale de la fenêtre, cochez la case « sysadmin »
Le nouveau compte doit apparaître dans le dossier « Logins ».
Vous pouvez rajouter d’autres comptes si vous souhaitez utiliser d’autres comptes pour vos connexions futures à SQL.
Mise en place du groupe de disponibilité AlwaysON
Paramétrage du service SQL
Nous sommes toujours connectés sur la même machine SQL (SQL1 dans mon cas).
Dans la partie Moder UI de votre serveur SQL, commencer à entrer « SQL configuration… ». Dans le résultat de la recherche, sélectionnez « SQL Server 2014 Configuration Manager »
Dans la fenêtre « Sql Server Configuration Manager », dans la partie gauche, cliquez sur « SQL Server Services ».
Dans la partie centrale, faîtes un clic droit sur le service SQL Server. Dans mon cas « SQL Server (MSSQLSERVER) ».
Dans le menu contextuel, cliquez sur « Properties ».
Dans la fenêtre «SQL Server (MSSQLSERVER) Properties », sélectionnez l’onglet « AlwaysON High Availability ».
Cochez la case « Enable AlwayON Availability Groupe ». (Cette case n’est disponible que si la machine appartient à un cluster).
Un message d’information apparaît vous signalant qu’il sera nécessaire de redémarrer le service SQL.
Cliquez sur « OK »
Cliquez sur l’onglet « Log On ».
Cochez le bouton radio « This account ».
Renseignez le compte pour le service SQL. Dans mon cas j’ai pris le compte SQL1 (pour la machine SQL2 je prendrais le compte SQL2, et ainsi de suite….).
Cliquez sur « Ok ».
Redémarrez le service SQL.
Répétez l’opération pour les autres serveurs SQL.
Création du backup des bases de données
Depuis le serveur SQL 1, nous allons maintenant faire un backup de toutes les bases de données qui vont entrer dans notre groupe de disponibilité.
Connectez-vous sur le serveur SQL1 avec le compte Install. Sur le disque « C » (ou autre, sauf le lecteur D), créez un répertoire « Backup ».
Faîtes un clic droit sur le répertoire « Backup » et cliquez sur « Share with », « Specific people… ».
La fenêtre « File Sharing » apparaît. Rajoutez les comptes qui devront avoir accès aux backups des bases depuis les différents serveurs SQL.
Cliquez sur le bouton « Share ».
Dans notre exemple, les serveurs SQL ne possèdent pas de bases données utilisateurs. Nous allons donc en créer une et utiliser la base AdventrueWorks.
Toujours depuis le serveur SQL1, exécutez SQL Server Management Studio (SSMS).
Faîtes un clic droit sur le dossier « Databases » et cliquez sur « New Database ».
Renseignez les informations nécessaires pour la création de votre base de données.
Cliquez sur Ok.
Nous allons maintenant récupérer la base de données AdventureWorks depuis le lien ci-dessous :
https://msftdbprodsamples.codeplex.com/releases/view/55330
Vous allez donc récupérer le fichier « .mdf » qu’il faudra attacher à votre instance SQL Server.
Faîtes un clic droit sur le dossier « Databases », puis sur « Attach… ».
Une fois la base de données « AdventureWorks » attachée, vous devez avoir quelque chose de similaire à la copie d’écran ci-dessous :
Pour chacune des bases de données qui vont participer au groupe de disponibilité, nous allons réaliser un « Full Backup » ainsi qu’un « Log Backup »
Nous allons maintenant sauvegarder les bases de données dans notre dossier partage « Backup ».
Full Backup
Faîtes un clic droit sur une des bases de données puis sélectionnez « Tasks »\ « Back Up… »
Dans la fenêtre « Back Up Database », Sélectionnez « Full » dans le champ « Backup type ».
Dans la partie « Destination », sélectionnez « Disk » dans la liste « Back up to ».
Cliquez sur le bouton « Add » et renseignez le chemin réseau de votre dossier partage « backup ».
Cliquez sur le bouton « Ok ».
Une fois le « Full Backup » terminé, il faut faire le « logs backup » de la même base de données
Logs Backup
Faîtes un clic droit sur la même base de données que vous avez sélectionnez pour faire le « Full Backup ».
Dans le menu contextuel sélectionnez « Tasks »\ « Back Up… » .
Dans la partie « Backup type », sélectionnez « Transaction Log ».
Dans la partie destination, sélectionnez le même fichier de destination que celui utilisé pour le « Full Backup ».
Cliquez sur « Ok »
Répétez cette opération de sauvegarde (Full + Logs) pour toutes les bases de données devant participer au groupe de disponibilité « SQL AlwaysON »
Restauration des bases de données sur les différents nœuds
Même si l’assistant de configuration d’AlwaysON est capable de restaurer tout seul comme un grand les bases de données, nous allons le faire nous-même sur les différents nœuds.
Connectez-vous sur un des autres serveurs (dans mon cas le server SQL2). Exécutez Management Studio Et connectez-vous à votre serveur SQL.
Cliquez sur « Connect » puis sur « Database Engine ».
Dans la fenêtre « Connect to server », sélectionnez votre serveur.
Cliquez sur « Connect ».
Faîtes un clic droit sur le dossier « Databases » et sélectionnez « Restore Database » dans le menu contextuel.
Dans la fenêtre « Restore Database », cliquez sur le bouton radio « Device » puis sur le bouton
Dans la fenêtre « Select backup devices », sélectionnez « File » dans la liste « Backup media type ».
Cliquez sur le bouton « Add » et renseignez le chemin réseau vers le dossier partagé « Backup ».
Ci-dessous une copie d’écran de l’ajour de mon fichier de backup.
Vous devez donc avoir quelque chose ressemblant à la copie d’écran ci-dessous. Cliquez sur le bouton « Ok »
Après avoir cliquez sur « Ok » vois devez avoir quelque chose de similaire à la copie d’écran ci-dessous :
Sur la gauche, sélectionnez « Options ».
Dans la liste « Recovery State », sélectionnez « Restore With Norecovery ».
Cliquez sur « Ok ».
Vos bases de données doivent être dans un état « Restoring… ».
Répétez l’opération pour tous vos serveurs SQL participant au groupe de disponibilité AlwaysON.
Ci-dessous une copie d’écran avec tous les serveurs participants à mon groupe de disponibilité.
Configuration du groupe de disponibilité
Connectez-vous sur un de vos serveurs SQL. Dans mon cas, je me connecte sur mon serveur SQL1.
Ouvrez SQL Server Management Studio et connectez-vous à votre serveur SQL.
Faîtes un clic droit sur le dossier « AlwaysOn High Availability » et sélectionnez « New Availability Group Wizard… ».
Dans la fenêtre d’introduction, cliquez sur « Next »
Dans la partie « Specify Name », donnez un nom à votre groupe de disponibilité. Cliquez sur « Next ».
Dans la partie « Select Databases », sélectionnez les bases que vous souhaitez intégrer dans votre groupe de disponibilité.
Dans mon exemple, je sélectionne les bases « AdventureWorks2012 » et « FranmerDB » que j’ai sauvegardées puis restaurées en NoRecovery sur mes différents nœuds.
Notez que l’assistant indique si oui ou non les bases sont éligibles.
Cliquez sur « Next ».
Dans la partie « Specify Replicas », définissez les fonctions de vos serveurs. Ci-dessous une copie d’écran de ma configuration. (On reste sur l’onglet « Replicas »).
Cliquez sur « Next ».
Dans la partie « Select Data Synchronisation », sélectionnez « Join Only », car nous avons fait les restaurations sur nos différents nœud. Mais notez que l’assistant peut faire ce travail pour nous si l’option « Full » est sélectionnée.
Cliquez sur « Next ».
La phase de validation se lance. Si tout va bien vous devez avoir un warning sur le « listener », (on y reviendra) mais rien de bloquant.
Cliquez sur « Next ».
La fenêtre « Summary » récapitule l’ensemble des actions qui vont être réalisées. Cliquez sur « Finish »
Une fois l’assistant terminé, vous devez avoir l’ensemble de vos nœuds dans la partie « AlwaysON High Availability » dans le management studio.
Ci-dessous, une copie d’écran de mon environnement :
Si vous faîtes un clic droit sur « AlwaysON High Availability », vous pouvez sélectionnez « Show Dashboard ».
Le « dashboard » vous permet d’avoir en un coup d’œil l’état de votre groupe de disponibilité.
Dans le prochain article, nous aborderons la création du listener .
Pour tester Windows Server 2012 R2, Windows 8, SQL Server 2014 et Power BI, vous pouvez télécharger gratuitement une version d’évaluation :
Windows Server 2012 R2:
-
- d'une image ISO : https://aka.ms/jeveuxWindowsServer2012R2
- d'un fichier VHD avec un système préinstallé : https://aka.ms/jeveuxWindowsServer2012R2
SQL Server 2014 :
Power BI :
Testez Azure gratuitement pendant un mois :
Comments
- Anonymous
January 01, 2003
Thanks - Anonymous
July 22, 2014
Voici le cinquième article consacré à la mise en place d’une solution SQL Server 2014 AlwayON - Anonymous
July 24, 2014
Voici le sixième et dernier article consacré à la mise en place d’une solution SQL Server 2014