SQL Server 2014 : Intégration avec le stockage Azure

 

SQL 2014 CTP1 est disponible en téléchargement. Cette version est complètement orientée Cloud hybride et propose nativement de nombreuses fonctions permettant l’intégration avec les différents « niveaux » du Cloud, le IaaS, le PaaS et aussi le stockage de Windows Azure. Cet article détail une de ces fonctions, et plus particulièrement l’intégration de SQL 2014 avec le stockage de Windows Azure. Cette possibilité permet de stocker les fichiers de données et de logs directement dans un stockage Azure.

Prérequis

Voici les étapes que l’on va suivre lors de ce billet :

Côté Azure :
  • Création d’un compte de stockage et d’un container
  • Définition d’une « Policy » et d’une « Shared Access Signature » sur le compte de stockage
Côté SQL Server Management Studio (SSMS) :
  • Création d’un « Credential » référençant le compte de stockage
  • Création de la base de données avec le ou les fichiers dans Azure

Création d’un compte de stockage

Avant de pouvoir intégrer SQL 2014 avec le stockage Azure, il est de bonne augure de configurer un compte de stockage ainsi qu’un conteneur afin d’y stocker nos fichiers de logs et de données Sourire !

Connectez-vous sur le portail Azure et cliquez sur le bouton image en bas de l’écran.

Dans le menu qui apparaît, allez dans “Services de données”/”Stockage”/”Création Rapide

Renseignez les informations concernant le compte de stockage que vous souhaitez créer.

image

Une fois le compte de stockage créé, il vous faut créer un conteneur afin d’y stocker vos données.

Dans la fenêtre de votre compte de stockage, cliquez sur le menu “Conteneurs” en haut de l’écran, puis cliquez sur “Créer un conteneur”.

image

La fenêtre ci-dessous apparaît. Renseignez le nom et le type d’accès du nouveau conteneur.

image

Le conteneur est maintenant créé, mais ne contient pour le moment aucune donnée.

image

Revenez sur le “Tableau de bord” de votre compte de stockage et cliquez sur “Gérer les clés d’accès

image

Dans la fenêtre “Gérer les clés d’accès”, vous y trouverez les informations de sécurité de votre compte de stockage. Ces informations seront utilisées dans la partie suivante de ce billet.

image

Création d’une règle de sécurité et génération d’une “Shared Access Signature”

Avant de pouvoir intégrer SQL 2014 avec le stockage azure, il est nécessaire de créer une “Policy” sur le compte de stockage ainsi qu’une “Shared Access Signature”. Il existe plusieurs manières pour réaliser ces opérations, dont les 2 suivantes :

Pour ce billet, je vais réaliser l’opération avec l’outil “Windows Azure explorer tool”.

Après avoir téléchargé et installé l’outil, exécutez le programme. Dans la fenêtre principale de “Windows Azure explorer tool”, cliquez sur le bouton “Add Account”. La fenêtre “Add Storage Account” apparaît. Cliquez sur le bouton “Add Account”.

Renseignez les informations concernant votre compte de stockage (vous pouvez les récupérer à partir du portail Azure, dans votre compte de stockage, en cliquant sur “Gérer les clés d’accès”). Cliquez sur le bouton “Add Storage Account

image

  

Maintenant que le compte de stockage est référencé dans l’outil, sélectionnez-le puis cliquez sur le bouton “Security”.

image

Dans la fenêtre “Blob & Container Security”, cliquez sur l’onglet “Shared Access Policies”. Créez une nouvelle “Policy” en définissant au moins un accès “Read / Write”, ainsi que les “start” et “expiry” dates.

image

Cliquez sur le bouton “Save Policies” puis fermez la fenêtre. Ouvrez à nouveau la fenêtre en cliquant sur le bouton “Security”. Dans l’onglet “Shared Access Signature”, sélectionnez votre “Policy” dans la liste déroulante “Policy”. Puis cliquez sur le bouton “Generate Signature

image

Une fois la signature générée, cliquez sur le bouton “Copy to Clipboard” afin de récupérer les informations liées au compte de stockage et sa signature.

image

Copiez les informations dans un éditeur de texte. Vous devez obtenir quelque chose de la forme :

https://mysqldata.blob.core.windows.net/franmersqlfiles?sr=c&si=FranmerPolicy&sig=OlO8M5lBrG5QgD69JtYhc6XHcrR3Hi55cZAoRVqutVw%3D

Pour récupérer la signature, copiez les informations se trouvant à droite du premier point d’interrogation (?) : sr=c&si=FranmerPolicy&sig=OlO8M5lBrG5QgD69JtYhc6XHcrR3Hi55cZAoRVqutVw%3D

Intégration de SQL 2014 avec le stockage Azure

Avant de créer la base de données, il est nécessaire de créer un “Credential” permettant à SQL d’accéder au compte de stockage

Création d’un Credential

Dans SQL Server Management Studio (SSMS), cliquez sur le bouton image puis copiez le script ci-dessous. Modifiez le script avec les informations de votre compte de stockage et la “Shared Access Signature”.

ATTENTION ! Bien mettre https, même si dans votre lien d’origine c’est http. De plus, le WITH IDENTITY doit absolument être 'SHARED ACCESS SIGNATURE'

-- Création d'un "credential" permettant l'accès au compte de stockage Azure
CREATE CREDENTIAL [https://mysqldata.blob.core.windows.net/franmersqlfiles]
   WITH IDENTITY='SHARED ACCESS SIGNATURE',
   SECRET = 'sr=c&si=FranmerPolicy&sig=OlO8M5lBrG5QgD69JtYhc6XHcrR3Hi55cZAoRVqutVw%3D'
GO

Après un “Refresh” dans SSMS, votre “credential” apparaît. Notez que son nom correspond à l’adresse de votre conteneur.

image

Création d’une base de données

Après avoir créez le “credential”, il ne reste plus qu’à créer la base de données. Ci-dessous, un exemple de script permettant la création de la base de données avec ses fichiers stockés dans le conteneur Azure :   

--Création d'une base de données utilisant le "credential"
CREATE DATABASE FranmerCloudDb
ON
(NAME = TestDB1_data,
   FILENAME = 'https://mysqldata.blob.core.windows.net/franmersqlfiles/FranmerCloudDb.mdf')
  LOG ON
(NAME = TestDB1_log,
    FILENAME = 'https://mysqldata.blob.core.windows.net/franmersqlfiles/FranmerCloudDb.ldf')
GO

Si vous allez dans les propriétés de la nouvelle base de données, dans le menu “Files”, on voit bien que les fichiers se trouvent dans Azure (Colonne “Path”)

image

Si on regarde au niveau du conteneur, on y voit bien nos fichiers :

image

La vidéo se trouve ici !

Au plaisir de vous voir lors d’un IT Camp SQL 2014/Power BI.

Franck Mercier

· Windows Server 2012 :

· SQL Server 2012 :

· Evaluation SQL Server 2014 CTP2 :

· Testez Azure gratuitement pendant un mois :