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 :

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 :

image_thumb111

 

 

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 ».

clip_image001

Dans la fenêtre « Login Properties », dans la partie gauche, sélectionnez « Securables ».

image

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… ».

clip_image003

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… »

image

La fenêtre « Select User or Group » apparaît. Entrez le nom du compte à rajouter.

Cliquez sur « OK ».

clip_image005

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 »

image

Le nouveau compte doit apparaître dans le dossier « Logins ».

clip_image007

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 »

clip_image008

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 ».

clip_image009

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).

clip_image010

Un message d’information apparaît vous signalant qu’il sera nécessaire de redémarrer le service SQL.

Cliquez sur « OK »

clip_image011

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 ».

clip_image012

Redémarrez le service SQL.

clip_image013

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… ».

clip_image014

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 ».

clip_image015

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 ».

clip_image016

Renseignez les informations nécessaires pour la création de votre base de données.

Cliquez sur Ok.

clip_image017

Nous allons maintenant récupérer la base de données AdventureWorks depuis le lien ci-dessous :

https://msftdbprodsamples.codeplex.com/releases/view/55330

clip_image018

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… ».

clip_image019

Une fois la base de données « AdventureWorks » attachée, vous devez avoir quelque chose de similaire à la copie d’écran ci-dessous :

clip_image020

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… »

clip_image021

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 ».

image

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 »

image

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 ».

clip_image024

Dans la fenêtre « Connect to server », sélectionnez votre serveur.

Cliquez sur « Connect ».

clip_image025

Faîtes un clic droit sur le dossier « Databases » et sélectionnez « Restore Database » dans le menu contextuel.

clip_image026

Dans la fenêtre « Restore Database », cliquez sur le bouton radio « Device » puis sur le bouton image

image

 

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 ».

image

Ci-dessous une copie d’écran de l’ajour de mon fichier de backup.

clip_image030

Vous devez donc avoir quelque chose ressemblant à la copie d’écran ci-dessous. Cliquez sur le bouton « Ok »

clip_image031

Après avoir cliquez sur « Ok » vois devez avoir quelque chose de similaire à la copie d’écran ci-dessous :

clip_image032

Sur la gauche, sélectionnez « Options ».

Dans la liste « Recovery State », sélectionnez « Restore With Norecovery ».

Cliquez sur « Ok ».

image

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é.

clip_image034

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… ».

clip_image035

Dans la fenêtre d’introduction, cliquez sur « Next »

clip_image036

Dans la partie « Specify Name », donnez un nom à votre groupe de disponibilité. Cliquez sur « Next ».

clip_image037

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 ».

image

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 ».

clip_image039

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 ».

clip_image040

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 ».

clip_image041

La fenêtre « Summary » récapitule l’ensemble des actions qui vont être réalisées. Cliquez sur « Finish »

clip_image042

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 :

clip_image043

Si vous faîtes un clic droit sur « AlwaysON High Availability », vous pouvez sélectionnez « Show Dashboard ».

clip_image044

Le « dashboard » vous permet d’avoir en un coup d’œil l’état de votre groupe de disponibilité.

clip_image045

Dans le prochain article, nous aborderons la création du listener .

Franck Mercier

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:

SQL Server 2014 :

Power BI :

Testez Azure gratuitement pendant un mois :