Power BI est une solution de Business Intelligence composée de plusieurs éléments, se trouvant dans Excel et/ou dans Office 365. Celui que je vais vous présenter aujourd’hui est sûrement un des plus visibles. Il s’agit de Power Q&A, une brique de Power BI se trouvant dans Office 365.
Dans ce billet nous allons voir comment utiliser un fichier Excel/Power Pivot avec Power Q&A.
Les pré-requis sont:
Connectez-vous sur votre site Office 365 Power BI puis cliquez sur l’app Power BI.
Une fois dans le site Power BI, cliquez sur “Ajoutez” puis “télécharger le fichier”
Une fois le fichier téléchargé, il apparaît dans le site Power BI. Cliquez alors sur “…” pour activer le menu contextuel du fichier.
Sélectionnez “Ajouter aux questions et réponses”
Le fichier est alors activé pour Power Q&A
En haut à droite du site Power BI, cliquez sur “Rechercher avec questions et réponses Power BI”
Vous arrivez alors dans le site Power Q&A, qui se présente comme une page de moteur de recherche
Posez des questions à partir de la barre de recherche. ci-dessous des copies d’écrans d’exemples de différentes recherches avec différents rendus.
Un fois la recherche activée, vous avez la possibilité d’affiner votre rapport en cliquant sur le bouton en haut à droite du rapport :
Un autre exemple avec une représentation cartographique, avec le mot clef “as map”
Pour les questions récurrentes, il est possible de les rajouter en favoris avec la fonctionnalité “Featured question”
Dans la fenêtre “Feature a question”, il sera possible de définir les questions récurrentes que vous souhaitez exposer à vos utilisateurs
Sur la page d’accueil, apparaîtra alors les questions récurrentes pour un accès rapide aux rapports
Si dans la fenêtre “Featured question” vous avez coché la case “Show on the Power BI site home page”, les questions récurrentes apparaîtrons dans la section “Questions proposées” du site Power BI
Une vidéo illustrant ce billet est disponible ici.
Au plaisir de vous voir lors d’un IT Camp SQL 2014/Power BI.
Franck Mercier
Pour tester Windows Server 2012, Windows 8, SQL Server 2012, SQL Server 2014 CTP2 et Power BI, vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
Windows Server 2012 :
SQL Server 2012 :
Evaluation SQL Server 2014 CTP2 :
Evaluation Power BI :
Testez Azure gratuitement pendant un mois :
Dans cette partie nous allons nous intéresser aux certificats.
Installation du certificat public
Il va être nécessaire de faire l’acquisition d’un certificat SSL qui servira à établir la relation de confiance entre le domaine public et notre infrastructure sur site.
La demande du certificat va se réaliser via IIS. Il est nécessaire d’avoir IIS installé sur votre réaliser la demande de certificat. L’installation d’IIS est détaillée ici : http://technet.microsoft.com/en-us/library/hh831475.aspx
Sur le domaine contrôleur, cliquez sur le bouton « Server Manager » :
Dans la fenêtre « Server manager », cliquez en haut à droite sur le menu « Tools »
Cliquez sur « Internet Information Services (IIS) Manager
Dans la fenêtre Internet Information Services (IIS) Manager, dans la partie gauche, sélectionnez le nom de votre machine
Dans la partie centrale de la fenêtre, double-cliquez sur « Server Certificates »
La partie « Server Certificates » s’ouvre alors
Dans la partie droite de la fenêtre, cliquez sur cliquez sur « Create Certificate Request…»
La fenêtre « Request Certificate » apparaît.
Dans la partie « Distinguished Name Properties », Renseignez les différents champs.
Cliquez sur « Next »
La partie « Cryptographic Service Provider Properties » apparaît
Dans la liste déroulante « Cryptographic Service Provider », sélectionnez « Microsoft RSA SChannel Cryptographic Provider »
Dans la liste déroulante « Bit length », sélectionnez « 2048 »
Dans la partie « File Name », définissez l’endroit où vous allez exporter la demande de certificat
Dans le champ « Specify a file name for the certificat request » : indiquez un chemin pour exporter la demande de certificat :
La demande de certificat est exportée au format texte (.TXT) :
L’ouverture du fichier permet de voir à quoi ressemble la demande du certificat (pas facile à lire )
Maintenant que nous avons généré la demande de certificat, nous allons créer le certificat à partir de cette demande.
Dans mon cas, mon domaine est hébergé chez Gandi. Au niveau de l’interface d’administration de mon domaine public, je vais acheter un nouveau certificat.
Lors du processus de génération du certificat, il est nécessaire d’insérer le CSR. Le CSR n’est ni plus ni moins les informations dans le fichier texte généré précédemment via IIS.
J’ai recopié le texte du fichier dans la zone CSR. Puis j’ai compléter les informations comme le logiciel utilisé. A noté que le nom de domaine (Domaine (CN) principal) a été renseigné automatiquement après avoir copié le CSR.
Au bout d’un certain temps, 3h dans mon cas, le certificat est disponible :
Et une entrée a été rajoutée dans le DNS de mon domaine public
Maintenant que le certificat a été généré, je n’ai plus qu’à le récupérer.
Une fenêtre permet le téléchargement du certificat
Une fois le certificat récupérer sur notre Domaine Contrôleur, il nous reste à finaliser son installation.
Au niveau de IIS, dans la partie droite, cliquez sur « Complete Certificate Request… »
La fenêtre « Complete Certificate Authority Response » apparait
Dans la partie « Specify Certificate Authority Response », dans la zone « File name containing the certication authority’s response », cliquez sur
La fenêtre « Open » s’ouvre ( )
Dans la partie en bas à droite, changez l’extension du fichier par « *.* »
Puis sélectionnez votre certificat
Cliquez sur « Open »
Ci-dessous une copie d’écran après import de mon certificat
Au niveau de la fenêtre « Internet Information services (IIS) Manager », votre certificat doit apparaitre
Maintenant, nous allons lier ce certificat au niveau du site web par défaut du domaine contrôleur
Dans la fenêtre Internet Information services (IIS) Manager », dans le dossier « Sites »
Faîtes un clic-droit sur « Default Web site », puis cliquez sur « Edit Bindings… »
La fenêtre « Site Bindings » apparaît
Cliquez sur le bouton « Add… »
La fenêtre « Add Site Binding » apparaît
Dans la liste déroulante « Type : », sélectionnez « https : » afin de faire apparaître la liste déroulante « SSL certificate »
Dans la liste déroulante « SSL certificate », sélectionnez le certificat précédemment importé
Ci-dessous une copie d’écran après définition du certificat. Cliquez sur le bouton « Ok »
De retour dans la fenêtre « Site Bindings » cliquez sur le bouton « Ok »
Le troisième article traitera de l’installation et le paramétrage de l’AD FS. Il est disponible ici
Depuis la mise à jour de l’add-in Excel Power Query, il est possible de se connecter directement sur son compte Facebook et ainsi récupérer, par exemple, les données exposées sur son mur.
Cette nouvelle fonctionnalité semble intéresser de nombreuses personnes, et j’ai eu comme question récurrente : “Comment faire pour changer les informations de connexions vers Facebook?”
En effet, lors de la première connexion à Facebook, les informations sont demandées à l’utilisateur, puis après, ces informations sont conservées et Power Query se connecte automatiquement au compte Facebook. Il est toutefois possible de modifier les informations de connexions (ne serait-ce que pour gérer les changements de mot de passe ).
Ci-dessous, un petit pas à pas pour illustrer la procédure à suivre pour changer les informations de connexions à Facebook (ou aux autres sources de données):
Depuis le ruban, cliquez sur “Power Query”, puis sélectionnez “Data Source Settings”.
Dans la fenêtre “Data Source Settings”, sélectionnez la source de données à modifier et cliquez sur “Edit Credential”. Dans notre exemple, nous allons choisir la connexion Facebook.
Dans la fenêtre “Access Facebook”, cliquez sur le bouton “Sign in as different user”.
La fenêtre de connexion s’ouvre alors. Entrez les nouvelles informations de connexion et cliquez sur le bouton “Connexion”
Cliquez ensuite sur les boutons “Save” puis “Done” pour valider les changements. Et voilà!
Lors de l’IT Camp « SQL Server /SharePoint/Windows Intune, les scénarios d’usage en mode Cloud hybride », nous évoquons entre autre la recherche hybride à partir de SharePoint. Afin d’illustrer nos propos par des démonstrations, j’ai donc monté une plateforme complète.
Cette série d’articles va permettre d’illustrer la mise en place d’une telle plateforme. Mise en place articulée autour de 3 grandes étapes :
Les prérequis que j’ai utilisé pour monter cette plateforme sont :
Nous allons commencer par configurer l’authentification des utilisateurs. Ci-dessous un schéma présentant la vue macro de l’environnement utilisé :
Pour plus de détails techniques, je vous invite à consulter les 2 articles ci-dessous :
Pour monter ma démonstration, j’ai choisi d’acheter un nom de domaine chez Gandi. De plus pour l’achat d’un nom de domaine chez eux, un certificat SSL est délivré gratuitement pour le domaine acheté. Ce qui va nous être très utile pour la suite.
Ci-dessous une copie d’écran du domaine acheté chez Gandi.
Une fois le domaine acheté, nous allons rajouter le nom du domaine au niveau du domaine contrôleur de notre infrastructure.
Dans le menu « Tools » en haut à droite, cliquez sur « Active Directory Domains and trusts »
Sur le côté gauche de la fenêtre « Active Directory Domains and Trusts », cliquez avec le bouton droit de la souris sur « Active Directory Domains and Trusts »
Cliquez sur « Properties »
Dans la fenêtre qui s’affiche, entrez le nom de votre domaine public dans le champ « Alternative UPN suffixes ». Dans mon exemple j’ai entré : « franck-mercier.fr »
Cliquez sur le bouton « Add »
Le domaine est maintenant rajouté en tant que suffixe UPN au niveau de l’active directory
A quoi va servir le nom UPN (User Principal Name) ? Il y a de grande chance, comme dans cet exemple, que votre nom de domaine interne ne corresponde pas au nom de votre domaine public.Le nom UPN va permettre de donner un suffixe alternatif aux utilisateurs de votre « Active Directory ».
Ci-dessous, les copies d’écran permettant de définir l’UPN au niveau des utilisateurs :
Voilà pour la création et le référencement du domaine. Dans le prochain article, nous aborderons l’acquisition et l’installation d’un certificat public
Afin d’illustrer l’article Power BI : Data Management Gateway et flux Odata, voici une vidéo reprenant toutes les étapes de la mise en place de la passerelle Power BI afin d’exposer vos données en flux oData
Pour tester Windows Server 2012, Windows 8, SQL Server 2012 et SQL Server 2014 CTP1, vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
· Windows Server 2012 :
· SQL Server 2012 :
· Evaluation SQL Server 2014 CTP2 :
· Testez Azure gratuitement pendant un mois :
Dans un article précédent, nous avons vu une fonctionnalité de Power BI Data Mangement Gateway qui permettait de mettre à jour, un rapport se trouvant dans Office 365, avec des données se trouvant sur site. Ce billet va traiter d’une autre fonctionnalité de la passerelle, permettant d’exposer en flux Odata les informations d’une base de données se trouvant sur site. Par ce biais, via Power Query, il sera possible de récupérer les informations de cette base, même en étant en dehors du réseau de l’entreprise...A partir du moment où Excel est connecté à un site Power BI avec une passerelle de configurée.
Je pars du principe que la passerelle est déjà configurée (sinon, tout est expliqué ici).
Dans le centre d’administration de power BI pour Office 365, cliquez sur “Nouvelle source de données”
Décochez la case “Activer l’accès par le Cloud….”, puis cochez la case “Activer le flux Odata…”. Cliquez sur le bouton “Suivant”
Dans la fenêtre “Informations de connexion”, renseignez les informations de connexion de la base que vous souhaitez exposer aux utilisateurs finaux.
Cliquez sur le bouton “Informations d’identification”
Dans la fenêtre “Gestionnaire de source de données”, renseignez les informations d’identification à la source de données que vous souhaitez partager.
Cliquez sur le bouton “Ok”, puis sur le bouton “Suivant”
La fenêtre “Paramètres des données” s’affiche et propose les tables et vues que l���on souhaite exposer. Décochez les cases des tables ou vues que vous ne souhaitez pas rendre disponibles aux utilisateurs finaux. Cliquez sur le bouton “Suivant”.
Dans la fenêtre “Utilisateur et groupes”, définissez les utilisateurs qui auront le droit d’utiliser cette source de données. Cliquez sur le bouton “Terminer”.
Votre nouvelle source de données doit apparaitre dans la liste des sources de données. Dans cet exemple, on retrouve bien “X1_Odata”.
Depuis Excel 2013, connectez-vous à votre site Office 365. Dans cet exemple, mon site Office 365 s’appelle “Frite”.
Depuis le ruban Excel, cliquez sur “Power Query”, puis sur le bouton “Online Search”.
Sur la droite d’Excel, le volet “Online Search” s’ouvre. Entrez les mots clefs de recherche puis cliquez sur la loupe. Le résultat apparait en dessous.
Maintenant, à droite de la loupe, cliquez sur la flèche, à côté du mot “All”. Sélectionnez “Organization” afin de limiter les recherches aux informations se trouvant sur le site Office 365. Dans l’exemple ci-dessous, seules les informations liées à nos sources de données Power BI sont maintenant accessibles. Depuis notre source X1_Odata, on retrouve aussi bien les données liées aux tables que celles liées à la vue :
Sélectionnez les informations souhaitées afin de les rapatrier dans le fichier Excel. Ci-dessous, après avoir cliqué sur la vue, les informations sont affichées dans Excel sous forme d’un tableau.
Un des avantages de la passerelle, c’est de permettre la mise à jour des rapports lorsque les informations, se trouvant sur site, ont été modifiées.
Pour illustrer cette fonctionnalité, je vais modifier les informations directement dans ma base de données. Ci-dessous, je passe les quantités de 7 à 77.
Modification des données :
Au niveau d’Excel, dans le menu “Query”, la mise à jour du rapport se fait en cliquant sur le bouton “Refresh”:
Après quelques secondes, le tableau se met à jour et les ventes passent de 7 à 77. Ci-dessous une copie d’écran après la mise à jour
Voilà pour la description de cette fonctionnalité de Power BI Data Management Gateway. Une vidéo illustrant cet article sera bientôt disponible.
Pour illustrer l’article Server 2014 et intégration avec le stockage Azure, voici une vidéo détaillant toutes les étapes de cette intégration :
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.
Voici les étapes que l’on va suivre lors de ce billet :
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 !
Connectez-vous sur le portail Azure et cliquez sur le bouton 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.
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”.
La fenêtre ci-dessous apparaît. Renseignez le nom et le type d’accès du nouveau conteneur.
Le conteneur est maintenant créé, mais ne contient pour le moment aucune donnée.
Revenez sur le “Tableau de bord” de votre compte de stockage et cliquez sur “Gérer les clés d’accès”
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.
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”
Maintenant que le compte de stockage est référencé dans l’outil, sélectionnez-le puis cliquez sur le bouton “Security”.
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.
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”
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.
Copiez les informations dans un éditeur de texte. Vous devez obtenir quelque chose de la forme :
http://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
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
Dans SQL Server Management Studio (SSMS), cliquez sur le bouton 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.
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”)
Si on regarde au niveau du conteneur, on y voit bien nos fichiers :
La vidéo se trouve ici !
Pour compléter mon précédent article sur Power BI Data Management Gateway, voici la vidéo !
Power BI est une solution de Business Intelligence composée de plusieurs éléments. Celui que je vais vous présenter aujourd’hui est sûrement un des moins visibles, mais néanmoins important. Surtout dans des scénarios de type reporting en mode Cloud hybride.
Dans ce billet, je vais vous présenter Power BI Data Management Gateway. Ce dernier a pour fonction principale la synchronisation des données d’un rapport, publié dans un site Power BI pour Office 365, dont les données se trouvent sur site. C’est donc bien une passerelle qui va être paramétrée, entre le rapport et la source de données, afin d’assurer la mise à jour du rapport, sans être obligé de monter une infrastructure complexe.
Sur le site Office 365.
Connectez-vous en tant qu’administrateur sur votre site Office 365, puis allez dans votre site Power BI. Cliquez sur l’engrenage en haut à droite puis cliquez sur “Centre d’administration de Power BI”
Dans la partie gauche de l’écran, cliquez sur “Passerelles” puis sur “Nouvelle passerelle”
Renseignez le nom et la description de la passerelle puis cliquez sur le bouton “créer”
Dans la partie “Installer & inscrire”, se trouvent 2 éléments importants :
Cliquez sur le bouton “Téléchargement”
Vous serez redirigez vers la page de téléchargement de la passerelle. C’est un agent qui s’installe sur la machine qui contient la source de données.
Pendant que la passerelle se télécharge, cliquez sur le bouton “terminer”, dans la partie ““Installer & inscrire”. Vous devez voir votre passerelle apparaître dans la liste. Dans mon exemple, la passerelle s’appelle “FritePasserelle”
Cliquez sur les 3 petits points à droite du nom de la passerelle, puis sur “Afficher”, afin de faire apparaître la clef si nécessaire (vous en aurez besoin pour enregistrer la passerelle sur votre serveur).
Ci dessous, une copie d’écran de l’affichage de la clef.
Sur le serveur.
Après avoir installé la passerelle sur votre serveur, exécutez le programme. Par défaut, vous allez arriver sur l’onglet “Home”. Si vous cliquez sur l’onglet “Get Started”, vous aurez l’écran suivant qui reprend les étapes de configuration de la passerelle :
Revenez sur l’onglet “Home” et cliquez sur le bouton “Register Gateway”
Dans la fenêtre “Register Gateway”, entrez la clef de votre passerelle. Puis cliquez sur le bouton “Ok”
Après quelques secondes, votre passerelle doit être validée et enregistrée. Ci-dessous une copie d’écran:
NOTE : Lors d’un test, ma passerelle ne voulait pas s’enregistrer. J’ai tout simplement arrêté et redémarré le service en utilisant le bouton “Stop Service”.
Cliquez sur l’onglet “Settings” afin de paramétrer le point de terminaison nécessaire pour l’exposition des données:
Cliquez sur le bouton “Edit” pour modifier les informations du point de terminaison :
Maintenant que la passerelle est configurée, il ne reste plus qu’a créer la ou les sources de données associées à cette passerelle. Retournez dans le centre d’administration de votre site Power BI et cliquez sur “Sources de données” puis “Nouvelle source de données”.
Dans la fenêtre de création de la source de données, cochez la case “Activer l’accès par le Cloud”. Cliquez sur le bouton “Suivant”.
la fenêtre “informations de connexion apparaît”. donnez un nom à votre source de données et dans la liste déroulante “Passerelle”, sélectionnez la passerelle que vous souhaitez associer à votre source de données. Ensuite cochez la case “Chaine de connexion”, choisissez un fournisseur de connexions et entrez la chaîne de connexion.
Justement, comment définir la chaîne de connexion! Dans le cas de mon exemple, j’ai réalisé un rapport Power Pivot qui récupère les données à partir d’une base SQL. Pour récupérer la chaîne de connexion, dans Power Pivot :
Une fois la chaîne de connexion récupérée, copiez la dans le champ “Chaine de connexion”. Puis cliquez sur le bouton “Information d’identification”
Après avoir cliquez sur le bouton “Information d’identification”, il se peut que vous soyez obligé d’installer l’application “Data Source Manager”
Dans la fenêtre “Data Source Manager”, entrez vos informations d’identification. Puis cliquez sur le bouton “Ok”
De retour dans la fenêtre des informations de connexion, cliquez sur le bouton “Suivant”
La fenêtre “Utilisateurs et groupes”, permet la gestion des utilisateurs. Rajoutez les utilisateurs et cliquez sur le bouton “Terminer”
Votre source de données doit maintenant être prête et apparaître dans la liste :
Maintenant que la passerelle est configurée, et que la source de données est créé et associée à la passerelle, nous allons l’utiliser avec un rapport. Ci dessous une copie d’écran d’un rapport Excel (très simple !), réalisé avec Power Pivot.
Ce rapport; “Démo”, est publié sur mon site Power BI :
J’ouvre le fichier “Démo” en mode Web avec Excel Web App. Ci-dessous une copie d’écran :
Simulons maintenant un changement dans la base de données (sur site). Pour cet exemple, je passe le nombre de Télécaster de 1 à 69.
Maintenant, je reviens sur ma page web Excel Web App et je rafraichis les données du rapport en cliquant sur “Données” et “Actualiser toutes les connexions”
Un message d’avertissement peut apparaître. Cliquez sur le bouton “Oui”
Le rapport est rafraichit et affiche les nouvelles données. Pour rappel, le rapport est dans le Cloud, dans un site SharePoint Online (Power BI for Office 365), et les données sur un serveur dans l’entreprise.
Voilà pour une illustration de Power BI Data Management Gateway. La vidéo est ici.
L’édition 2013 des journées SQL server aura lieu les 2 et 3 décembre au centre de conférence de Microsoft, à Issy-Les-Moulineaux.
Les Journées SQL Server, ce sont 2 jours de conférences gratuites sur SQL Server et tous ses sujets connexes. Ce sont plus de 30 sessions présentées par des experts reconnus. Ci dessous l’agenda presque définitif
Au plaisir de vous voir lors des journées SQL Server ou d’un IT Camp SQL 2014/Power BI.
Pour faire suite au billet sur la fonction Table.UnpivotOtherColumns, voici la vidéo
Au plaisir de vous voir lors d’un IT Camp!. Les IT Camps sur SQL 2014 et Power BI débuteront en novembre.
Power Query est un add-in Excel et composant de Power BI qui fonctionne un peu comme un ETL (Extract, Transform and Load). A partir de n’importe quelle source de données (Base de données, Ficher plat, page web ou Hadoop), Excel est capable de récupérer les informations et de les transformer en fonction des besoins.
La nouvelle version de l’add-in propose de nouvelles fonctions, dont une très pratique, Table.UnpivotOtherColumns, qui va faire l’objet de ce billet.
Cette fonction permet de faire pivoter des colonnes d’une source de données. Et de manière dynamique! C’est-à-dire que la formule va accepter comme paramètre les colonnes qui ne devront pas pivoter, et toutes les autres pivoteront. Ce qui peut être pratique lorsque l’on récupère des données temporelles par exemple.
Ci-dessous un exemple concret, accompagné des copies d’écran.
Dans un fichier, voici un tableau assez basique.
Dans le ruban, cliquez sur « Power Query » puis sur « From File », afin d’aller chercher le fichier Excel contenant le tableau.
Power Query propose la structure du fichier. Dans mon exemple, le tableau se trouve dans la feuille 1 (sheet1). Donc dans la partie gauche, cliquez sur « Sheet1 »
J’utilise une fonction basique de Power Query pour définir la première ligne comme entête de colonne en cliquant sur le bouton :
Voici le résultat :
Maintenant je choisi les colonnes que je souhaite faire « pivoter ». Puis je fais un clic droit sur les colonnes pour faire apparaître le menu contextuel pour sélectionner la commande « Unpivot »
Ci-dessous, le résultat :
En regardant en détail la formule générée par Power Query, on remarque que les colonnes représentant les dates sont nommées dans la formule :
= Table.Unpivot(FirstRowAsHeader,{"2011", "2012", "2013", "2014"},"Attribute","Value")
La nouvelle version de l’add-in apporte une nouvelle fonction qui est « Table.UnpivotOtherColumns »
Je vais donc transformer la formule avec Table.UnpivotOtherColumns et en définissant maintenant la ou les colonnes qui ne doivent pas pivoter:
= Table.UnpivotOtherColumns(FirstRowAsHeader,{"Produits"},"Attribute","Value")
Voici le résultat (en fait rien n’a changé ):
Et voici le tableau dans Excel après avoir cliqué sur “Done” :
Maintenant, je reviens sur le fichier d’origine, et que je rajoute une colonne (2015 par exemple)
Je rafraichi ma requête Power Query (en cliquant sur « Refresh » dans le volet « Query Settings »). Le tableau se met automatiquement à jour, en conservant le pivot et en rajoutant les informations de la nouvelle colonne :
Voila pour l’illustration de cette nouvelle fonction Power Query… une vidéo arrive pour illustrer ce billet.
Cette année j’ai eu l’opportunité d’assister à mon premier SQL Pass Summit (« First Timmer ») du 15 au 18 Octobre 2013 à Charlotte, NC. Cet évènement a rassemblé 5000 participants de 52 pays différents, avec 190 sessions à l’agenda!
Lors de la première Keynote, la disponibilité de SQL Server 2014 CTP2 a été annoncée par Quentin Clark (Corporate Vice President Data Platform Group, Microsoft Corp). Ce keynote était articulé autour des trois piliers suivants :
Le pilier performance est principalement porté par Hekaton (moteur en mémoire). Hekaton à l’avantage d’être inclus par défaut dans SQL serveur, et fonctionnera parfaitement sur du matériel de commodité. Hekaton pourra être mis en place sans nécessité la réécriture des applications existantes. Le slide ci-dessous résume bien les avantages et les performances apportés par le moteur Hekaton :
SQL 2014 améliore la fonctionnalité de backup dans un stockage Azure, avec la possibilité de réaliser toute l’opération depuis l’interface de SQL Server Management Studio (SSMS). Il y aura aussi la possibilité de protéger le backup en le cryptant.
SQL 2014 permettra d’étendre facilement les architectures existantes en utilisant les machines virtuelles de Windows Azure. Ceci permettra principalement la mise en place de scénarios de haute disponibilité et de reprise d’activité dans des architectures hybrides. Par exemple, SQL 2014 permettra la création d’une solution AlwaysON avec des secondaires dans le Cloud.
Enfin, comme le montre la photo ci-dessous, SQL 2014 supportera la possibilité d’avoir des fichiers de données stockés dans le Cloud.
En fait, Power BI était présent quasiment tout le long de ce Keynote. Il y a bien entendu eu des démos de Power BI via Power View, Power Pivot et Power Q&A, mais la vraie star de Power BI était Power Map. Ce dernier a été souvent utilisé comme support de présentation par les speakers.
En bref, un Keynote intéressant, l’annonce de la CTP2 et une utilisation de Power Map intéressante comme support de présentation.
Le reste de la journée fut riche en sessions de bonnes qualités et de tous niveaux (les sessions vont jusqu’au niveau 500 !). Ah oui, dans les intitulés des sessions, faut faire attention aux sessions avec l’extension HD. Ça veut dire « Half days ». J’ai raté la session sur les indexes car je suis arrivé pour la deuxième partie. C’est balot ! Ayant donc raté la présentation sur les indexes, je me suis rabattu sur la session avec Dandy Weyn et Ari Schorr : « SQL Server 2014 and Shark with Freakin Lasers ». Même si elle était généraliste en reprenant les 3 piliers (Performance, Cloud Hybride et Power BI) et d’un niveau 200, elle avait le mérite d’avoir une mise en scène sympathique impliquant Dr Evil et un requin équipé de Laser. Plutôt ludique et les messages sont bien passés. Ci-dessous une photo un peu floue, mais elle permet de donner un aperçu. Un grand respect à Ari Schorr pour avoir fait les démos dans un déguisement de requin !
Ce Keynote a débuté par une présentation générale du Pass. Ce qui est bien utile en tant que « First Timer ». Ensuite, Davit Dewitt, Technical Fellow Microsoft, a continué le keynote sur Hekaton. Avant de rentrer en session, Christophe Laporte m’avait décrit David Dewitt comme quelqu’un de très brillant avec la capacité d’expliquer simplement les choses compliquées. Je confirme donc que, en tant que speaker, sa réputation n’est pas surfaite, bien au contraire. Hekaton expliqué de manière accessible ! Même si certains passages piquent un peu les yeux, ça reste abordable.
Durant sa présentation, David a expliqué qu’avec la baisse des prix des composants et les performances actuelles des machines, il est de plus en plus fréquent de voir des serveurs avec plusieurs dizaines voir centaines de giga de mémoire vive. Ce qui peut être largement suffisant pour faire tenir certaines tables de bases de données en mémoire (voir même tout une base). L’idée d’Hekaton, en bref, est donc d’utiliser cette mémoire vive pour stocker des tables d’une base de données et de proposer un moteur avec un modèle de verrouillage optimiste.
David a donc comparé les 2 moteurs au niveau des accès aux données
Puis il a comparé les moteurs aux niveaux des accès concurrent
Ainsi qu’au niveau des performances
J’ai bien aimé le slide de synthèse
La présentation complète est disponible en suivant les informations sur la photo ci-dessous
Durant cette présentation, David nous a demandé de Tweeter par rapport au nom que l’on souhaiterait avoir comme nom final du moteur en mémoire :
Voilà donc un petit jeu qui aura de quoi vous occuper….. Les 30 prochaines secondes .
Après ce Keynote, le reste de la journée fut agrémentée de sessions plutôt inégales en qualité. Cependant, je retiendrais particulièrement 3 sessions :
Cette session, de Matt Masson et Wee Hyong Tok, présentait la solution de Power BI permettant la synchronisation des rapports Excel publiés dans SharePoint Online, avec des données se trouvant sur site.
Ci-dessous, le slide présenté durant la session, qui explique le fonctionnement de la passerelle. Je prévois prochainement un article sur ce sujet.
Une session animée par Sanjay Mishra, sur les retours d’expériences de mises en place de solutions de « disaster recovery » (DR). Cette session reprend les bonnes questions à se poser, des plus simples au plus farfelues, avant de mettre en place une solution de DR. Ces questions sont variées comme : « ai-je les bonnes personnes pour mettre en place une solution de DR ? » ou « est-ce que l’on a bien compris nos SLA (Service Level Agrement) ? »
De plus j’ai bien aimé ce slide
Animée par toute l’équipe de Power BI, j’ai été à cette session sous les conseils de Jean-Pierre Rhiel. Et j’ai bien fait. Déjà la session a commencé avec…. Pas de courant !!! Pas évident de projeter et de parler sans micro quand il n’y a pas d’électricité. Une fois le Power, heu pardon, le courant revenu, cette session full Power BI a pu débuter. Et quelle session !!! De la BI en mode déjanté voir limite « déglingos ». On n’a rien appris ça c’est sûr…. Mais ils nous avaient prévenus
Durant cette heure et demie, Power BI nous a servi à :
Et puis, c’était aussi une session de distribution de goodies! J’ai eu la chance de récupérer, grâce à une interception en plein vol, un chargeur de périphérique au format clef USB. Pratique pour recharger un téléphone en fin de journée quand on est loin d’une prise de courant !!!
Le Pass Summit c’est aussi l’occasion de rencontrer de nombreuses personnes passionnées autour d’un même sujet, dans un cadre différent. La soirée a eu lieu au NasCar Hall Of Fame. Ce fut une soirée plutôt sympa, même si je ne suis pas fan de voiture, durant laquelle j’ai eu l’occasion, entre autre, de voir Paul Randal. Ci-dessous quelques photos du Hall Of Fame
Pas de keynote ce jour-là et des sessions qui débutent à 8h. Comme le jour précédent, elles étaient de qualités inégales. Même si ma journée a bien mal commencée avec une session sans grand intérêt, des présentations de grande qualité sur HDInsight, les transactions logs et Power Query ont rattrapé ce faux départ.
Comme d’après le gartner « By 2015,organisations that build a modern information management system will outperform their peers financially by 20% », je me suis dit qu’une petite session sur HDInsight ne ferait pas de mal.
Une session intéressante avec des exemples d’utilisations de données dans le stockage Azure avec HdInsight (Sur un jeu de données des connexions des joueurs sur le jeu Halo 4):
La session sur le Deep Dive de Power Query fut tout simplement superbe et beaucoup de démonstrations. Une présentation qui a été bien plus loin que des slides ! Durant cette session nous avons eu le droit à la présentation de l’utilisation de nombreuses fonctions dont « Table.UnPivotOtherColumns », qui permet d’utiliser la fonction unpivot avec un nombre non déterminé de colonnes !!! Pour rappel, Power quey est téléchargeable ici : http://www.microsoft.com/en-us/download/details.aspx?id=39379.
La dernière soirée s’est déroulée, lors du diner français, dans le restaurant Brazz, où plus d’une dizaine de viandes nous ont été servies à volonté !!
Pour mon premier PASS Summit, ce fut une bonne expérience. Même si, hormis la CTP2 de SQL 2014, aucune annonce majeure n’a été faite, les sessions furent globalement de bonnes qualités et il y avait de quoi contenter tout le monde, aussi bien au niveau du moteur que de la BI. On retiendra principalement des messages importants autour du moteur en mémoire, Power BI et le big data. Sans oublier la dimension Cloud hybride. Ce genre d’évènement permet aussi de rencontrer de nombreuses personnes, des « program manager » de Microsoft, des partenaires et même des collègues qui sont situés au même étage et que l’on n’a pas forcement le temps de rencontrer en France !!!!
Le prochain summit aura lieu à Seattle en novembre 2014. En espérant pouvoir y retourner et rencontrer certains d’entre vous la bas.
En attendant, j’espère avoir le plaisir de vous voir lors d’un IT Camp!. Les IT Camps sur SQL 2014 et Power BI débuteront en novembre.
SQL Server 2014 CTP2 est disponible en téléchargement sur le site Technet : http://technet.microsoft.com/en-us/evalcenter/dn205290.aspx, mais aussi disponible directement depuis la galerie des machines virtuelles de Windows Azure (IaaS)
Les nouveautés de cette CTP2 sont orientées :
Le blog dataplatforminsider apporte le détail de toutes les nouveautés de la CTP2. Ce billet en reprend les principales nouveautés.
Côté performance, la CTP2 apporte des améliorations autour de l’outil d’aide à la migration. Cet outil permet d’identifier les tables et procédures stockées pouvant tirer un bénéfice à migrer vers le moteur en mémoire. Après identification, l’outil pourra ensuite aider à la migration. La CTP2 apporte la possibilité de configurer une limite d’utilisation de la mémoire des tables Hekaton : http://blogs.technet.com/b/dataplatforminsider/archive/2013/08/13/sql-server-2014-in-memory-oltp-app-migration-scenario-leveraging-the-integrated-approach.aspx.
La fonctionnalité « AlwaysOn Availability Group » est supportée avec les bases en mémoire et le « resource governor » est maintenant capable de gérer les I/O au niveau des bases de données.
Côté Cloud Hybride, la CTP2 propose toujours le backup dans un stockage Azure avec maintenant une interface complète pour faire ce backup
Ainsi que le chiffrement du backup à partir du menu « Backup options »
La version CTP2 améliore aussi les scénarios de « disaster recovry » avec la possibilité d’utiliser les machines virtuelles d’Azure comme secondaire dans une solution AlwaysON.
Enfin, la CTP2 permet d’utiliser des fichiers de données SQL se trouvant directement dans un stockage Azure. Ci-dessous, une photo prise lors de la démonstration lors d’un Keynote au Pass Summit 2013 :
Pour plus d’information, venez nous rencontrer lors des IT Camp SQL 2014 et Power BI qui commenceront en novembre. Le planning des IT Camps se trouve ici.
Au plaisir de vous voir lors d’un IT Camp!
· Evaluation SQL Server 2014 CTP1 :
Comme promis suite à l’IT Camp “SQL Server /SharePoint/Windows Intune, les scénarios d’usage en mode Cloud hybride” du mercredi 18 Septembre 2013, voici le script PowerShell permettant le déploiement automatique des machines virtuelles dans le Cloud Azure. Le script va déployer l’infrastructure ci-dessous. La machine SQL comportera un disque pour les données et un disque pour les journaux de transactions. Les binaires de SharePoint seront installés, mais il sera nécessaire de terminer manuellement l’installation via l’assistant de SharePoint.
Les pré-requis pour faire fonctionner le script sont les suivants :
Cet article est composé de la manière suivante :
Après s’être connecté au portail Azure (https://manage.windowsazure.com), cliquez sur le bouton « + Nouveau »
Dans le menu « Nouveau », cliquez sur « Calcul | Service de Cloud computing | création rapide ». Puis renseignez les champs « URL » et « Région ou groupes d’affinités »
Le nouveau service de Cloud apparait alors dans la liste des services de Cloud. Dans cet exemple, mon service de Cloud se nomme « AutoDeployFr ».
Cliquez sur le bouton « + Nouveau », puis sur « Services de réseau | Réseau virtuel | Création personnalisée »
Dans la première fenêtre « Créer un réseau virtuel », donnez un nom à votre réseau et déterminez un groupe d’affinités. Puis cliquez sur la flèche en bas à droite.
Dans la deuxième fenêtre, définissez un DNS. Dans cet exemple j’ai défini un DNS avec le nom « AutoDeployDNS » et une adresse IP 192.168.0.4. Puis cliquez sur la flèche en bas à droite.
Dans la troisième fenêtre définissez les adresses de votre réseau et de vos sous réseaux. Cliquez sur pour valider la création du réseau virtuel.
Attention, les noms des sous réseaux seront utilisés dans le script.
Voici une copie du réseau virtuel que j’ai créé pour cet exemple.
Voici le script que j’ai essayé de commenter au maximum. Avant d’exécuter le script, vérifiez que le nom des images virtuelles n’a pas changé entre temps.
Pour ce faire utilisez la commande Power Shell : Get-AzureVMImage | select Image. Puis mettez éventuellement à jour le nom des images virtuelles. Ci-dessous un exemple de nom des images :
Pensez aussi à renommer les différentes variables.
Le script donc :
#Script de déploiement de machines SharePoint et SQL avec AD et 1 compte d'installation cls
# Si le fichier Azure.psd1 est manquant, Windows Azure PowerShell est téléchargeable ici: # http://go.microsoft.com/?linkid=9811175&clcid=0x409 Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1"
#region Configuration du compte AZURE à utiliser #Le fichier PublishSettings peut se récupérer sur ce site "https://windows.azure.com/download/publishprofile.aspx" Import-AzurePublishSettingsFile 'C:\Users\franmer\Documents\PowerShell\PublishSettings\MS' Set-AzureSubscription -SubscriptionName 'Windows Azure Internal Consumption' -CurrentStorageAccount franmerstorage Select-AzureSubscription -SubscriptionName 'Windows Azure Internal Consumption' #endregion
#region déclaration des paramètres # Définition du ServiceName et du réseau virtuel (déjà existants dans Azure) $serviceName = 'AutoDeployFr' $virtualNetworkName = 'AutoDeployNetwork'
#Renseignement des sous-réseaux présents dans le réseau virtuel Azure. #Dans cet exemple, le réseau "AutoDeployNetWork" dispose de 3 sous réseaux "DCSubnet", "SQLSubnet", "SP2013Subnet" #Le nom de ces subnets doivent être identique à ceux de votre réseau virtuelle crée via le portail Azure $AzureDCSubNet = 'DCSubnet' $SQLSubnet ='SQLSubnet' $SPSubnet = 'SP2013Subnet'
#Définition du nom de l'administrateur du domaine et du nom du domaine $adminUsername = 'franmer' $adminPassword='Pass@word1' $domainName = 'ITCamp.demo.com' $ShortDomainName = 'ITCamp'
#Définition du compte d'installation de SQL et SharePoint $InstallUser = 'InstallUserfranmer' $PassWordInstallUser = 'Pass@word1' $SecureStringPassWordInstallUser = ConvertTo-SecureString –String $PassWordInstallUser –AsPlainText -Force
#Définition des images à utiliser #les images peuvent être récupérées avec la commande : Get-AzureVMImage | select ImageName #ATTENTION, les noms des images peuvent changer en fonction des mises à jour !! $WindowsServer2012ImageName = 'bd507d3a70934695bc2128e3e5a255ba__RightImage-Windows-2012-x64-v13.4.12.2' $WindowsAndSqlServerImageName = 'fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-Enterprise-CY13SU04-SQL2012-SP1-11.0.3350.0-Win2012' $WindowsandSharePoint2013Trial = 'c6e0f177abd8496e934234bd27f46c5d__SharePoint-2013-Trial-9-18-2013'
#Définition du domaine controlleur $DcVmName = 'ITCampDC1' $FullDomainName = 'ITCamp.demo.com' $DCVMSize = 'Small' $AvailabilitySetName = 'ITCampDC'
#Définition de la machine SQL $SQLVMSize ='Medium' $SQLprefix = 'ITCampSQL' $SizeSQLDataDisk = 100 #Gb $SizeSQLLogsDisk = 100 #Gb $defaultSqlDataFolder = ':\FranmerDATA' #Sans la lettre du disque $defaultSqlLogsFolder = ':\FranmerLOGS' #Sans la lettre du disque $installerDatabaseUsername = $ShortDomainName + "\" + $InstallUser $installerDatabasePassword = 'Pass@word1' $installerDomainUsername = $ShortDomainName + '\franmer' $NbSQLServer = 1 Write-Host $installerDatabaseUsername Write-Host $installerDomainUsername
#Définition de la machine SharePoint $SPprefix = 'ITCampSP' $LBSetName = 'SPWebLB' $SPVMSize = 'Medium' $NbSPServer = 1 #Conversion de adminPassword en secureString $SecureStringadminPassword = ConvertTo-SecureString –String $adminPassword –AsPlainText -Force $credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $adminUsername, $SecureStringadminPassword #Création d'un collection vide d'images virtuelles $vms = @() #endregion
#region create domain controller $StartTime = Get-Date write-host "début à : " $StartTime Write-Host "creating $DcVmName" $adminPort = 52101
#create a new VM Config $newVM = ` New-AzureVMConfig -ImageName $WindowsServer2012ImageName -InstanceSize $DCVMSize -Name $DcVmName ` -AvailabilitySetName $AvailabilitySetName -DiskLabel "${DcVmName}os" ` -HostCaching ReadWrite -Label "$DcVmName" | Add-AzureProvisioningConfig -Windows -AdminUsername $adminUsername -Password $adminPassword -NoRDPEndpoint | Add-AzureDataDisk -CreateNew -DiskSizeInGB 30 -DiskLabel "${DcVmName}data1" -LUN 0 | Add-AzureEndpoint -LocalPort 3389 -Name "RDP" -Protocol tcp -PublicPort $adminPort | Set-AzureSubnet $AzureDCSubNet #add the VM config to the collection $vms += ,$newVM
#show the collection $vms | format-table
#create the VM and wait for boot New-AzureVM -ServiceName $serviceName -VMs $vms -VNetName $virtualNetworkName -WaitForBoot Start-Sleep -Seconds 60 #endregion
#region function definition for PowerShell remoting write-host "Definition for PowerShell remoting" function InstallWinRMCert($serviceName, $vmname) { $winRMCert = (Get-AzureVM -ServiceName $serviceName -Name $vmname | select -ExpandProperty vm).DefaultWinRMCertificateThumbprint
$AzureX509cert = Get-AzureCertificate -ServiceName $serviceName -Thumbprint $winRMCert -ThumbprintAlgorithm sha1
$certTempFile = [IO.Path]::GetTempFileName() Write-Host $certTempFile $AzureX509cert.Data | Out-File $certTempFile
# Target The Cert That Needs To Be Imported $CertToImport = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $certTempFile
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store "Root", "LocalMachine" $store.Certificates.Count $store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite) $store.Add($CertToImport) $store.Close()
Remove-Item $certTempFile } #endregion
#region Installation des fonctionnalités sur le DC #Installation de ADDS write-host "Installation de ADDS" $uri = Get-AzureWinRMUri -ServiceName $serviceName -Name $DcVmName InstallWinRMCert $serviceName $DcVmName
# Utilisation du PowerShell dans la machine virtuelle distante (le domaine controlleur) Invoke-Command -ConnectionUri $uri.ToString() -Credential $credential ` -ArgumentList $SecureStringadminPassword -ScriptBlock ` { param($SecureStringadminPassword)
$logLabel = $((get-date).ToString("yyyyMMddHHmmss")) $logPath = "$env:TEMP\init-webservervm_webserver_install_log_$logLabel.txt" Import-Module -Name ServerManager Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools -LogPath $logPath
$disks = Get-Disk | where { $_.NumberOfPartitions -eq 0 } foreach ($d in $disks) { # there should be one disk only $diskNumber = $d.Number echo "will format disk $diskNumber" Initialize-Disk $diskNumber New-Partition -DiskNumber $diskNumber -UseMaximumSize -AssignDriveLetter Format-Volume -DriveLetter F -Confirm:$False get-volume -DriveLetter F }
Import-module ADDSDeployment Install-ADDSForest -DomainName "ITCamp.demo.com" -InstallDns:$true -DatabasePath "F:\NTDS" ` -LogPath "F:\NTDS" -SysvolPath "F:\SYSVOL" -NoRebootOnCompletion:$false -Force:$true ` -SafeModeAdministratorPassword $SecureStringadminPassword } #endregion
#region wait for reboot and start a new collection Start-Sleep -Seconds 60
$DcVm = Get-AzureVM -ServiceName $serviceName -Name $DcVmName While ($DcVm.InstanceStatus -ne "ReadyRole") { write-host "Waiting for DC to be ready... Current Status = " $DcVm.InstanceStatus Start-Sleep -Seconds 15 $DcVm = Get-AzureVM -ServiceName $serviceName -Name $DcVmName }
$vms = @() #endregion
#region Ajout d'un compte utilisateur dans l'AD pour réaliser les installations de SQL Server et SharePoint
write-host "Ajout d'un utilisateur dans le domaine" Invoke-Command -ConnectionUri $uri.ToString() -Credential $credential -ArgumentList $InstallUser, $SecureStringPassWordInstallUser -ScriptBlock { param($InstallUser , $SecureStringPassWordInstallUser) #$pwd = ConvertTo-SecureString "Pass@word1" -AsPlainText -Force New-ADUser -Name $InstallUser -AccountPassword $SecureStringPassWordInstallUser -PasswordNeverExpires $true -ChangePasswordAtLogon $false -Enabled $true
}
#endregion
#================================================================================================================
#region Installation de SQL Server
for($i=1; $i -le $NbSQLServer; $i++) { Write-Host "creating $SQLprefix${i}" $adminPort = 53100 + $i
#Création de la configuration de la VM $newVM = ` New-AzureVMConfig -ImageName $WindowsAndSqlServerImageName -InstanceSize $SQLVMSize -Name "$SQLprefix$i" ` -AvailabilitySetName "$SQLprefix" -DiskLabel "$SQLprefix${i}os" ` -HostCaching ReadWrite -Label "$SQLprefix${i}" | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $adminUsername -Password $adminPassword ` -Domain $ShortDomainName -DomainUserName $adminUsername -DomainPassword $adminPassword -JoinDomain $domainName ` -NoRDPEndpoint | Add-AzureDataDisk -CreateNew -DiskSizeInGB $SizeSQLDataDisk -LUN 0 -DiskLabel "$SQLprefix${i}Data" | Add-AzureDataDisk -CreateNew -DiskSizeInGB $SizeSQLLogsDisk -LUN 1 -DiskLabel "$SQLprefix${i}Logs" | Add-AzureEndpoint -LocalPort 3389 -Name "RDP" -Protocol tcp -PublicPort $adminPort | Set-AzureSubnet $SQLSubnet #add the VM config to the collection $vms += ,$newVM } #endregion
#region SharePoint Server
for($i=1; $i -le $NbSPServer; $i++) { Write-Host "creating $SPprefix$i" $adminPort = 52200 + $i
#Création de la configuration de la VM $newVM = ` New-AzureVMConfig -ImageName $WindowsandSharePoint2013Trial -InstanceSize $SPVMSize -Name "$SPprefix$i" ` -AvailabilitySetName "$SPprefix" -DiskLabel "$SPprefix${i}os" ` -HostCaching ReadWrite -Label "$SPprefix${i}" | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $adminUsername -Password $adminPassword ` -Domain $ShortDomainName -DomainUserName $adminUsername -DomainPassword $adminPassword -JoinDomain $domainName ` -NoRDPEndpoint | Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -LUN 0 -DiskLabel "$SPprefix${i}data1" | Add-AzureEndpoint -LocalPort 3389 -Name "RDP" -Protocol tcp -PublicPort $adminPort | Add-AzureEndpoint -LocalPort 80 -Name "Web" -Protocol tcp -PublicPort 80 -LBSetName $LBSetName -ProbePort 8080 -ProbeProtocol http -ProbePath '/' | Set-AzureSubnet $SPSubnet #Rajout de la VM dans le collection $vms += ,$newVM } #endregion
#region create SharePoint and SQL Server VMs and wait for them to boot #show the collection $vms | format-table
#create the VM and wait for boot New-AzureVM -ServiceName $serviceName -VMs $vms -WaitForBoot #endregion
#region install features on SharePoint Servers
for($i=1; $i -le $NbSPServer; $i++) { $vmName = "$SPprefix$i"
$uri = Get-AzureWinRMUri -ServiceName $serviceName -Name $vmName InstallWinRMCert $serviceName $vmName
# Use native PowerShell Cmdlet to execute a script block on the remote virtual machine Invoke-Command -ConnectionUri $uri.ToString() -Credential $credential -ScriptBlock ` { $logLabel = $((get-date).ToString("yyyyMMddHHmmss")) $logPath = "$env:TEMP\init-webservervm_webserver_install_log_$logLabel.txt" Import-Module -Name ServerManager Install-WindowsFeature -Name Web-Server -IncludeAllSubFeature -IncludeManagementTools -LogPath $logPath } } #endregion
#region Rajout d'un compte d'installation du domaine dans la machine virtuelle SQL
#$vmType = 'Small' #$highAvailabilityType = 'None'
$InstallUser = 'InstallUserfranmer' $PassWordInstallUser = 'Pass@word1'
for($i=1; $i -le $NbSQLServer; $i++) { $uriSQL = Get-AzureWinRMUri -serviceName $serviceName -Name $SQLprefix${i}
Invoke-Command -ConnectionUri $uriSQL.ToString() -Credential $credential -ArgumentList $installerDatabaseUsername, $installerDatabasePassword, $installerDomainUsername, $defaultSqlDataFolder, $defaultSqlLogsFolder -ScriptBlock { param($installerDatabaseUsername, $installerDatabasePassword, $installerDomainUsername, $defaultSqlDataFolder, $defaultSqlLogsFolder) Import-Module ServerManager Set-ExecutionPolicy Unrestricted net localgroup administrators "$installerDomainUsername" /Add Start-Sleep -Seconds 20
# Formatage des disques durs Write-host "Formatage des disques durs" for($i=2; $i -le 3; $i++) { Initialize-Disk -Number $i -PartitionStyle MBR $NewPartition = New-Partition -DiskNumber $i -UseMaximumSize -AssignDriveLetter if ($i -match 2) { Write-Host "Formatage du disque des données" $SQLPath = $NewPartition.DriveLetter + $defaultSqlDataFolder $DataDiskLetter = $NewPartition.DriveLetter } Else { Write-Host "Formatage du disque des journaux de transactions" $SQLPath = $NewPartition.DriveLetter + $defaultSqlLogsFolder $LogsDiskLetter = $NewPartition.DriveLetter }
Format-Volume -DriveLetter $NewPartition.DriveLetter -FileSystem NTFS -NewFileSystemLabel $SQLPath -Confirm:$False }
Write-Host "Configuring firewall..." netsh advfirewall firewall add rule name='SQL Server (TCP-In)' program='C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe' dir=in action=allow protocol=TCP Write-Host "Firewall configured." Write-Host "Configuring database permissions and options..." Import-Module "sqlps" -Verbose Write-Host "Module sqlps importé" Invoke-Sqlcmd -ServerInstance $env:COMPUTERNAME -Database master -Query ` " USE [master] IF Not EXISTS (SELECT name FROM master.sys.server_principals WHERE name = '$installerDatabaseUsername') BEGIN CREATE LOGIN [$installerDatabaseUsername] WITH PASSWORD='$installerDatabasePassword' EXEC sp_addsrvrolemember '$installerDatabaseUsername', 'dbcreator' EXEC sp_addsrvrolemember '$installerDatabaseUsername', 'securityadmin' END IF Not EXISTS (SELECT name FROM master.sys.server_principals WHERE name = '$installerDomainUsername') BEGIN CREATE LOGIN [$installerDomainUsername] FROM WINDOWS EXEC sp_addsrvrolemember '$installerDomainUsername', 'sysadmin' END EXEC sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin' "
Invoke-Sqlcmd -ServerInstance $env:COMPUTERNAME -database master -Query ` "USE [master] GO sp_configure 'show advanced options', 1;RECONFIGURE WITH OVERRIDE; GO sp_configure 'max degree of parallelism', 1;RECONFIGURE WITH OVERRIDE; GO" Write-Host "Database configured."
Write-Host "Enabling mixed authentication mode and setting folder locations..." $s = new-object ('Microsoft.SqlServer.Management.Smo.Server') $env:COMPUTERNAME $s.Settings.LoginMode = [Microsoft.SqlServer.Management.Smo.ServerLoginMode]::Mixed if(-not [string]::IsNullOrEmpty($defaultSqlDataFolder)) { mkdir $DataDiskLetter$defaultSqlDataFolder $s.Settings.DefaultFile = $DataDiskLetter+$defaultSqlDataFolder } if(-not [string]::IsNullOrEmpty($defaultSqlLogsFolder)) { mkdir $LogsDiskLetter$defaultSqlLogsFolder $s.Settings.DefaultLog = $LogsDiskLetter+$defaultSqlLogsFolder }
$s.Alter() Write-Host "Redémarrage service SQL (2)" Restart-Service -Name MSSQLSERVER -Force Write-Host "Mixed authentication mode enabled and folder locations set."
} } #endregion
$EndTime = Get-Date Write-host "Fin à : "$EndTime
Sources :
Suite à l’IT Camp “SQL Server /SharePoint/Windows Intune, les scénarios d’usage en mode Cloud hybride” du mercredi 18 Septembre 2013, il y a eu beaucoup d’intérêt autour de la machine virtuelle Business Intelligence (BI) hébergée dans Azure.
Pour rappel, cette machine est disponible à l’adresse suivante :
les informations de connexions sont :
Ci dessous, une vidéo illustrant l’utilisation de cette machine. Cette vidéo est disponible à l’adresse suivante et a été enregistrée durant l’Azure Camp Online du 1er Juillet 2013 :
Avoir une expérience complète de self-service BI aussi bien sur site qu’avec des services en ligne, telle est la promesse du couple Excel et Power BI pour Office 365. Power BI propose une nouvelle manière d’intégrer, transformer et exploiter les données à travers Excel ainsi que de nouvelles possibilités d’accès, de partage et de recherche via Office 365. Afin de commencer à vous en faire une idée par la pratique, vous pouvez télécharger des composants de power BI et vous inscrire pour la preview de Power BI pour Office 365 sur ce site : http://office.microsoft.com/en-us/excel/power-bi-FX104080667.aspx?WT.mc_id=Blog_SQL_WPC_PowerBI.
Power Bi donc, est une solution constituée d’une partie poste de travail avec Excel et une “App”, ainsi que d’une partie en ligne avec Office 365.
La partie poste de travail, principalement intégrée à Excel, est constituée de :
La partie en ligne, portée par SharePoint Online dans un premier temps, est constituée de :
Au lieu de vous faire un long article sur chacun des modules, j’ai préféré réaliser une vidéo présentant les différents composants
Au plaisir de vous rencontrer lors d’un IT Camp!
Pour tester Windows Server 2012, Windows 8, SQL Server 2012 et SQL Server 2014, vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
Cette année encore, l’équipe des Architectes Infrastructures de Microsoft France vous propose d’assister aux IT Camps sur les solutions Microsoft d’infrastructures du moment. Et cette année, nous allons forcément jouer une date dans une ville proche de chez vous !!
Voici le programme classé par ville :
Aix en Provence ----------------------- Jeudi 28 novembre 2013 : Cloud Hybride – Les applications Jeudi 13 mars 2014 : Windows 8.1 en entreprise
Ajaccio --------- Mardi 15 avril 2014 : Vue d'ensemble des nouveautés de Windows Server 2012 R2 Mardi 15 avril 2014 : Vue d'ensemble des nouveautés de SQL Server 2014
Bordeaux ----------- Jeudi 3 octobre 2013 : Cloud Hybride – Les applications Mardi 17 décembre 2013 : Windows 8.1 en entreprise Mardi 14 janvier 2014 : Vue d'ensemble des nouveautés de Windows Server 2012 R2
Brest ------- Mardi 25 mars 2014 : Vue d'ensemble des nouveautés de Windows Server 2012 R2
Clermont-Ferrand ---------------------- Jeudi 24 octobre 2013 : Vue d'ensemble des nouveautés de Windows Server 2012 R2
Lille ----- Jeudi 10 octobre 2013 : Cloud Hybride – Les applications Mardi 3 décembre 2013 : Vue d'ensemble des nouveautés de Windows Server 2012 R2 Jeudi 6 mars 2014 : Windows 8.1 en entreprise
Limoges ---------- Mardi 10 juin 2014 : Vue d'ensemble des nouveautés de Windows Server 2012 R2
Lyon ------ Mardi 8 octobre 2013 : Cloud Hybride – Les applications Jeudi 7 novembre 2013 : Vue d'ensemble des nouveautés de Windows Server 2012 R2 Mardi 10 décembre 2013 : Vue d'ensemble des nouveautés de SQL Server 2014 Jeudi 9 janvier 2014 : Windows 8.1 en entreprise
Montpellier ------------- Jeudi 26 septembre 2013 : Cloud Hybride – Les applications Jeudi 5 décembre 2013 : Vue d'ensemble des nouveautés de Windows Server 2012 R2
Nantes --------- Mardi 1er octobre 2013 : Cloud Hybride - Le meilleur des deux mondes ? Mardi 26 novembre 2013 : Cloud Hybride – Les applications Jeudi 16 janvier 2014 : Vue d'ensemble des nouveautés de SQL Server 2014 Mardi 18 mars 2014 : Vue d'ensemble des nouveautés de Windows Server 2012 R2 Jeudi 17 avril 2014 : Windows 8.1 en entreprise
Nice ----- Mardi 5 novembre 2013 : Windows 8.1 en entreprise Jeudi 20 mars 2014 : Cloud Hybride – Les applications
Paris (Issy les Moulineaux) ------------------------------- Mercredi 18 septembre 2013 : Cloud Hybride – Les applications Mardi 22 octobre 2013 : Vue d'ensemble des nouveautés de Windows Server 2012 R2 Jeudi 14 novembre 2013 : Vue d'ensemble des nouveautés de SQL Server 2014 Jeudi 21 novembre 2013 : novembre 2013 : Windows 8.1 en entreprise Mardi 21 janvier 2014 : Cloud Hybride - Le meilleur des deux mondes ? Mardi 8 avril 2014 : Windows 8.1 en entreprise Mardi 22 avril 2014 : Vue d'ensemble des nouveautés de Windows Server 2012 R2 Mardi 6 mai 2014 : Vue d'ensemble des nouveautés de SQL Server 2014
Pau ----- Mardi 7 janvier 2014 : Windows 8.1 en entreprise
Strasbourg ------------- Mardi 24 septembre 2013 : Cloud Hybride - Le meilleur des deux mondes ? Mardi 29 octobre 2013 : Windows 8.1 en entreprise Mardi 11 mars 2014 : Vue d'ensemble des nouveautés de SQL Server 2014 Jeudi 24 avril 2014 : Vue d'ensemble des nouveautés de Windows Server 2012 R2
Toulouse ----------- Mardi 17 septembre 2013 : Cloud Hybride - Le meilleur des deux mondes ? Jeudi 17 octobre 2013 : Vue d'ensemble des nouveautés de Windows Server 2012 R2 Jeudi 12 décembre 2013 : Vue d'ensemble des nouveautés de SQL Server 2014 Mardi 4 mars 2014 : Windows 8.1 en entreprise
Bref, si vous êtes un professionnel de l’informatique en région parisienne ou en Province, que vous travaillez sur des sujets d’infrastructure avec nos solutions, alors vous n’avez plus aucune excuse pour ne pas venir vous former aux dernières solutions.
Vous pouvez vous inscrire gratuitement à un de nos IT Camps en cliquant ici.
Une autre de mes passions, en plus de l’informatique, ce sont les jeux. Les jeux de sociétés, ceux avec des plateaux, des pions, des dés, des cartes et surtout, de vrais gens autour de la table !!!!
Plus particulièrement, je suis attiré par les jeux de cartes, et cet été j’ai découvert « Android Netrunner ». Je vous en parle dans cet article un peu « décalé », car comme vous allez le voir, il utilise beaucoup de concept de la « vie » informatique et n’est pas très loin de certaines réalités.
Ce jeu est une réédition, au format « évolutif », d’une version sortie en 1994 qui était, elle, au format à collectionner…. Donc à gros budget. Quand on dit jeu à collectionner, dans le monde du jeu de cartes, on pense très rapidement à « Magic l’assemblée ». Ce qui est de bonne augure car « Android Netrunner » est un jeu issu de l’imagination du créateur de « Magic l’assemblée », Richard Garfield. Au passage, pour les joueurs de « Magic l’assemblée », vous pouvez télécharger l’application de gestion de collection de cartes, développée par David Cathue, sur cette page.
« Android Netrunner » est un jeu de cartes un peu particulier car c’est un jeu asymétrique. C’est-à-dire que les joueurs, en fonction du camp choisit, ne seront pas soumis aux mêmes règles. Les joueurs auront la possibilité de jouer :
Le premier joueur est celui qui jouera la corporation. Il débutera la partie avec :
Durant son tour, la corporation commence par piocher une carte de sa R&D et aura 3 actions, représentées par 3 clics. Avec ses clics, elle devra déployer des serveurs distants et développer sur ses serveurs des projets issus de sa R&D, tout en se protégeant des pirates ! Cette protection s’effectue par la mise en place d’une infrastructure robuste et sécurisée. Elle pourra aussi user d’évènements pour accélérer son déploiement ou augmenter sa trésorerie.
Les protections se feront bien entendu au niveau des serveurs distants, mais aussi au niveau du QG, de la R&D et des archives (En d’autres termes, le runner peut avoir la capacité de dérober des projets se trouvant dans votre main, votre « deck » ou votre pile de défausse !!!). Dans le jeu, La protection est matérialisée par des « glaces » qui vont faire office de Firewall. Ces glaces peuvent être de différents types et sont composées de routines. Ces routines se déclenchent en cas d’attaque, ayant pour conséquence des effets néfastes pour le runner. Sinon dans la vraie vie, pour la sécurité de vos infrastructures, vous pouvez faire un tour sur le blog de Stanislas !
Un exemple de projet.
Un exemple de glace permettant la protection des serveurs. Cette glace possède une routine qui arrête purement et simplement le piratage !
Déploiement d’une infrastructure augmentant la capacité du QG.
Le runner est le pirate informatique du jeu. Ce n’est pas forcément un mauvais bougre et peu défendre de bonnes causes contre certains projets pas toujours très « clean ». Le runner commence la partie avec 5 crédits et durant son tour, il aura 4 actions (4 clics). Mais il n’aura pas la possibilité de piocher au début de son tour. Il devra donc bien gérer sa main ou dépenser des clics pour piocher !
Le but du runner est de dérober les projets des corporations en attaquant soit son QG, sa R&D, ses archives ou ses serveurs distants. Mais pour cela il devra passer les fameuses glaces. Il lui faudra donc installer des programmes assez puissants pour casser la résistance des glaces, puis ensuite désactiver la ou les routines des glaces. Bien entendu, pour installer tous ces programmes, il lui faudra du matériel et assez de capacité mémoire pour déployer les différents programmes. La puissance du runner est donc contrainte par son équipement informatique. Dans la vraie vie, pour tout ce qui est question de gestion de périphériques et déploiement des applications, vous pouvez consulter le blog de Pascal !
Une carte évènement permettant de réduire les coûts d’installation d’un programme.
Un exemple de programme. Celui-ci occupe 1 place mémoire dans l’ordinateur du runner. Il lui faut donc gérer sa place mémoire qui est de 4 au départ. Heureusement, celle-ci est extensible !
Le but du jeu pour la corporation est de développer ses projets afin d’obtenir un total de 7 points (les projets ont une valeur de point de victoire différent). Elle pourra le faire rapidement en déployant de nombreux serveurs distants, mais il faudra s’assurer d’avoir les ressources nécessaire pour les protéger correctement. Une fois les serveurs déployés il lui faudra gérer au mieux ses projets et ses données. (Dans la vraie vie, pour la gestion des projets et des données, vous pouvez consultez mon blog). Mais attention, la corporation peut aussi perdre la partie si il n’y a plus de projets ou ressources dans sa R&D (si le joueur de la corporation ne peut plus piocher au début de son tour).
Pour le runner, le but principal est de dérober des projets à la corporation pour un total de 7 points. Et pour cela, il va attaquer les différents serveurs de la corporation. Mais cela n’est pas sans risque car la corporation va tout faire pour le « taguer » et le rendre repérable sur le réseau. Une fois « taguer » le runner verra ses ressources neutralisées par les services de sécurité de la corporation.
Une course s’engagera donc entre le runner et la corporation pour la mise en place du meilleur réseau, des meilleurs relais et la maîtrise des protocoles de communications. L’avantage ira sûrement à celui qui lira le blog d’Arnaud ! Attention aussi à la gestion de la main du runner. Des évènements peuvent lui faire perdre des cartes de sa main. En cas d’une main égale à zéro, le runner se trouve alors dans une mort clinique et perd la partie.
Que vous incarniez la corporation ou le runner, ce n’est qu’un jeu de société qui permet de passer du bon temps….. À partir du moment où vous trouvez un joueur (ici, le jeu vidéo à clairement un avantage !!). Ce jeu reprend de nombreux concept de l’informatique et est très réaliste dans l’approche, surtout quand on baigne dans le domaine : Limitation des installations de programmes en fonction de la puissance des machines (dans la vraie vie, l’élasticité du cloud Azure apporte clairement une réponse !), choisir entre déploiement massif et sécurité des infrastructures, etc…..
Voilà pour cet article des vacances un peu décalé. Mais quoi qu’il en soit, que vous ayez un deck « Android Netrunner » ou non , c’est avec plaisir que l’on vous rencontrera lors d’un IT Camp!
Ce SQLSaturday se veut un évènement très technique vous permettant de vous former et d’approfondir vos connaissances. Mais c’est aussi un évènement qui se veut détendu, vous permettant d’échanger avec vos pairs dans une ambiance fun.
Cet évènement aura lieu à Paris, sur les campus de l’EPITA et l’EPITECH porte d’Italie, le 14 Septembre à partir de 10h. L’agenda sera riche et d’un haut niveau :
Toutes les informations et les modalités d’inscriptions se trouvent sur le site du GUSS : http://guss.fr/2013/09/14/sqlsaturday-paris-2013/
En espérant vous compter parmi nous le 14 Septembre ou lors d’un IT Camp!
· d'une image ISO : http://aka.ms/jeveuxwindows2012
· d'un fichier VHD avec un système préinstallé : http://aka.ms/jeveuxwindows2012
· http://technet.microsoft.com/en-us/evalcenter/hh225126.aspx
· http://technet.microsoft.com/en-us/evalcenter/dn205290.aspx
· http://www.windowsazure.com/en-us/pricing/free-trial/
Une vidéo illustrant l’article “SQL2014 : Déployer une base de données dans une machine virtuelle Azure” :
Bon tests !
o d'une image ISO : http://aka.ms/jeveuxwindows2012
o d'un fichier VHD avec un système préinstallé : http://aka.ms/jeveuxwindows2012
o http://technet.microsoft.com/en-us/evalcenter/hh225126.aspx
o http://technet.microsoft.com/en-us/evalcenter/dn205290.aspx
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, et plus particulièrement le IaaS et le PaaS. Cet article détail une de ces fonctions, et plus particulièrement le déploiement d’une base de données dans une machine virtuelle Azure. Si vous voulez en savoir plus sur le Cloud et les applications du Cloud hybride, venez nous rencontrer lors d’un ITCamp.
Avant de déployer une base de données SQL vers une machine virtuelle hébergée dans Azure, un minimum de configuration est nécessaire. Le détail complet est expliqué ici. Cependant, 2 points sont importants à vérifier pour assurer la communication entre la base de données SQL source et la base de données SQL se trouvant dans Azure :
Connectez-vous sur votre portail azure. (Pour rappel, il est possible de tester gratuitement Azure pendant 1 mois. Plus d’information à la fin du blog !).
Cliquez sur le nom de la machine virtuelle dans laquelle vous souhaitez déployer votre base de données :
Cliquez, en haut de l’écran sur « Endpoints ». Puis sur « Add » en bas de l’écran afin de définir un nouveau point de terminaison.
La fenêtre suivante apparaît. Cliquez sur la flèche en bas à droite
Dans la fenêtre suivante, définissez le port 11435 :
Après validation, le nouveau point de terminaison apparaît alors :
Par default, le « Cloud Adapter » se trouve dans C:\Program Files\Microsoft SQL Server\110\Tools\CloudAdapter\
Et est visible au niveau de la console de management :
Avant de commencer, voici ci-dessous une copie d’écran d’un management studio qui administre une instance SQL se trouvant dans une machine virtuelle Azure. Il n’y a pour le moment que 3 bases de données.
A partir de votre serveur source, faîtes un clic droit sur la base que vous souhaitez déployer dans une Machine Virtuelle Azure. Sélectionnez « Tasks/Deploy Database to a Windows Azure VM… » :
Dans la fenêtre d’accueil « Introduction », cliquez sur « Next »
La fenêtre « Source Settings » apparaît. Sélectionnez le server SQL source ainsi que la base de données à déployer dans la machine virtuelle Azure :
Attention !! Si les boutons « Connect » et « Browse… » n’apparaissent pas, redimensionnez la fenêtre.
Cliquez sur « Next ». La fenêtre « Windows Azure Sign-in » apparaît. Renseignez alors les informations concernant votre souscription Azure.
Pour récupérer les informations de votre « publishing profile » vous pouvez utiliser une des méthodes suivantes :
Cliquez sur « Next ». Le fenêtre « Deployment Settings » apparaît ! Renseignez les informations relatif à la machine virtuelle se trouvant dans Azure.
Cliquez sur le bouton « Settings » afin de se connecter à la machine virtuelle
Cliquez sur le bouton « Ok » puis sur le bouton « Next » dans la fenêtre « Deployment Settings » . Le fenêtre « Summary » apparaît :
Cliquez sur le bouton « Finish » . Le déploiement s’effectue :
Durant le déploiement, 2 fichiers sont créés dans le dossier que vous avez spécifié durant la phase « Source Settings » de l’assistant
Une fois le déploiement effectué :
Vérifions dans la machine virtuelle Azure si notre Base de donnée est bien là !
Dans le management studio de la machine virtuelle, faîtes un « refresh » au niveau de votre instance. Puis déroulez le dossier « Databases ». Votre base doit maintenant être disponible. Ici, ma base « FranmerIntheCloud » est bien présente et opérationnelle !
Par curiosité, j’ai voulu regarder comment la base de données était transmise au sein de la machine virtuelle. J’ai donc refait le test de déploiement en regardant plus précisément le nombre de disque attaché à cette machine virtuelle.
Ci-dessous, la copie d’écran de la machine virtuelle Azure. Suite à sa création depuis la galerie d’image, la machine virtuelle ne comporte qu’un seul disque :
Côté Stockage Azure, voici une copie d’écran représentant le disque associé à la machine virtuelle
Effectuons un nouveau déploiement de la base de données « franmer » dans la machine virtuelle Azure.
Nous pouvons voir qu’un second disque est attaché à notre machine virtuelle. Pour une raison que j’ignore encore, l’assistant de déploiement m’a proposé qu’un seul compte de stockage. D’où la création d’un second disque dans un compte différent du disque système.
Côté stockage, voici le nouveau disque créé lors du déploiement :
Au sein de la machine virtuelle Azure, un nouveau disque est disponible :
Dans lequel on trouve notre base de données
Enfin, dans SQL Server Management Studio, on retrouve bien notre Base de données et on peut vérifier que les fichiers se trouvent bien sur le disque nouvellement créé :
Il est maintenant possible de tester la version Premium de Windows Azure SQL Database. Il suffit de se rendre sur cette page : http://www.windowsazure.com/en-us/services/preview/
Windows Azure SQL Database Premium est l’édition idéale pour :
Il y a déjà 2 options de réservation pour l’édition premium, P1 et P2 :
Offre
Configuration
Prix(Preview)
Prix (Version finale)
P1
1 cœur
8Go de RAM
15$/Jours
(environ 465$/Mois)
30$/Jours
(environ 930$/Mois)
P2
2 cœurs
16Go de RAM
60$/Jours
(environ 1860$/Mois)
Pour commencer à utiliser la version Premium, cliquez ici : http://msdn.microsoft.com/en-us/library/windowsazure/dn369872.aspx
Pour plus de détails techniques, vous pouvez vous rendre ici : http://msdn.microsoft.com/en-us/library/windowsazure/dn369873.aspx
Evaluation SQL Server 2014 CTP1 :
Pour les besoins d’une maquette que je devais réaliser, j’ai utilisé une machine virtuelle Azure, dans laquelle j’ai installé un SQL Server et un SharePoint Server. Cette machine avait pour but de démontrer des scénarios Business Intelligence, accessibles via un portail SharePoint. Normalement, après cette maquette, la machine devait « disparaître ». Or, je me suis dit que çela serait dommage. Alors, j’ai utilisé le Cloud, et plus précisement le IaaS d’Azure, pour partager ces scénarios BI.
J’ai donc récupéré le vhd d’origine afin de créer une machine virtuelle Azure de type A7 (8 cœurs et 56 Go de RAM). J’ai aussi enregistré les vidéos associées aux scénarios afin de vous guider dans l’utilisation du portail de démonstration.
La machine est donc en ligne, et le portail est accessible à l’adresse suivante :
· http://frite.cloudapp.net
Les informations de connexions sont les suivantes :
· Utilisateur : franmer\Demo
· Pass : Pass@word1
Ci-dessous une petite vidéo présentant la connexion au portail