Blog BI & EPM

Blog en français traitant des sujets fonctionnels et techniques autour des solution BI & EPM

Blog BI & EPM

  • SQL Server 2014 : AlwaysON Availability Group dans Azure (Partie 2)

    Voici le deuxiè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 deuxième partie, “Création de l’infrastructure virtuelle”. Pour rappel, à la fin de cette première série d’articles, nous aurons l’architecture suivante :

    image 

     

     

    Création de l’infrastructure virtuelle

    Création du DC

    Depuis votre portail Azure, connectez-vous à la machine virtuelle du domaine contrôleur via le bureau à distance.

    Sur le bandeau de gauche, cliquez sur « Machines virtuelles ».

    Sélectionnez la machine virtuelle qui porte votre domaine contôleur.

    En bas de la fenêtre, cliquez sur « Connecter ».

    image

    Dans le « pop-up » qui apparaît, cliquez sur le bouton « Open ».

    image

    Une fois dans la machine virtuelle, allez dans « Server Manager ». En haut à droite, cliquez sur « Manage » puis « Add Roles and Features ».

    image

    Passez les étapes jusqu’à la rubrique « Server Roles ». Cochez la case « Active Directory Domain Services ».

    Cliquez sur « Next » et allez jusqu’à la fin de l’assistant.

    image

    Une fois l’installation terminée, toujours dans le « Server Manager », en haut à droite, notez-le panneau jaune d’avertissement. Cliquez dessus et cliquez sur « Promote this server to a domain controller ».

    image

    Dans la fenêtre « Active Directory Domain Services Configuration Wizard », sélectionnez « Add a new forest ». Renseignez le champ « Root domain name ».

    Cliquez sur « Next ».

    clip_image010

    Définissez le mot de passe pour le mode de restauration.

    Cliquez sur « Next ».

    clip_image012

    Définissez le nom NetBIOS.

    Cliquez sur « Next ».

    clip_image014

    Cliquez sur « Next ».

    clip_image016

    Cliquez sur « Install ».

    clip_image018

    Redémarrez la machine virtuelle.

    Configuration des comptes utilisateurs

    Une fois le domaine contrôleur redémarré, connectez-vous avec le compte de domaine. Dans le « Server Manager », cliquez sur le menu « Tool », puis sur « Active Directory Users and Computers ».

    image

    Dans la fenêtre « Active Directory Users and Computers », dans la partie gauche, faîtes un clic droit sur le dossier « Users ». Sélectionnez « New » puis « User ».

    clip_image020

    Définissez un compte pour réaliser les installations. Cliquez sur « Next »

    clip_image021

    Définissez le mot de passe pour le compte d’installation. Décochez la case « User must change password at next logon » et cochez la case « Password never expires ».

    Cliquez sur « Next ».

    clip_image022

    Créez de la même manière les comptes pour les services SQL (dans mon cas j’ai créé SQL1, SQL2, SQL3 et SQL4).

    Cliquez sur « Next ».

    clip_image023

    Définition des permissions

    Donnez les permissions au compte d’installation (Install).

    Dans la fenêtre « Active Directory Users and Computers », cliquez sur le menu « View » puis sur « Advanced Features » .

    clip_image024

    Toujours dans la fenêtre « Active Directory Users and Computers », faîtes un clic droit sur votre domaine (ici : franmer.demo.com) et sélectionnez « Properties ».

    clip_image025

    Dans la fenêtre « Properties », cliquez sur l’onglet « security » et cliquez sur le bouton « Advanced ».

    clip_image026

    Dans la fenêtre « Advanced Security Settings for… » , cliquez sur le bouton « Add ».

    image

    Dans la fenêtre « Permission Entry for… », Cliquez sur « Select Principal ».

    image

    Définissez votre compte d’installation. Dans mon cas c’est le compte « Franmer\Install ».

    clip_image029

    Une fois de retour dans la fenêtre « Permission Entry for… », cochez les cases « Allow for Read all properties » et « Create Computer objects ».

    clip_image030

    Cliquez sur « Ok » plusieurs fois pour fermer toutes les fenêtres.

    Joindre les serveurs au domaine

    Modification du réseau virtuel : Ajout du DNS

    Depuis le portail Azure, dans le bandeau de gauche, cliquez sur « Réseau », puis sélectionnez votre réseau virtuel.

    image

    Après vois sélectionné votre réseau virtuel, cliquez sur l’onglet « Configurer ».

    clip_image032

    Entrez un nom pour votre DNS et renseignez l’adresse IP de votre DNS. Dans mon cas c’est l’adresse 10.0.1.4.

    clip_image033

    En bas de l’écran cliquez sur le bouton « Enregistrer ».

    image

    Après avoir cliqué sur « Enregistrer » un message d’information doit vous avertir d’une opération en cours.

    image

    Redémarrez vos machines, excepté le domaine contrôleur.

    Joindre les machines virtuelles dans le domaine

    Connectez-vous sur une machine virtuelle, que vous souhaitez joindre au domaine, via le bureau à distance. En bas de l’écran cliquez sur le bouton « Connecter ».

    image

    Une fois connecté, dans la console de management du server, dans la partie gauche, cliquez sur « Local Server ».

    clip_image037

    Dans la partie centrale, cliquez sur le lien « Workgroup ».

    image

    Dans la fenêtre « System Properties », cliquez sur le bouton « Change ».

    image

    Dans la partie « Member of », sélectionnez « Domain » puis renseigner le nom FQDN de votre domaine.

    Cliquez sur le bouton « Ok ».

    clip_image040

    Vous devez normalement avoir un message de bienvenue dans votre domaine.

    clip_image041

    Une autre fenêtre vous demande de redémarrer. Cliquez sur « Restart Later ».

    image

    La console de management de votre serveur a dû normalement se mettre à jour.

    image

    Création d’un groupe de sécurité SQL Server

    Maintenant que vos serveurs SQL ont rejoints le domaine, nous allons créer un groupe de sécurité. Ce groupe nous permettra par la suite d’appliquer sur l’ensemble des membres de ce groupe des « policies » telles que des règles de firewall.

    A partir du domaine contrôleur, depuis le « Server Manager », cliquez sur « Tools », « Active Directory Users and Computers ».

    clip_image044

    Déroulez le dossier de votre domaine et faîtes un clic droit sur le dossier « Users », et cliquez sur « New » puis sur « Group »

    clip_image045

    Dans la fenêtre « New Object – Group », donnez un nom à votre groupe et sélectionnez « Universal » dans le « Group scope ». Laissez le « Group Type » sur « Security ».

    Cliquez sur « Ok ».

    clip_image046

    Votre groupe de sécurité est créé.

    clip_image047

    Faîtes un double clic sur votre groupe de sécurité.

    Cliquez sur l’onglet « Members ».

    Rajoutez vos serveurs SQL en utilisant le bouton « Add ».

    Entrez le nom de vos machines et cliquez sur le bouton « Check Names ».

    clip_image048

    Il se peut que vos serveurs ne soient pas trouvés du premier coup.

    Dans la fenêtre « Name Not Found », Cliquez sur le bouton « Object Types ».

    clip_image049

    Et cochez la case « Computeurs ».

    Cliquez sur « Ok ».

    image

    Une fois tous vos serveurs rajoutés, cliquez sur « Ok ».

    clip_image051

    Ajout des règles de Firewall dans une GPO

    Toujours sur le domaine contrôleur, depuis le « Server Manager ». Cliquez sur « Tools » puis sur « Group Policy Management ».

    image

    Une fois dans la console « Group Policy Management », dans la partie gauche, faîtes un clic droit sur votre nom de domaine.

    Dans le menu contextuel, cliquez sur « Create a GPO in this domaine, and Link it here… ».

    image

    Dans la fenêtre « New GPO », donnez un nom à votre GPO.

    Cliquez sur « Ok ».

    clip_image054

    Votre règle apparaît dans la partie gauche de la console. Faîtes un clic droit dessus et sélectionnez « Edit… ».

    clip_image055

    La fenêtre « Group Policy Management Editor » s’ouvre.

    Déroulez les dossiers jusqu’à arriver au niveau « Indound Rules ».

    Faîtes un clic droit sur « Indound Rules », puis sélectionnez « New Rule… »

    clip_image056

    Dans la fenêtre « New Inboud Rule Wizard », laissez le bouton radio sur « Program ».

    Cliquez sur « Next ».

    image

    Dans le champ « This program path », entrez le chemin vers le fichier exécutable de SQL Server. Par défaut il se trouve :

    %ProgramFiles%\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn\sqlservr.exe.

    Cliquez sur « Next ».

    clip_image058

    Laissez sur « Allow the connection ».

    Cliquez sur « Next ».

    image

    Cliquez sur « Next ».

    clip_image060

    Donnez un nom à votre règle. Cliquez sur « Finish ».

    clip_image061

    Répétez l’opération pour créer 2 nouvelles règles :

    • Une pour rajouter le port du « listener ».
    • Une pour le port de la sonde du « Load Balancer ».

    Dans mon exemple, ça sera respectivement les ports 55569 et 59999.

    Dans la fenêtre « New Inbound Rule Wizard », sélectionnez « Port ».

    Cliquez sur « Next ».

    image

    Dans la partie « Protocol and Ports », laissez « TCP » puis dans le champ « Specific local ports », entrez le « futur » port de votre listener.

    Dans mon exemple, ça sera le port 55569. Cliquez sur « Next ».

    clip_image063

    Laissez sur  « Allow the connection » et cliquez sur « Next ».

    clip_image064

    Laissez les 3 cases cochées et cliquez sur « Next ».

    clip_image065

    Donnez un nom à votre règle. Cliquez sur « Finish ».

    clip_image066

    Recommencez l’opération pour rajouter le port de la sonde du « Load balancer » (59999 dans mon exemple). Ensuite vous pourrez rajouter d’autres règles ici pour les propager sur vos serveurs SQL.

    Une fois toutes les règles de Firewall rajoutées, fermez la fenêtre du « Group Policy Management Editor ».

    Nous allons maintenant rajouter notre groupe de serveurs SQL à la « policy ».

    Dans la fenêtre « Group Policy Management », dans la partie Centrale, en bas, cliquez sur le bouton « Add ».

    image

    Dans la fenêtre « Select User, Computer or Group », entrez le nom de votre group de sécurité et cliquez sur « Check Names ».

    Cliquez sur « OK ».

    clip_image068

    Vous devez donc vous retrouvez avec 2 groupes de sécurités. Cliquez sur le groupe « Authenticated Users ». Cliquez ensuite sur le bouton « Remove ».

    image

    Cliquez « Ok » lors de l’avertissement :

    clip_image070

    Voilà ! Notre Groupe de « policy » est terminée.

    Redémarrez vos serveur SQL afin qu’ils héritent des modifications que l’on vient de faire.

    Après redémarrage, le Firewall de chacune des machines SQL a été mis à jour :

    clip_image071

    Gestion des droits d’un compte d’installation

    Sur les machines SQL Server, donner les droits pour le compte « Install ». Pour ce faire, depuis l’interface Modern UI, commencez à taper « Give administrative… ». Dans les suggestions, apparaît « Give administrative rights to a domain user ». Cliquez dessus.

    image

    Dans la fenêtre « User Accounts », cliquez sur le bouton « Add… ».

    clip_image073

    Rajoutez le compte d’installation. Ci-dessous une copie d’écran de mon installation :

    clip_image074

    Donnez le droit « Administrator » à ce compte. Cliquez sur « Next ».

    image

    Dans la dernière fenêtre, cliquez sur « Finish ».

    clip_image076

    Vous devez voir apparaître le nouveau compte dans la partie « Users for this computer ».

    clip_image077

    Répétez l’opération sur toutes les machines SQL.

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

    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 :

  • SQL Server 2014 : AlwaysON Availability Group dans Azure (Partie 1)

    Avec Azure, il est devenu assez simple et rapide de montrer des environnements virtuels opérationnels et évolutifs en fonction des besoins. Jusqu’à maintenant, pour construire mes démonstrations AlwaysON, j’étais un peu à l’étroit sur mon Lenovo W530, même si il était équipé de 2 disques durs SSD et de 32 Go de mémoire vive. L’intérêt du IaaS Azure (IaaS : Infrastructure as a Service), est de pouvoir monter rapidement un environnement virtuel, dans lequel je vais pouvoir déployer toute une infrastructure AlwaysON. De plus, cette infrastructure sera disponible de n’importe où, de n’importe quelle machine et je pourrais la faire évoluer en fonction des besoins.

    Dans cette série d’articles, nous allons voir comment mettre en place une infrastructure complète SQL AlwaysON dans Azure. Puis une fois cette infrastructure opérationnelle, nous l’étendrons vers une autre région Azure afin de paramétrer une solution de « disaster recovery ». Ci-dessous une représentation de notre infrastructure cible.

    image

    La première série d’articles va se focaliser sur la mise en place du site principal. Nous allons donc monter une infrastructure SQL avec un groupe de disponibilité sur 4 serveurs.

    Nous allons donc configurer l’infrastructure suivante :

    clip_image002

    Cet article et les suivants vont traiter des points ci-dessous :

     

    Création de l’infrastructure Cloud

    Création du réseau

    Connectez-vous sur votre portail Azure : http://manage.windowsazure.com.

    En bas à gauche de l’écran cliquez sur le bouton « + Nouveau».

    clip_image003

    Sélectionnez « Service de réseau », « Réseau virtuel », « Création personnalisé ».

    clip_image005

    Dans la fenêtre du réseau virtuel, renseignez le nom du réseau et son emplacement. Cliquez sur la flèche de droite.

    image

    Pour le moment, laissez les champs du DNS vides, on y reviendra plus tard. Cliquez sur la flèche de droite.

    image

    Dans la partie adresse, renseignez les adresses que vous souhaitez réserver pour votre réseau et sous-réseaux.

    Ci-dessous un exemple que j’ai utilisé pour cette infrastructure. J’ai créé 2 sous réseaux, le sous-réseau « Back » et le sous-réseau « Front ».

    clip_image011

    Cliquez sur le bouton clip_image017.

    Création du stockage

    Nous allons maintenant créer un compte de stockage qui contiendra les conteneurs des fichiers vhd de nos machines virtuelles.

    En bas à gauche de l’écran, cliquez sur le bouton « + Nouveau ». Puis sélectionnez « Services de données », « Stockage » et « création rapide ».

    Renseignez les informations de votre compte de stockage.

    image

    Création du Cloud Service

    Création d’un service de Cloud qui « hébergera » nos machines virtuelles.

    En bas à gauche de l’écran, cliquez sur le bouton « + Nouveau ». Puis sélèctionnez « Calcul », « Service de Cloud computing », « Création personnalisé ».

    image

    Dans la fenêtre « Créer un service de cloud computing », renseignez les informations de service Cloud. Au niveau de la région, sélectionnez une région qui sera la même pour votre compte de stockage et les machines virtuelles de votre site principal.

    Ci-dessous, une copie d’écran de ma configuration. Sur cette copie d’écran, vous pouvez voir que j’ai utilisé un groupe d’affinité. Ce groupe d’affinité est sur l’Europe du Nord, et j’utiliserai cette région pour créer mon compte de stockage et les machines virtuelles de mon site principal.

    clip_image019

    Cliquez sur le bouton clip_image017.

    Création des machines virtuelles

    Le domaine contrôleur

    En bas à gauche de l’écran, cliquez sur le bouton « + Nouveau ». Sélectionnez « Calcul », « Machine Virtuelle », « A partir de la galerie ».

    image

    Sélectionnez l’image « Windows Server 2012 R2 Datacenter ».

    clip_image023

    Renseignez les informations de votre domaine contrôleur. En termes de taille nous allons choisir une machine A1, ce qui sera suffisant pour notre exemple.

    Cliquez sur la flèche droite.

    clip_image025

    Dans la liste déroulante « Service de Cloud Computing », Sélectionnez le service de Cloud computing que vous avez créez précédemment..

    Dans le liste « Région/Groupe d’affinité/Réseau virtuel », sélectionnez le réseau virtuel créé précédemment.

    Dans le liste « Sous-réseaux du réseau virtuel » sélectionnez un de vos sous-réseaux. Dans cet exemple j’ai sélectionné le réseau « Back ».

    Dans la liste « Compte de stockage », sélectionnez le compte de stockage créé précédemment, Il servira à hébergé les fichiers vhd des machines virtuelles.

    clip_image027

    Cliquez sur la flèche droite clip_image028.

    clip_image031

    Cliquez sur la marque de validation clip_image029.

    Deuxième serveur (Pour le quorum du cluster)

    Nous allons créer une machine qui va servir de votant dans le cluster. (Même si on peut s’en passer Sourire).

    En bas à gauche de l’écran, cliquez sur le bouton « + Nouveau ». Sélectionnez « Calcul », « Machine Virtuelle », « A partir de la galerie ».

    clip_image032

    Sélectionnez l’image « Windows Server 2012 R2 Datacenter ».

    Dans la liste déroulante « Taille », sélectionnez A1 Cliquez sur la flèche droite  .

    clip_image034

    Dans la liste déroulante « Service de Cloud Computing », Sélectionnez le service de Cloud computing que vous avez créez précédemment.

    Dans le liste « Région/Groupe d’affinité/Réseau virtuel », sélectionnez le réseau virtuel créé précédemment.

    Dans le liste « Sous-réseaux du réseau virtuel » sélectionnez un de vos sous-réseaux. Dans cet exemple j’ai sélectionné le réseau « Back ».

    Dans la liste « Compte de stockage », sélectionnez le compte de stockage créé précédemment, Il servira à hébergé les fichiers vhd des machines virtuelles.

    clip_image036

    Troisième serveur : SQL1

    En bas à gauche de l’écran, cliquez sur le bouton « + Nouveau ». Sélectionnez « Calcul », « Machine Virtuelle », « A partir de la galerie ».

    clip_image037

    Sélectionnez l’image « SQL server 2014 RTM Enterprise ».

    clip_image039

    Dans la liste déroulante « Taille », sélectionnez A3 Cliquez sur la flèche droite  .

    clip_image041

    Dans la liste déroulante « Service de Cloud Computing », Sélectionnez le service de Cloud computing que vous avez créez précédemment.

    Dans le liste « Région/Groupe d’affinité/Réseau virtuel », sélectionnez le réseau virtuel créé précédemment.

    Dans le liste « Sous-réseaux du réseau virtuel » sélectionnez un de vos sous-réseaux. Dans cet exemple j’ai sélectionné le réseau « Back ».

    Dans la liste « Compte de stockage », sélectionnez le compte de stockage créé précédemment, Il servira à hébergé les fichiers vhd des machines virtuelles.

    Dans la liste « Groupe à haute disponibilité », créez un groupe de haute disponibilité. Ce groupe servira pour toutes les machines SQL.

    image

    Répétez l’opération pour créer les autres serveurs SQL. Pensez à bien sélectionnez le groupe à haute disponibilité pour toutes vos machines SQL.

    Dans le prochain article, nous aborderons la création de l’infrastructure virtuelle.

    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 :

  • Vidéo : SQL 2014, fichiers de base de données dans un stockage Microsoft Azure

    Avec Sébastien Pertus, nous avons réalisé une vidéo présentant la création d’une base de données dont les fichiers se trouvent dans un conteneur Microsoft Azure. Cette vidéo est la septième et dernière d’une série dont les épisodes précédents sont disponibles via les liens suivants:

     

    SQL 2014 et fichiers de base de données dans un stockage Azure

    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 :

    SQL Server 2014 :

    Power BI :

    Testez Azure gratuitement pendant un mois :

  • Vidéo : SQL 2014 et déploiement dans une machine virtuelle Microsoft Azure

    Avec Sébastien Pertus, nous avons réalisé une vidéo présentant le déploiement d’une base de données dans une machine virtuelle Microsoft Azure. Cette vidéo est la sixième d’une série dont les épisodes précédents sont disponibles via les liens suivants:

     

          
      Déploiement d’une base de données dans une machine virtuelle Azure.

       

      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 :

    • Vidéo : SQL 2014 et sauvegarde dans un stockage Microsoft Azure

      Avec Sébastien Pertus, nous avons réalisé une vidéo présentant les nouveautés au niveau des sauvegardes, et plus particulièrement la possibilité de sauvegarder ses bases dans un stockage Microsoft Azure. Cette vidéo est la cinquième d’une série dont les épisodes précédents sont disponibles via les liens suivants:

      SQL 2014 : Sauvegarde dans un stockage Microsoft Azure

      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 :

    • Vidéo : SQL 2014 et chiffrement des sauvegardes

      Avec Sébastien Pertus, nous avons réalisé une vidéo présentant les nouveautés au niveau du chiffrement des sauvegardes dans SQL Server 2014. Cette vidéo est la quatrième d’une série dont les épisodes précédents sont disponibles via les liens suivants:

      SQL 2014 et chiffrement des sauvegardes

      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 :

    • Vidéo : SQL 2014, Resource Governor I/O

      Avec Sébastien Pertus, nous avons réalisé une vidéo présentant les nouveautés du “Resource Governor” de SQL Server 2014. Cette vidéo est la troisième d’une série dont les épisodes précédents sont disponibles via les liens suivants:

        
      SQL Server 2014 : Resource Governor

      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 :

    • Vidéo : SQL 2014, Clustered ColumnStore Index

      Avec Sébastien Pertus, nous avons réalisé une vidéo présentant le Clustered ColumnStore Index disponible dans SQL Server 2014.

      Cette vidéo est la deuxième d’une série dont la première est disponible ici

      SQL 2014 : Clustered ColumnStore Index

      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 :

    • Power BI : Mise à jour de Power Query

      Une à  mise à jour de Power Query est disponible. Elle est disponible ici :

      Voici les nouveautés apportées par cette nouvelle version.

      Nouvelle source de données :

      Le connecteur aux univers SAP BO, déjà disponible en preview, est maintenant disponible dans Power Query en version “General availability”. Cette nouvelle version offrira en plus la possibilité de rajouter ou de supprimer des éléments directement depuis l’éditeur de requête :

      clip_image002

      Support des noms de tables et plages nommées.

      Cette nouvelle version supporte maintenant les plages nommées ainsi que les noms des tableaux lors de l’import des données depuis un fichier Excel

      image

      les plages nommées sont disponibles dans le volet de navigation de Power Query :

      image

      Nouvelles transformations disponibles

      Remove Bottom Rows

      Cette version de Power Query propose la possibilité de supprimer les dernières lignes d’un résultat de données. Dans les versions précédentes, cela étaient possible via le language M et l’écriture d’une fonction personnalisée. Maintenant, cette transformation est native dans Power Query.

      Fill up

      Une nouvelle transformation permet de remplir les cases vides d’une colonne en partant des valeurs du bas du tableau. cette transformation est aussi disponible via la formule “Table.FillUp

      image

      Après transformation “Fill Up

      image

      Nouvelles opérations statistiques

      Dans le menu “Insert”, une nouvelle entrée “Statistiques” est disponible. Il est maintenant possible d’appliquer des calculs directement à partir de ce menu. Cette fonctionnalité sera enrichie dans les prochains mois.

      image

      Amélioration du comportement de la mise à jour des requêtes

      Maintenant, lors de la mise à jour des données, les anciens résultats sont conservés lorsqu’une mise à jour de la requête échoue.

      Amélioration des paramétrages de chargement des données d’une requête.

      Dans les options de Power Query, il est maintenant possible de paramétrer la destination de chargement par défaut des résultats d’une requête :

      image

      Suggestion lors du dépassement de la limitation d’une feuille de calcul

      Lorsqu’une requête à destination d’une feuille de calcul remonte un nombre de ligne au delà de la limite supportée par Excel (1 048 576 lignes et 16 384 colonnes), un message explicite apparaît en conseillant d’utiliser le modèle de données d’Excel (Power Pivot)

      image

      Le message donne directement accès à l’option de charger les résultats dans le model de données :

      image

      Les données sont conservées dans le model après la modification du paramètre “Load settings”

      Power Query conserve les données chargées dans le model, même après modification du paramètre “Load to Worksheet”. Avant cette mise à jour, Power Query remettait à zéro les résultats aussi bien dans la feuille de calcul que dans le model lorsque les options “Load settings” étaient modifiées.. 

      Autres nouveautés

      Possibilité d’organiser les requêtes à partir du Volet des requêtes

      Il est maintenant possible d’organiser les requêtes directement à partir du volet “Workbook Queries” par un simple click droit.

      Possibilité d’annuler une opération de mise à jour

      Pendant la mise à jour d’une requête, il est maintenant possible d’annuler la mise à jour soit à partir du ruban ou en cliquant en bas à droite de la fenêtre Power Query.

      image

      Meilleure utilisation du clavier pour la navigation et renommer les étapes

      Le volet d’étapes supporte maintenant la possibilité d’utiliser les flèches pour naviguer dans les différentes étapes de la transformation. De plus, la touche “F2” est maintenant utilisable pour renommer les étapes.

      Possibilité de voir et copier les erreurs depuis le menu déroulant du filtre des colonnes

      Supprimer des éléments directement depuis le volet de navigation

      Lors d’une sélection multiple, les éléments sélectionnés sont visibles dans le champ “Selected items”. Il est maintenant possible, avec un click droit, de retirer un élément de cette liste.

      image

      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 :

    • SQL 2014 : Technologie “In-Memory”

      “Hekaton” est le nom de code de la technologie “In-memory”, nativement intégrée à SQL Server 2014. On peut voir Hekaton comme un moteur chargé en mémoire optimisé pour le monde OLTP (On-Line Transactional Processing). Le but de cette technologie est de bénéficier de l’évolution des configurations matérielles actuelles (mémoire vive plus importante), et de réduire de manière significative les temps de latence des opérations OLTP courantes telles que les “SELECT”, “INSERT”, “UDAPTE” et “DELETE”.   

      Etant intégrée à SQL server 2014, cette technologie ne nécessite pas un langage différent. Le Transact SQL actuel fonctionnera avec le moteur Hekaton et bénéficiera d’extensions pour tirer pleinement parti de la technologie “In-Memory”

      Plus de pages et plus de verrous (“Lock” et “Latch”)

      Le moteur Hekaton a été pensé pour tirer parti de la mémoire vive disponible au sein des serveurs. Mais tant qu’à ré écrire un moteur, autant en profiter pour revoir certains principes sur le stockage des données et d’en optimiser l’accès, notamment au niveau des “lock” et des “latch”.

      Plus de page et d’extension:

      Pour les tables en mémoire, les données ne sont plus stockées dans des pages et il n’y a plus besoin de réserver de l’espace pour les extensions. Les données résident en mémoire sous forme de ligne. La structure des lignes a été modifiée et les lignes appartenant à la même valeur d’index seront liées entre elles. Nous verrons ces points plus bas.

      Plus de “Loch” et “Latch”:

      Dans SQL Server (hors Hekaton), les “lock” font partie du process d’accès aux données. Lorsqu’un accès en lecture aux données est réalisé, un “lock” partagé doit être attribué à la requête qui effectue l’opération de lecture. Dans le cas d’un accès en écriture, il est alors nécessaire d’obtenir un “lock” exclusif. En ce qui concerne la structure interne des accès, ce sont les mécanismes de “latch” qui sont invoqués.

      Le moteur en mémoire “Hekaton” a été prévu afin d’être libre de tous verrous. L’accès aux données utilise le principe du “Multi-Version Concurrency Control (MVCC). Pour le process d’accès interne, le moteur “Hekaton” à sa propre allocation de mémoire qui ne nécessite plus l’utilisation des “latch” 

      Les données résident en mémoire….tout le temps

      L’idée de la technologie en mémoire, est de pouvoir stocker une ou plusieurs tables en mémoire…..mais de garantir aussi la durabilité des données en cas de pannes. Pour des raisons de restauration des données, le moteur “Hekaton” stocke aussi les données sur disque. Cependant les données résident tout le temps en mémoire.

      Au démarrage du serveur SQL ou quand une base de données est mise en ligne, le moteur “Hekaton” lit les données se trouvant sur disque et les montent en mémoire. Dans le même temps, le moteur construit les index qui sont aussi stockés en mémoire, car ceux-ci ne sont pas stockés sur disque.

      Les tables “Hekaton” existent sous 2 formes : Durable ou non-durable. Le contenu des tables durables est maintenu en cas de défaillance du système. Dans le cas des tables non-durables, seul le schéma de la table est conservé en cas de défaillance. Les tables “non-durables” seront donc vides après un redémarrage. Ces 2 formes de table partagent cependant les mêmes codes pour l’atomicité, l’isolation et la consistance des transactions. La seule différence est que les tables durables possèdent un mécanisme de “log” et de “checkpoint”. (Nous verrons ce système un peu plus loin).

      Indexe obligatoire

      Lorsque les données sont montées en mémoire, la seule solution que possède le moteur “Hekaton” pour accéder aux données est l’utilisation des index. Par conséquent, chaque table en mémoire doit avoir impérativement au moins un index. Les tables durables doivent avoir une clef primaire. Les index contiennent uniquement des pointeurs vers les lignes stockées en mémoire.

      Structure des données

      Les données en mémoire ne sont plus stockées par page de 8k mais par ligne dont la structure est la suivante : une entête (Row header) et la donnée (Payload):

      image

      Schéma 1 : Structure des données 

       

      Entête

      Un entête de ligne occupe au moins 30 Octets et est composé de :

      • Begin-Timestamp : Défini l’instant où la transaction a inséré la ligne
      • End-Timestamp : Défini l’instant où la ligne a été supprimée
      • StmID : au sein d’une transaction, chaque instruction SQL possède un identifiant unique (StmID). Lorsqu’une ligne est créée, le StmID est inscrit dans l’entête
      • IdxLinkCount : Référence le nombre d’index qui pointe sur cette ligne
      • Index Pointers : Espace réservé pour les pointeurs d’index, cet espace comprend 64 bits multiplié par le nombre d’index. Il prend donc au minimum 64 bits vu qu’il est obligatoire d’avoir au moins un index. C’est via cet “index pointer” que les lignes ayant la même valeur de “bucket” seront liées dans la même chaîne. 

      image

       

      Données

      La partie “Payload” du Schéma 1 contient en fait les données elle–même (les colonnes clefs et les autres colonnes), et dépend de la définition de la table. Les dlls* générées lors de la création de la table “savent” comment accéder aux données et comment les interpréter. Le moteur Hekaton, au final, ne sait rien de plus sur les données.

      * ( je n’en parlerai pas dans cet article, mais le moteur “Hekaton” crée des dlls pour effectuer des opérations sur les tables en mémoire. Le moteur n’accède donc pas en direct aux tables mais passe par ces dlls. Plus de détails ici) 

      Les Index

      Comme nous avons vu précédemment, les index ne sont plus stockés sur disque lorsque l’on utilise une table en mémoire. Ils sont construits à la volée et résident en mémoire. Il existe 2 sortes d’index : Les “Hash index” et les “Range index”. Pour une table en mémoire, il est possible de définir jusqu’à 8 index.

      Hash Index (indexe de hachage)

      Les “Hash Index” contiennent un nombre fixe d’espace (“bucket”). Le nombre d’espace est précisé lors de la création de la table ou de l’index. Dans ces espaces, il sera stocké un pointeur vers une chaîne de lignes. Lors de la création d’un “Hash index”, il est nécessaire de définir cet espace via la commande “Bucket-count”. Cela permet de réserver la place nécessaire pour créer l’index. Attention, cela peut avoir des impacts sur la performance. Si la valeur du “bucket_count” est trop petite, de trop nombreuses lignes seront “enchainées” à partir de la même valeur d’index et cela réduira la performance générale des requêtes. Dans le cas contraire, si le “Bucket_count” est trop important, il y’a un risque d’utiliser de la mémoire vive pour rien. Il faut aussi savoir que le nombre spécifié dans le “Bucket_count” est arrondi à la puissance 2 supérieure.

      D’après les informations que j’ai pu avoir, l’idéal est de définir un “Bucket_count” égal au nombre de valeurs distinctes.

      Pour un index sur une colonne, la requête suivante peut aider :

         Select Count(distinct [MaColonne]) from MaTable

      Pour un index composite :

         Select count (*) from

         ( Select distinct MaColonne1, MaColonne2 from MaTable) Nb

      Les index de hachage sont plutôt performants si les requêtes contiennent des clauses d’égalité.

      La DMV “sys.dm_db_xtp_hash_index_stats” permet d’obtenir des informations sur les hash index.

      Range Index (index non-cluster)

      Les “range index” s’appuient sur le principe des “BW-tree”, afin de créer une structure ordonnée, permettant un scan efficace d’une large plage de données. Par exemple lors d’une requête avec une clause comme MaValeur > 30.

      Imaginons la table en mémoire ci-dessous et son allocation mémoire:

      image

      L’index non-cluster sera de la forme ci-dessous, trié sur la colonne nom :

      image

      Et les données seront liées entre elles via la partie “Index pointer” de l’entête :

      image

      Ci-dessous, voici une représentation de l’index non-cluster (niveau feuille) et la correspondance avec les données. L’index pointe sur le début de la chaîne (quand il y en a une) et le pointeur d’index permet de retrouver les autres membres de la chaîne :

      image

      En fouillant un peu sur les ranges index, j’ai trouvé que les “Range Index” utilisent le principe des “skip-list” pour accélérer l’accès aux données. Ci-dessous, une explication rapide de ce qu’est une “skiplist”.

      “Skip list” (Liste à enjambements)

      Un “range index” s’implémente sur ce que l’on appelle une “skip-list”. Une structure “skip-list” est une liste d’éléments. Ces éléments sont liés entre eux par ordre croissant. Certains nœuds de cette liste seront plus grands que d’autres et seront appelés “tours” (towers). Les tours contiennent des liens vers les autres tours de même taille. Ces liens permettent un passage rapide entre les différents niveaux lors de la recherche d’une information. D’où le nom de “skip list”.

      L’idée générale de la “skip-list” est de partir du niveau le plus haut du nœud de tête et, en restant sur le même niveau, de suivre les liens entre les nœuds de même niveau jusqu’à la valeur souhaitée, ou jusqu’à la fin du nœud si la valeur n’a pas été trouvée. Si la valeur en fin de nœud est inférieure à la valeur cherchée, tout en restant sur le même nœud on passe au niveau inférieur et on continue la recherche sur le nouveau niveau. Afin d’essayer d’être plus clair, voici un exemple. Ci-dessous une représentation d’une “skip-list” avec 10 éléments (sur un schéma simplifié) :

      image

      Dans le cas d’une recherche de l’élément 12, voici les grandes étapes de recherche :

      1. En commençant par l’élément haut du nœud de la racine (root), la première flèche pointe sur le nœud 6. Donc 6 est plus petit que 12. C’est le dernier nœud de ce niveau. A partir du nœud 6, on passe au niveau inférieur
      2. A partir de ce nouveau niveau, depuis le nœud 6, on passe au nœud suivant qui est le nœud 25. 25 est supérieur à 12, donc on reste sur le nœud 6 et on passe encore au niveau inférieur.
      3. A partir de ce niveau, en étant toujours au nœud 6, on passe au nœud suivant qui est le numéro 9. 9 est inférieur à 12. On définit le nœud de départ à 9
      4. En restant sur le nœud 9, on passe au niveau inférieur et on trouve le nœud 12.

      Voilà pour une présentation rapide du range index et du principe de la “skip list”. Pour plus de détail sur les skip-lists, un article est disponible ici

      Liens entre les données et les indexes

      Comme nous avons vu plus haut, le seul moyen pour retrouver les données est de passer par un index, d’où l’obligation d’avoir au moins un index. Chaque ligne est constituée d’une entête en plus des données, et cette entête possède des informations de liaison vers les autres lignes possédant la même information d’index.

      La figure ci-dessous, que l’on retrouve dans de nombreuses documentations, illustre comment les lignes sont liées via un index “Hash index” et un “Range index”. Une ligne de données est constituée d’un Nom et d’une Ville. Un “Hash index est créé sur la colonne Ville et un “Range index” est créé sur la colonne Nom

      Un “hash index” sur la colonne Ville. Le premier “Bucket” pointe sur le nom de la ville qui commence par la lettre B. Il pointe sur l’enregistrement Susan/Bogota, ce denier pointant à son tour sur l’enregistrement suivant dont le nom de la ville commence aussi par B. Les enregistrements appartenant au même “bucket” sont donc liés entre eux. Le principe est le même pour les villes dont le nom commence par P. (Même si sur le schéma B et P sont visuellement ordonnés, il n’ y a en réalité aucun classement sur un “Hash index”).

      Un “Range index” (skip list) sur la colonne Nom. Dans le schéma ci-dessous, seule une liste ordonnée des index est représentée et liée aux données :

       image

       

      La durabilité des données

      Nous avons vu plus haut qu’il existe 2 types de table : Durable et non-durable. Dans le cas des premières, il est donc nécessaire de prévoir un mécanisme d’écriture sur disque afin de conserver les données même en cas de défaillance du serveur.

      Les tables “Hekaton” sont optimisées pour résider en mémoire et n’ont pas besoin d’avoir accès aux disques durs (La fameuse garantie que les données résident toujours en mémoire). Mais pour des raisons de récupération des données, il est nécessaire de rendre les données persistantes. Le moteur “Hekaton” n’utilise pas le “Buffer pool” et ne stocke pas les données sur disque sous forme de pages de 8k. En réalité, “Hekaton” ne stocke rien dans des fichiers de données, mais s’appuie sur la technologie “filestream” et stocke les données sous forme de blob (Binary Large OBject).

      Pour les tables en mémoire, les logs sont aussi écrits sur disque au moment où une transaction est terminée avec succès. Ce comportement est identique à celui des tables classiques (stockées sur disque ou “disk-based table”), au détail prêt que ce mécanisme est plus optimisé et que les index ne sont pas logués dans le cas des tables en mémoire.

      On a vu que “Hekaton” ne stocke pas les données sous forme de pages mais que les données sont éparpillées en mémoire (les données ne sont pas regroupées par page). Au moment du “Checkpoint”, les logs de transactions (ou le cache log) sont scannés et les lignes sont stockées sur disque dans des fichiers de “chekpoint”. Ces fichiers de “checkpoint” sont en fait des fichiers “FileStream” et ne servent que pour restaurer les données. Le moteur “Hekaton” possède un mécanisme appelé “Offline Chekpoint” qui lit de manière continue les logs et stocke sur disque les modifications réalisées sur les données.

      Il y a 3 types de fichier “Checkpoint” :

      • Data file : Le “data file” est organisé de manière chronologique et contient uniquement une insertion d’une version de ligne pour une plage de temps donnée. Cette insertion dans le fichier est “provoquée” soit par un “INSERT” ou un “UPDATE”. Un “data file” est caractérisé par la plage de temps qu’il couvre et ne contient donc que des transactions comprises dans cette plage de temps. La taille typique de “data file” est de 128MB. (pour des serveurs avec moins de 16GB de RAM, ce fichier est souvent à 16 MB). Ce fichier peut parfois être plus grand que 128 MB car une transaction ne peut pas être stockée dans 2 “data file” différents.
      •  Delta File : Ce fichier ne contiendra que les IDs des lignes effacées. Lors de la restauration, ce fichier servira de filtre afin d’éviter de recharger la mémoire avec les lignes effacées. Un fichier “delta file” à une taille typique de 8MB (pour les serveurs de moins de 16 GB de RAM, la taille du “delta file” peut être de 1 MB). Chose importante, un “delta file” est associé à un seul “data file” 
      • Checkpoint File Directory (CFD) : Ce fichier contient les références de tous les “data file” et “delta file” 

      C’est lors du process de “checkpoint” que les données sont écrites dans les fichiers. De plus, lorsqu’une ligne est effacée, “Hekaton” ne revient pas dans le fichier “Data file” pour supprimer physiquement la ligne, mais rajoute cette information dans le fichier “delta file”.

      Donc plus le temps passe, plus les fichiers “data file” risquent de se retrouver avec plus de lignes supprimées que de lignes encore “actives”. Cela peut poser des problèmes d’utilisation inutile d’espace disque et de temps perdu lors d’un process de restauration des données.

      Pour optimiser l’utilisation des fichiers “chekpoint”, il existe un process appelé “Merge” qui périodiquement va nettoyer les fichiers “data file” et les fusionner entre eux. Cette opération de “merge” est détaillée ici.

      Durant les ITCamps,  la question suivante m’a été posée : “Est-il possible de réaliser une opération de “merge” manuellement? . La réponse est oui. En voici un exemple :

      Pour réaliser un “merge” manuel il faut utiliser la procédure suivante : sys.sp_merge_xtp_checkpoint_files.

      Avant de faire le merge nous allons regarder l’utilisation de nos fichiers “chekpoint” avec la procédure sys.dm_db_xtp_checkpoint_files.

      SELECT checkpoint_file_id, file_type_desc, internal_storage_slot, file_size_in_bytes, file_size_used_in_bytes, inserted_row_count, deleted_row_count, lower_bound_tsn, upper_bound_tsn
      FROM
      sys.dm_db_xtp_checkpoint_files
      WHERE [state]=2
      ORDER BY file_type_desc, upper_bound_tsn

      image

      Admettons que nous souhaitons fusionner les 3 fichiers sélectionnés, nous allons utiliser le script suivant. Dans cet exemple j’utilise la base de données en mémoire “TicketReservations”:

      EXEC sys.sp_xtp_merge_checkpoint_files 'TicketReservations', 19487, 77807.

      Si on ré-exécute le script (celui avec sys.dm_db_xtp_checkpoint_files) pour regarder l’utilisation des fichiers “checkpoint”, nous pouvons voir que nos 3 fichiers ont bien été fusionnés :

      image

      Ensuite il est nécessaire d’exécuter manuellement  le “garbage collection” avec la procédure suivante :

      EXEC sp_filestream_force_garbage_collection

      Pour info, le trace flag 9851 permet de désactiver la fusion des “checkpoint file”

      Création d’une table en mémoire

      Bon tout ça, c’est bien mais la question est “Comment crée-t-on une table en mémoire?”. Tout simplement avec un CREATE TABLE et quelques instructions propres aux tables en mémoires

      Dans un premier temps, il faut créer une base de données avec un groupe de fichier FileStream

      Création de la base de données :

      CREATE DATABASE TicketReservations2
          ON
          PRIMARY(NAME = [TicketReservations2_data],
                  FILENAME = 'D:\DemoHekaton\TicketReservations2_data.mdf', size=2GB)
          LOG ON (name = [TicketReservations_log], Filename='D:\DemoHekaton\TicketReservations2_log.ldf', size=5GB)
          COLLATE Latin1_General_100_BIN2;
      go
      print 'done...'
      go
      ALTER DATABASE TicketReservations2 set recovery full
      go

      Paramétrage du FileStream :

      use TicketReservations2
      go
      ALTER DATABASE TicketReservations2 ADD FILEGROUP [TicketReservations2_hk_fs_fg] CONTAINS MEMORY_OPTIMIZED_DATA;
      ALTER DATABASE TicketReservations2
          ADD FILE (NAME = [TicketReservations2_fs_dir],
                    FILENAME = 'D:\DemoHekaton\TicketReservations2_fs_dir') to FILEGROUP [TicketReservations2_hk_fs_fg];
      go

      Création d’une table en mémoire :

      CREATE TABLE TicketReservationDetail (
        iteration int not null,
        lineId    int not null,
        col3        nvarchar(1000) not null, -- updatable column
        ThreadID    int not null
        constraint sql_ts_th primary key
          nonclustered hash      (iteration, lineId) with (bucket_count = 10000000)) with (memory_optimized = on, durability = SCHEMA_AND_DATA) 
      go

      Ci-dessus nous avons donc créé une table en mémoire avec la commande “memory_optimized = on”. De plus, cette table est durable car nous avons défini la durabilité à “SCHEMA_AND_DATA”. Si l’on ne souhaite pas avoir de durabilité alors on utilise le mot clef : “SHEMA_ONLY”.

      A ce stade-là, nous n’avons toujours pas évoqué les procédures stockées. Ce qui fait que pour le moment nous sommes en mode interopérabilité. C’est à dire que les tables sont en mémoire mais les procédures stockées n’ont pas bougées, et conservent leur fonctionnement originel. De plus, ces dernières sont capables, dans le mode interopérabilité, d’accéder aussi bien aux tables classiques (“disk_based table”) qu’aux tables en mémoire.

      Il existe un second mode qui est le mode natif, c’est à dire que tout est en mémoire, procédure stockée comprise. Cela permet d’améliorer encore les performances d’accès aux données. Ci-dessous un exemple réalisé sur ma machine de démo (Lenovo W530 avec 32Go de RAM), dans les 3 modes:

      image


      En mode natif, j’obtiens un gain multiplié par 66 par rapport à une table normale (“disk-based table”).

      Pour plus de détail sur la technologie en mémoire incluse nativement dans SQL Server Enterprise Edition, vous pouvez consulter l’article suivant :

      http://msdn.microsoft.com/en-us/library/dn133186(v=sql.120).aspx

      Voilà pour cet article présentant rapidement les tables en mémoire de SQL Server 2014. Afin d’agrémenter cet article, nous avons réalisé une vidéo avec Sébastien Pertus:

      http://blogs.technet.com/b/franmer/archive/2014/04/25/vid-233-o-sql-2014-moteur-en-m-233-moire-hekaton.aspx

      Dans cette vidéo nous présenterons aussi l’outil AMR, dont je n’ai pas parlé dans ce billet, qui permet de récolter des informations sur l’usage de vos bases de données et vous proposer les tables qui tireraient un bénéfice de migrer en table en mémoire. Vous trouverez plus d’informations sur l’outil AMR (Analyse, Migrate and Report) dans cet article :

      http://msdn.microsoft.com/en-us/library/dn205133(v=sql.120).aspx

      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 :

      Evaluation Power BI :

      Testez Azure gratuitement pendant un mois :

    • Vidéo : SQL 2014 moteur en mémoire (Hekaton)

      SQL Server 2014 est maintenant disponible en version finale. Si vous souhaitez l’évaluer vous pouvez :

      • Soit télécharger la version d’évaluation ici
      • Soit créer une machine virtuelle dans Azure contenant déjà une installation de SQL server 2014.

      Avec Sébastien Pertus, nous avons enregistré une série de vidéos illustrant certaines nouveautés majeures de cette version 2014.

      Dans la vidéo d’aujourd'hui, nous allons vous présenter la technologie OLTP en mémoire.

      OLTP en mémoire

      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 :

    • Vidéo : Power BI data management Gateway

       

      Pour faire suite à l’article sur l’évolution de la passerelle de Power BI, voici une vidéo illustrant l’utilisation de la passerelle et la mise en place d’une mise à jour périodique pour les rapports.

      Power BI Data Management Gateway

      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 :

    • Power BI : Mise à jour de la passerelle

       

      Power BI est maintenant en version finale depuis début février, et certains composants ont évolués, dont la passerelle. Cet article vous présente la nouvelle version de cette dernière.

      La passerelle permet de rafraichir des données à partir de nombreuses sources externes dont :

      • Power BI Cloud Service
      • Windows Azure SQL Database
      • SQL Server dans une machine virtuelle Azure
      • OData
      • Basic authentication
      • Anonymous authentication
      • SP Lists
      • ProjectOnline feeds
      • On-premises
      • SQL Server 2005 and above
      • Oracle 10g, 11g and 11gR2

      Pour illustrer cet article, j’ai publié un rapport puis j’ai paramétré une passerelle avec des sources de données. Enfin,  j’ai activé la passerelle pour mon rapport.

      Mise en place de la passerelle

      Ci-dessous voici le rapport qui a été publié sur le site Power BI :

      clip_image002

      Afin de pouvoir mettre à jour les rapports publiés, il est nécessaire, à partir du centre d’administration de Power BI, de créer une passerelle et une ou plusieurs sources de données associées à la passerelle.

      Dans le centre d’administration de Power BI, cliquez sur « passerelles » puis sur « nouvelle passerelle ». Ensuite suivez les instructions et, dans le cas d’une première installation, téléchargez et installez la passerelle sur votre serveur.

      Les détails de cette partie sont disponibles ici :

      image

       

      Une fois la passerelle créée, il est nécessaire de lui associer une ou plusieurs sources de données. Dans la partie gauche, cliquez sur « Sources de données » puis « nouvelle source de données »

      Les détails de cette partie sont aussi disponibles ici :

      image

       

      Création de la planification pour un rapport

      Une fois le rapport publié sur Power BI, lorsque vous cliquez sur les trois petits points en bas à droit de l’image du rapport, un menu contextuel apparaît. Cliquez alors sur « Planifier actualisation des données »

      image

      La fenêtre d’actualisation apparaît. A partir de cette fenêtre, vous allez pouvoir planifier la mise à jour du rapport via la passerelle. Il vous sera possible de choisir une ou plusieurs sources données à synchroniser, ainsi que la possibilité de définir une planification de rafraîchissement.

      image

      Dans le menu « historique », vous aurez le statu des mises à jour

      image

      De plus, dans le centre d’administration de Power BI, il est aussi possible de surveiller l’état des passerelles et voir lorsque des erreurs sont survenues lors des mises à jour. Ci-dessous un exemple après avoir rendu indisponible une de mes bases de données.

      image

       

      Mise à jour du rapport

      Pour l’exemple, je modifie une valeur directement dans ma base de données :

      clip_image024

      En passant une quantité de 6 à 456.

      clip_image025

      Pour mettre à jour le rapport depuis le site Power BI, cliquez sur « Planifier actualisation des données »

      image

      Puis dans la fenêtre de la passerelle cliquez sur le bouton « actualiser le rapport maintenant »

      image

      Après une mise à jour de mon rapport depuis mon site Power BI, les nouvelles données sont bien visibles dans mon rapport (modification au niveau des vélos)

      image

      La vidéo illustrant cet article arrive bientôt Sourire !!!

      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 :

    • Power BI : Mise à jour de l’add-in Power query

      Une nouvelle version de l’add’in Power Query est disponible depuis le 5 mars 2014. Cet add-in est téléchargeable ici:

      http://www.microsoft.com/fr-fr/download/details.aspx?id=39379

      Cette version apporte de nombreuses améliorations dont les principales sont présentées dans ce billet

      Navigation améliorée

      La nouvelle version de Power Query propose une navigation améliorée lors de la saisie multiple des éléments d’une source de données. Une liste résume les différents éléments sélectionnés et permet l’édition d’un des éléments directement à partir de cette liste.

      image

      Nouvel onglet “Insertion”

      Dans l’éditeur Power Query, un nouvel onglet, “Insérer” a été ajouté. Cet onglet facilitera la personnalisation des données. Par exemple, après avoir sélectionné deux colonnes ou plus, il sera possible de créer une nouvelle colonne représentant soit la somme soit le produit de ces colonnes.

      image

      Alerte d’insertion d’étape

      Dans l’éditeur Power Query, lors de l’insertion d’une nouvelle étape, un message d’alerte apparaît avant d’effectuer l’opération.

      image

      Amélioration de l’interface d’insertion de colonne

      La fenêtre d’insertion de colonne a été améliorée et propose maintenant la possibilité de nommer directement la colonne à partir de cette fenêtre. De plus, les erreurs de syntaxes, lors de la création d’une formule personnalisée, seront notifiées en bas de la fenêtre.

      image

      Sélection à partir d’un tableau Excel

      Une autre des améliorations vient de la sélection à partir d’un tableau Excel. Maintenant, il suffit juste de sélectionner une cellule d’un tableau pour le sélectionner entièrement. De plus, la boîte de dialogue permet de redéfinir, si besoin, la plage des cellules du tableau.

      image

      Différentiation entre erreur de chargement et annulation du chargement

      Power Query permet maintenant de différencier lorsqu’une erreur a eu lieu lors du chargement des données ou lorsque l’utilisateur annule volontairement le chargement. Dans ce dernier cas, les données chargées seront affichées dans la feuille Excel.

      image

      De plus, en cas d’erreur, il sera possible d’envoyer un formulaire détaillant l’erreur aux équipes de Microsoft afin de continuer à améliorer Power Query.

      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 :

      Jeu : Tentez de gagner votre livre numérique !

      Tentez de gagner votre livre numérique !

      Téléchargez une version d’évaluation gratuite et tentez de gagner votre e-book !

      Un gagnants tous les 10 téléchargements.

      Windows 8, déploiement et migration
      Décelez tout ce qu’il faut savoir sur le déploiement et la migration vers Windows 8.

      clip_image003

      Il est offert en partenariat avec les éditions EYROLLES, tous les 10 téléchargements d’une version d’évaluation gratuite de Windows Server 2012 R2, ou System Center 2012 R2.

    • SharePoint : Mise en place de la recherche hybride (Partie 9)

       

      Voici le dernier article de la mise en place de la recherche hybride “One-Way Outbound”. Cet article va traiter de l’étape 3, la configuration au niveau de SharePoint. Sûrement la partie la plus simple à mettre en œuvre.
      Les articles précédents présentaient l’étape 1 et l’étape 2 de la mise en place de la recherche hybride :
      Etape 1: Configuration de l’authentification des utilisateurs
      Etape 2 : Configuration de l’authentification entre SharePoint Server 2013 et SharePoint Online

       

       

      Etape 3 : Configuration de la Recherche hybride

      Configuration de la recherche One-Way Outbound

      Pour cet exemple, j’ai configuré la recherche « One Way outbound » comme illustré dans le schéma suivant :

      Cette dernière étape va être découpée en 2 phases :

      • Création d’une source de résultats
      • Création d’une « Query Rule »

       

      Création d’une source de résultats (Result source)

      La création d’une source de résultats se fait à partir de l’administration centrale de SharePoint 2013.

      Cliquez sur « Manage service applications » :

      image

      Cliquez sur « Search Service Application » :

      image

      Dans la partie gauche de la page, cliquez sur « Result Sources » :

      image

      Dans la page, « Manage Result Sources », cliquez sur « New Result Source » :

      image

      Dans la page « Edit Result Source » : dans la partie « Protocol », sélectionnez « Remote SharePoint »

      Puis, dans la partie « Remote Service URL », renseignez l’adresse de votre site SharePoint Online. (Dans cet exemple : « https://bipower.sharepoint.com »)

      image

      Cliquez sur le bouton « Save ». Vous devriez voir apparaître votre source de résultats

      Creation d’une « Query rule »

      Maintenant il reste à créer une « Query rule » associée à notre source de résultats .

      Tout en restant dans l’application de service de recherche, dans la partie gauche de la fenêtre, cliquez sur « Query Rules »

      image

      La fenêtre « Manage Query Rules » s’affiche. Dans la liste déroulante « For what context do you want to configure rules », sélectionnez, par exemple, « Local SharePoint results ».

      Puis cliquez sur « New Query Rule ».

      image

      Dans la fenêtre « Add Query Rule », Entrez un nom dans le champ « Rule Name »

      Puis cliquez sur « Add result Block »

      image

      Dans la fenêtre « Add Result Block », dans la liste déroulante « Search this source », sélectionnez la source de résultats créée précédemment.

      image

      Cliquez ensuite sur le lien « Settings », puis définissez comment les résultats vont apparaître dans la page de recherche.

      Puis, cliquez sur le bouton « Ok ». Ci-dessous un exemple de configuration :

      De retour dans la fenêtre « Edit Query Rule », cliquez sur le lien « Publishing », puis cochez la case « Is Active ».

      image

      Cliquez sur le bouton « Save ».

      Test de la source de résultats

      Avant de tester la recherche, il est déjà possible de tester la source de résultats à partir de l’interface de l’administration centrale de SharePoint.

      Pour ce faire, connectez-vous à votre serveur SharePoint avec un compte fédéré. Dans mon cas, je vais faire le test avec le compte « HybridFranmer ».

      Dans la fenêtre « Manage Result Sources », repérez la source de résultats concernant votre SharePoint Online. Cliquez sur la flèche à droite pour dérouler le menu, puis sélectionnez « Test Source »

      Si tout a été paramétré correctement, vous devriez avoir le résultat suivant :

      Lors de mon premier test, j’ai eu l’erreur suivante :

      Web error: System.Net.WebException: The request was aborted: The request was canceled. ---> System.ServiceModel.ServiceActivationException: The requested service, 'net.pipe://localhost/SecurityTokenServiceApplication/appsts.svc' could not be activated

      Cette erreur s’est produite car mon serveur SharePoint était sous dimensionné en mémoire vive (3,5 Go). J’ai profité d’une des caractéristiques du Cloud, l’élasticité, pour augmenter la capacité mémoire de mon serveur SharePoint (je suis passé à 7 Go). le test de la source de résultats est alors tombé en marche Sourire !

      Dans le cas où vous testeriez la source de résultats avec un compte non fédéré, vous obtiendrez le message : « Unauthorized »

       

      Test de la recherche hybride depuis SharePoint 2013

      Avant de pouvoir tester la recherche, il peut être de bon augure de réaliser d’un « crawl » complet des sources de données.

      A partir de l’administration centrale de SharePoint, dans l’administration de la recherche, dans la partie gauche, cliquez sur « Content Sources ».

      Localisez la source de contenu, puis cliquez sur la flèche à droite pour dérouler le menu. Cliquez sur « Start Full Crawl ».

      Une fois le « crawl » terminé, effectuez une recherche avec un compte unifié. Pour faire la recherche, j’ai utilisé le compte unifié HybridFranmer, et j’ai effectué la recherche depuis le centre de recherche (que j’ai créé au préalable depuis l’administration centrale de SharePoint. Plus de détail sur le site TechNet : http://technet.microsoft.com/fr-fr/library/hh582314.aspx)

      Ci-dessous le résultat. Le contenu du SharePoint Online est retourné en haut de la page (voir le paramétrage du «result block » de la « query rule »), et le contenu de SharePoint Server 2013 est retourné en bas de la page.

      Si on effectue la même recherche avec un compte non unifié, la même requête de recherche retourne le résultat suivant (uniquement le contenu sur site de SharePoint 2013)

      Si vous désirez aller plus loin dans la mise en place de scénarios hybrides, vous pouvez continuer la lecture en consultant les liens suivants :

       

       

      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 :

      Jeu : Tentez de gagner votre livre numérique !

      Tentez de gagner votre livre numérique !

      Téléchargez une version d’évaluation gratuite et tentez de gagner votre e-book !

      Un gagnants tous les 10 téléchargements.

      Windows 8, déploiement et migration
      Décelez tout ce qu’il faut savoir sur le déploiement et la migration vers Windows 8.

      clip_image003

      Il est offert en partenariat avec les éditions EYROLLES, tous les 10 téléchargements d’une version d’évaluation gratuite de Windows Server 2012 R2, ou System Center 2012 R2.

    • SharePoint : Mise en place de la recherche hybride (Partie 8)

       
      Les articles précédents présentaient l’étape 1 de la mise en place de la recherche hybride, la configuration de l’authentification des utilisateurs.
      Nous sommes maintenant à l’article 3 de la deuxième étape dans la configuration de l’authentification entre SharePoint Server 2013 et SharePoint Online

      Les articles précédents sont disponibles ci-dessous:

      Etape 1: Configuration de l’authentification des utilisateurs

      Etape 2 : Configuration de l’authentification entre SharePoint Server 2013 et SharePoint Online
      Dans ce billet, nous allons aborder la configuration de l’infrastructure de management d’identité. C’est la partie qui nécessite le plus l’utilisation de script PowerShell. J’ai essayé de détailler le plus possible les différentes étapes avec un maximum de copies d’écran.

      Configuration de l’infrastructure de management d’identité 

      Définition des variables du script de paramétrage

      Dans cette partie nous allons utiliser le script de la fiche technique : http://technet.microsoft.com/en-us/library/dn197169.aspx

      Ci-dessous, la liste des variables utilisées lors du script de configuration de la relation « server-to-server ».

      • $spcn The root domain name of your public domain, such as adventureworks.com. You must supply this value in the command that populates this variable. This value should not be in the form of a URL; it should be the domain name only, with no protocol.
      • $spsite The internal URL of your on-premises primary web application, such as https://sharepoint.adventureworks.com. You must supply this value in the command that populates this variable in the form of a full URL as shown (protocol://name). Ensure that you specify the correct protocol in the URL (either http:// or https://).
      • $site The converted URL of your on-premises primary web application. The command that populates this variable converts the value of the $spsite variable to a format that is used by certain commands.
      • $spoappid The SharePoint Online application principal ID (00000003-0000-0ff1-ce00-000000000000). This is a generic value that identifies the SharePoint Online application principal in the global Office 365 farm.
      • $spocontextID The context ID of your SharePoint Online tenant.
      • $metadataEndpoint The URL that is used by your Windows Azure AD proxy to connect to your Windows Azure AD tenancy.
      Définition des variables

      $spcn="*.<public_root_domain_name>.com"

      $spsite=Get-Spsite <principal_web_application_URL>

      $site=Get-Spsite $spsite

      $spoappid="00000003-0000-0ff1-ce00-000000000000"

      $spocontextID = (Get-MsolCompanyInformation).ObjectID

      $metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $spocontextID + "/metadata/json/1"

      Ci-dessous une copie d’écran pour l’exemple :

      clip_image001

      Téléchargement du certificat STS vers SharePoint Online

      Le script ci-dessous télécharge le certificat se trouvant sur site vers le SharePoint Online :

      $cerPath = "<path to replacement certificate (.cer file)>"

      $cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList $pfxPath, $pfxPass

      $cer.Import($cerPath)

      $binCert = $cer.GetRawCertData()

      $credValue = [System.Convert]::ToBase64String($binCert);

      #La date de début (StartDate) doit être la date du jour. La date de fin (EndDate) doit être la date d'expiration du certificat STS. Date au format Mois/Jour/Année

      New-MsolServicePrincipalCredential -AppPrincipalId $spoappid -Type asymmetric -Usage Verify -Value $credValue -StartDate <start_date. > -EndDate <end_date>

      Ci-dessous, une copie d’écran pour l’exemple :

      clip_image002

      Création d’un SPN pour le nom du domaine public

      Le script ci-dessous va rajouter un « Service Principal Name » (SPN) dans le SharePoint Online

      $msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid

      $spns = $msp.ServicePrincipalNames

      $spns.Add("$spoappid/$spcn")

      Set-MsolServicePrincipal -AppPrincipalId $spoappid -ServicePrincipalNames $spns

      Ci-dessous, une copie d’écran pour l’exemple :

      image

      ATTENTION !!! Notez la différence par rapport à la fiche Technet. Lors de l’exécution de la commande Set-MsolServicePrincipal, j’ai eu une « Unknown error » (pratique pour débugger !! J). J’ai corrigé le problème avec la commande suivante (en fait j’ai tout simplement passer en dur le « Service Principal Name »)

      Set-MsolServicePrincipal -ServicePrincipalNames 00000003-0000-0ff1-ce00-000000000000/*.sharepoint.com -AppPrincipalId $spoappid

      Pour vérification, vous pouvez exécuter les commandes suivantes :

      $msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid

      $spns = $msp.ServicePrincipalNames

      $spns

      En résultat, vous devez avoir un SPN de la forme :

      00000003-0000-0ff1-ce00-000000000000/*.<public domain name>.com

      Ci dessous, une copie d’écran pour l’exemple :

      clip_image005

      Définition de l’application Principale de SharePoint Online

      Cette étape va permettre la liaison entre L’ID de l’application principale de SharePoint Online avec le Service « Application Management » de SharePoint Server 2013.

      $spoappprincipalID = (Get-MsolServicePrincipal -ServicePrincipalName $spoappid).ObjectID

      $sponameidentifier = "$spoappprincipalID@$spocontextID"

      $appPrincipal = Register-SPAppPrincipal -site $site.rootweb -nameIdentifier $sponameidentifier -displayName "SharePoint Online"

      Ci-dessous, une copie d’écran pour l’exemple :

      clip_image006

      Définition du “realm” de SharePoint

      La commande PowerShell ci-dessous va permettre la définition du « Realm » de SharePoint :

      Set-SPAuthenticationRealm -realm $spocontextID

      Ci-dessous, une copie d’écran pour l’exemple :

      clip_image007

      Configuration d’un proxy d’application pour Azure AD

      Enfin, nous allons créer un « Service Application Proxy » pour Windows Azure AD.

      New-SPAzureAccessControlServiceApplicationProxy -Name "ACS" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup

      New-SPTrustedSecurityTokenIssuer -MetadataEndpoint $metadataEndpoint -IsTrustBroker:$true -Name "ACS"

      Ci-dessous, une copie d’écran pour l’exemple :

      clip_image008

      Validation de la création du proxy :

      · Dans l’administration centrale de SharePoint, cloquez sur “Security”

      · Dans la section « General Security » cliquez sur « Manage Trust »

      · Vérifiez qu’une entrée « ACS », ou le nom que vous lui avez donné, existe

      image

       

      Voici le script complet dans mon environnement :

      #region Replace STS Certificate

      Add-PSSnapin Microsoft.SharePoint.Powershell

      $pfxPath = "C:\Temp\franmerPFX.pfx"

      $pfxPass = "Pass@word1"

      $stsCertificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $pfxPath, $pfxPass, 20

      Set-SPSecurityTokenServiceConfig -ImportSigningCertificate $stsCertificate

      certutil -addstore -enterprise -f -v root $stsCertificate

      iisreset

      net stop SPTimerV4

      net start SPTimerV4

      #endregion

      #region Load Modules

      Add-PSSnapin Microsoft.SharePoint.PowerShell

      Import-Module Microsoft.PowerShell.Utility

      Import-Module MSOnline –force

      Import-Module MSOnlineExtended –force

      Import-Module Microsoft.Online.SharePoint.PowerShell -force

      #endregion

      #region log to SharePoint Online

      $cred=Get-Credential

      Connect-MsolService –Credential $cred

      #endregion

      #region Définition des variables

      $spcn="*.SharePoint.com"

      $spsite=Get-Spsite http://ITCampSP1

      $site=Get-Spsite $spsite

      $spoappid="00000003-0000-0ff1-ce00-000000000000"

      $spocontextID = (Get-MsolCompanyInformation).ObjectID

      $metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $spocontextID + "/metadata/json/1"

      #endregion

      #region Upload STS certificate to SP Online

      $cerPath = "C:\Temp\Export_IIS_Franmer.cer"

      $cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList $pfxPath, $pfxPass

      $cer.Import($cerPath)

      $binCert = $cer.GetRawCertData()

      $credValue = [System.Convert]::ToBase64String($binCert);

      #La date de début (StartDate) doit être la date du jour. La date de fin (EndDate) doit être la date d'expiration du certificat STS. Date au format Mois/Jour/Année

      New-MsolServicePrincipalCredential -AppPrincipalId $spoappid -Type asymmetric -Usage Verify -Value $credValue -StartDate 10/23/2013 -EndDate 9/27/2014

      #endregion

      #region Add SPN for the public domain name

      $msp = Get-MsolServicePrincipal -AppPrincipalId $spoappid

      $spns = $msp.ServicePrincipalNames

      $spns.Add("$spoappid/$spcn")

      #Modification par rapport à la fiche technet

      Set-MsolServicePrincipal -ServicePrincipalNames 00000003-0000-0ff1-ce00-000000000000/*.sharepoint.com -AppPrincipalId $spoappid

      #endregion

      #region Register the SharePoint Online application principal

      $spoappprincipalID = (Get-MsolServicePrincipal -ServicePrincipalName $spoappid).ObjectID

      $sponameidentifier = "$spoappprincipalID@$spocontextID"

      $appPrincipal = Register-SPAppPrincipal -site $site.rootweb -nameIdentifier $sponameidentifier -displayName "SharePoint Online"

      #endregion

      #region Set the SharePoint authentication Realm

      Set-SPAuthenticationRealm -realm $spocontextID

      #endregion

      #region Configure On-premises proxy for Azure AD

      New-SPAzureAccessControlServiceApplicationProxy -Name "ACS" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup

      New-SPTrustedSecurityTokenIssuer -MetadataEndpoint $metadataEndpoint -IsTrustBroker:$true -Name "ACS"

      #endregion

      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 :

      Jeu : Tentez de gagner votre livre numérique !

      Tentez de gagner votre livre numérique !

      Téléchargez une version d’évaluation gratuite et tentez de gagner votre e-book !

      Un gagnants tous les 10 téléchargements.

      Windows 8, déploiement et migration
      Décelez tout ce qu’il faut savoir sur le déploiement et la migration vers Windows 8.

      clip_image003

      Il est offert en partenariat avec les éditions EYROLLES, tous les 10 téléchargements d’une version d’évaluation gratuite de Windows Server 2012 R2, ou System Center 2012 R2.

    • SharePoint : Mise en place de la recherche hybride (Partie 7)

       

      Les 5 articles précédents présentaient l’étape 1 de la mise en place de la recherche hybride, la configuration de l’authentification des utilisateurs.
      Nous sommes maintenant à l’article 2 de la deuxième étape dans la configuration de l’authentification entre SharePoint Server 2013 et SharePoint Online

      Les articles précédents sont disponibles ci-dessous:

      Etape 1: Configuration de l’authentification des utilisateurs

      Etape 2 : Configuration de l’authentification entre SharePoint Server 2013 et SharePoint Online
      Dans ce billet, nous allons aborder l’installation des outils pour la configuration de la communication entre SharePoint 2013 et SharePoint Online.

       

      Installation des outils de configuration.

      Sur votre serveur SharePoint 2013, avec les droits d’administrateur local, exécutez les commandes suivantes :

      enable-psremoting

      new-pssession

      une copie d’écran pour l’exemple :

      clip_image001

      Durant l’exécution du script la fenêtre suivante va apparaître. Cliquez sur le bouton « Yes to All ».

      clip_image002

      Puis une autre fenêtre va s’ouvrir, Cliquez sur le bouton « Yes to All ».

      clip_image004

      A la fin de l’exécution du script vous devez avoir le résultat suivant :

      clip_image005

      Ensuite, sur le serveur SharePoint 2013, nous allons installer les outils suivants :

      Exécutez PowerShell ISE en tant qu’administrateur :

      clip_image006

      Puis exécutez les commandes suivantes:

      Add-PSSnapin Microsoft.SharePoint.PowerShell

      Import-Module Microsoft.PowerShell.Utility

      Import-Module MSOnline –force

      Import-Module MSOnlineExtended –force

      Import-Module Microsoft.Online.SharePoint.PowerShell –force

      Ci-dessous une copie d’écran pour l’exemple :

      clip_image007

      Ensuite, exécutez la commande PowerShell suivante pour se connecter à Office 365

      $cred=Get-Credential

      Connect-MsolService –Credential $cred

      clip_image008

      Durant l’exécution du script, une fenêtre apparaît pour demander les informations d’identification sur Office 365 :

      clip_image009

      La suite se trouve 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 :

      Jeu : Tentez de gagner votre livre numérique !

      Tentez de gagner votre livre numérique !

      Téléchargez une version d’évaluation gratuite et tentez de gagner votre e-book !

      Un gagnants tous les 10 téléchargements.

      Windows 8, déploiement et migration
      Décelez tout ce qu’il faut savoir sur le déploiement et la migration vers Windows 8.

      clip_image003

      Il est offert en partenariat avec les éditions EYROLLES, tous les 10 téléchargements d’une version d’évaluation gratuite de Windows Server 2012 R2, ou System Center 2012 R2.

    • SharePoint : Mise en place de la recherche hybride (Partie 6)

      Les 5 articles précédents présentaient l’étape 1 de la mise en place de la recherche hybride, la configuration de l’authentification des utilisateurs.

      Les articles précédents sont disponibles ci-dessous:

      Dans cette nouvelle série, nous allons attaquer l’étape 2.

       

       

      Etape 2 : Configuration de l’authentification entre SharePoint Server 2013 et SharePoint Online

      Maintenant que la gestion des identités a été faîtes, nous allons maintenant configurer l’authentification « server to server » entre SharePoint Server 2013, SharePoint Online et Windows Azure Active Directory.

      Remplacement du certificat STS

      Lors de l’installation de SharePoint, un certificat STS (Security Token Services) est installé par défaut. Nous allons le remplacer par un certificat X.509. Ce certificat peut être soit un certificat auto-signé (pour réaliser des tests) soit un certificat délivré par une autorité publique. Dans cet exemple, nous allons utiliser un certificat délivré par une autorité publique (par Gandi, dans cet exemple)

      Création d’un certificat au format PFX et CER

      Sur l’ordinateur, où le certificat public a été installé durant l’étape 1 (Dans mon cas, le DC), allez dans IIS manager :

      clip_image002

      Puis sélectionnez « Certificate Manager »

      clip_image004

      Depuis le certificat manager, exporter le certificat au format .pfx. Pour cela, il existe plusieurs méthodes :

      Soit un clic droit sur le certificat à exporter et cliquez sur « Export » ; et suivez les instructions.

      clip_image006

      Soit un click droit sur le certificat à exporter et cliquez sur « view » :

      clip_image008

      Dans la fenêtre « Certificate », cliquez sur « Copy to File… »

      clip_image010

      Dans la fenêtre « Certificate Export Wizard », cliquez sur « Next »

      clip_image012

      Sélectionnez « Yes, export the private key » , puis cliquez sur le bouton « Next »

      clip_image014

      Selectionnez « Personnal Information Exchange –PKCS #12(.PFX) », puis cliquez sur le bouton « Next »

      clip_image016

      Sélectionnez « Password », et saisissez un mot de passe, puis cliquez sur le bouton « Next »

      clip_image018

      Définissez le chemin d’exportation, puis cliquez sur le bouton « Next »

      clip_image020

      Dans la fenêtre de résumé, cliquez sur le bouton « Finish »

      clip_image022

      Le certificat est exporté au format .PFX

      clip_image024

      Pour les besoins de la procédure, on aura besoin aussi du certificat au format .cer. Dans mon cas, Gandi ne permet que le téléchargement au format « .crt ».

      En suivant la même méthode que précédemment, il est possible de céer un fichier « .cer » à partir du certificat en .crt.

      clip_image025

      Dans la fenêtre « Export Private Key », sélectionnez « No, do not export the private key ». Puis cliquez sur le bouton « Next ».

      clip_image027

      Sélectionez « Base-64 encoded X.509 (.CER) ». Puis cliquez sur le bouton « Next ».

      clip_image029

      Sélectionnez un chemin d’export du certificat. Puis cliquez sur le bouton « Next ».

      clip_image031

      Dans la fenêtre de résumé, cliquez sur le bouton « Finish »

      clip_image033

      Le certificat est exporté.

      clip_image035

      Nous avons donc les certificat sous un format .pfx et .cer.

      Remplacement du certificat

      Sur tous les serveurs de la ferme SharePoint, exécutez la commande PowerShell suivante :

      $pfxPath = "<path to replacement certificate (.pfx file)>"

      $pfxPass = "<certificate password>"

      $stsCertificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $pfxPath, $pfxPass, 20

      Set-SPSecurityTokenServiceConfig -ImportSigningCertificate $stsCertificate

      certutil -addstore -enterprise -f -v root $STScert

      iisreset

      net stop SPTimerV4

      net start SPTimerV4

      Une copie d’écran pour exemple :

      clip_image037

      En cas d’erreur suivante lors de l’exécution du script :

      Set-SPSecurityTokenServiceConfig : The term 'Set-SPSecurityTokenServiceConfig' is not recognized as the name of a cmdlet, function, script file, or operable program.

      Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

      At line:4 char:1

      + Set-SPSecurityTokenServiceConfig -ImportSigningCertificate $stsCertificate

      + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      + CategoryInfo : ObjectNotFound: (Set-SPSecurityTokenServiceConfig:String) [], CommandNotFoundException

      + FullyQualifiedErrorId : CommandNotFoundException

      Rajoutez la commande :

      Add-PSSnapin Microsoft.SharePoint.Powershell

      Durant l’exécution du script, la fenêtre suivante va apparaître. Cliquez sur le bouton « Yes to All »

      clip_image038

      A la fin du script, vous devez avoir le résultat suivant :

      clip_image040

      Il est possible de vérifier la bonne exécution du script en exécutant la commande suivante :

      $stscertificate |fl

      Vous devez normalement retrouver le « FirendlyName » de votre certificat.

      clip_image042

      La partie 7 se trouve 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 :

      Jeu : Tentez de gagner votre livre numérique !

      Tentez de gagner votre livre numérique !

      Téléchargez une version d’évaluation gratuite et tentez de gagner votre e-book !

      Un gagnants tous les 10 téléchargements.

      Windows 8, déploiement et migration
      Décelez tout ce qu’il faut savoir sur le déploiement et la migration vers Windows 8.

      clip_image003

      Il est offert en partenariat avec les éditions EYROLLES, tous les 10 téléchargements d’une version d’évaluation gratuite de Windows Server 2012 R2, ou System Center 2012 R2.

    • OneDrive et Power BI : Sondage plénière des Techdays

      Durant la plénière du jour 2, j’ai réalisé un rapport sur les données d’un sondage que certains d’entre vous ont sûrement rempli Sourire  (http://aka.ms/J2). Ce sondage a été réalisé avec un outil que vous possédez sûrement déjà : OneDrive (anciennement Skydrive). Ce billet va détailler les étapes de la création du sondage et la récupération des informations dans Excel (avec Power Query, mais ça vous l’avez deviné !)

      Création du sondage

      Connectez-vous à OneDrive. Puis cliquez sur “Créer” et “Enquête Excel

      image

      La fenêtre ci-dessous s’affiche alors. Cette fenêtre est assez intuitive et vous permet de donner un titre et une description à votre sondage puis d’ajouter les questions voulues.

      image

      Pour chaque question, vous pourrez définir le sous-titre ainsi que le type de réponse souhaité. Cliquez sur le bouton “Terminé” pour valider vos modifications.

      image

      Ci-dessous, voici le résultat final du sondage que l’on a créé pour la plénière jour 2 des Techdays :

      image

      Après avoir terminé la création de l’enquête, un fichier Excel après sur votre OneDrive :

      image

      Ce fichier peut être consulté directement depuis le navigateur :

      image

      Votre compte OneDrive (/SkyDrive) peut être synchronisé avec votre poste de travail. Chose que j’ai fait afin de récupérer les données quasiment en temps réel. 

      image

      Récupération des données

      Le fichier Excel se trouve donc physiquement sur mon disque et reste synchronisé avec les nouvelles données venant du sondage. Ceci est fort appréciable car il est possible, très facilement, de récupérer les données avec Power Query.

      image

      Avec Power Query, je récupère le fichier se trouvant dans mon dossier OneDrive (/SkyDrive) :

      image

      Après avoir récupéré les données, Excel me présente un aperçu du résultat :

      image

      En faisant un double clic sur “Enquête1”, Excel bascule dans l’éditeur de requête. Il ne reste plus qu’à mettre en forme les données. Cette partie n’est pas le sujet de ce billet.

      Cependant, en ce qui concerne l’enquête, j’ai du avoir à traiter les entrées “Yes/No” des questions de type “Oui/Non”. Je m’explique, même si vous mettez “Oui/Non” comme valeur lors de la création du sondage, si aucune valeur n’est saisie par l’utilisateur, le formulaire retournera par défaut les valeurs anglaises Triste. Il faut donc traiter ce cas avec Power Query

      image

      Une fois toutes vos transformations réalisées avec Power Query, il ne reste plus qu’à faire le rapport. Ici nous avons opté pour un rapport Power View pour son côté interactif.

      Rapport_Sondage1

      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 et SQL Server 2014 CTP2, 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 :

    • SharePoint : Mise en place de la recherche hybride (Partie 5)

       
      Voici le cinquième article concernant la mise en place de la recherche hybride “One-way outbound” dans SharePoint.

      Les articles précédents sont disponibles ci-dessous:

      Dans cet article, nous allons voir comment configurer la machine virtuelle pour intégrer l’adresse de notre hébergeur et ainsi terminer la fédération.
      Configuration de la machine virtuelle

      Comme mon environnement a été monté dans des machines virtuelles Azure, il est nécessaire, au niveau du DC, d’ouvrir un point de terminaison et de rajouter l’adresse publique de cette machine dans le DNS de mon hébergeur

      Dans le portail Azure, dans la partie gauche, cliquez sur « Virtual machines »

      Sélectionnez la machine virtuelle qui contient le domaine contrôleur et cliquez sur « Dashboard »

      Dans la partie droite, « quick glance » notez l’adresse IP publique de la machine. Dans mon exemple : 137.135.167.160

      image

      En haut de l’écran, cliquez sur le menu « Endpoints»

      Puis cliquez sur le bouton « Add », en bas de l’écran

      image

      Dans la fenêtre « Add Endpoint », sélectionnez « Add standalone endpoint »

      Cliquez sur la flèche se trouvant en bas de la fenêtre

      clip_image008

      Dans le formulaire « Specify the details of the endpoint » :

      • Donnez un nom à votre “endpoint”
      • Définissez le protocole « TCP »
      • Pour « Public port » et « Private Port » entrez la valeur « 443 »
      • Cliquez sur la coche pour valider la création du « endpoint » (Point de terminaison)

      clip_image010

      Ci-dessous une copie d’écran avec le point de terminaison

      clip_image012

      · Au niveau du DNS de votre hébergeur, entrez l’adresse IP publique de votre domaine contrôleur

      · Ci-dessous, une copie d’écran des entrées DNS de mon domaine :

      clip_image014

      La configuration de la fédération est terminée. Maintenant, pour tester l’installation, je me connecte à Office 365 avec un compte synchronisé depuis mon active directory. Dans cet exemple je vais utiliser le compte Hybridfranmer

      clip_image016

      Après avoir saisi le nom de l’utilisateur, au moment de passer à la saisie du mot de passe, je suis redirigé vers mon domaine et mon serveur AD FS pour assurer l’authentification. La fenêtre suivante s’affiche.

      Dans cette fenêtre, je saisi le login et mot de passe comme si je me connectais sur mon domaine interne

      clip_image018

      Après avoir cliquez sur le bouton « Ok », je suis bien connecté au portail Office 365 avec l’utilisateur « HybridFranmer »

      clip_image020

      Configuration des utilisateurs

      Maintenant que la fédération est utilisateurs est configurée, il reste encore à attribuer des licences et des droits aux utilisateurs synchronisés depuis notre active directory.

      · Connectez-vous à Office 365 en tant qu’administrateur et allez dans « Office 365 admin center »

      · Dans la partie gauche, cliquez sur « Users and groups »

      · Cochez la case à gauche de l’utilisateur que vous souhaitez modifier

      · Puis, sur la droite, cliquez sur le petit crayon clip_image022 pour éditer les propriétés de l’utilisateur

      clip_image024

      · Dans la partie gauche, cliquez sur « licences »

      · Attribuez une licence à votre utilisateur

      clip_image026

      · Dans la partie gauche, cliquez sur « settings »

      · Définissez les droits de votre utilisateur

      · Cliquez sur le bouton « Save »

      clip_image028

      Voilà, la première étape, la configuration de l’authentification des utilisateurs est terminée. Maintenant, il faut paramétrer les SharePoint (sur site et Online) afin d’établir une relation de confiance entre les SharePoint.

      Nous allons voir ceci dans le prochain billet: Configuration de l’authentification entre SharePoint Server 2013 et SharePoint Online.  La partie 6 se trouve 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 et SQL Server 2014 CTP2, vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :

      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 et SQL Server 2014 CTP2, 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 :

    • SharePoint : Mise en place de la recherche hybride (Partie 4)

      Voici le quatrième article concernant la mise en place de la recherche hybride “One-way outbound” dans SharePoint.

      Les articles précédents sont disponibles ci-dessous:

      Dans cet article, nous allons traiter de la synchronisation des utilisateurs avec Office 365

       

      Synchronisation des utilisateurs active directory avec Office 365

      Nous allons passer maintenant à l’étape de la synchronisation des utilisateurs entre le domaine sur site et Office 365. A partir du portail d’Office 365 (https://portal.microsoftonline.com).

      Nous allons effectuer les étapes de la synchronisation

      Sur le portail d’Office 365, dans « Office 365 admin center », cliquez sur « users and groups »

      Dans la partie centrale de la fenêtre, au niveau de « Active Directory synchronization » cliquez sur « Set up »

      image

      Les différentes étapes sont listées dans la fenêtre « Set up and manage Active Directory synchronization ». Pour notre exemple, nous pouvons aller directement à l’étape 3

      image

      Au niveau de l’étape 3, cliquez sur le bouton « activate »

      Dans la fenêtre « Do you want to activate Active Directory synchronization? », cliquez sur le bouton « Activate »

      image

      La synchronisation est maintenant activée

      image

      Cette synchronisation peut prendre du temps (entre 2h et 5 jours (si c’est trop long, n’hésitez pas à ouvrir un incident via le portail d’Office 365)). Il est possible de tester la synchronisation avec le script PowerShell ci-dessous :

      Avant d’exécuter le script ; Pensez à installer le module Windows Azure AD

      http://go.microsoft.com/fwlink/p/?linkid=236297

      #Test de la synchronisation AD avec Office 365. False = KO

      $cred = Get-Credential

      Connect-MsolService -Credential $cred

      (Get-MsolCompanyInformation).DirectorySynchronizationEnabled

      image

      · Dans mon cas, la synchronisation s’est faite au bout de 4h.

      · Depuis un autre serveur que le domaine contrôleur, installez l’outil « Microsoft Directory synchronization » : à l’étape 4, cliquez sur le bouton “Download” :

      image

      Après avoir téléchargé l’outil « Microsoft Directory synchronization », installez-le sur un serveur différent du domaine contrôleur

      Après l’installation, exécutez le programme

      Sur la page d’accueil, cliquez sur le bouton « Next »

      image

      Dans la partie “Windows Azure Active Directory Credentials”, renseignez les informations de connexion à office 365

      Cliquez sur le bouton « Next »

      image

      Dans la partie « Active Directory Credentials », renseignez un compte de domaine avec les droits d’administration sur l’active directory

      Cliquez sur le bouton « Next »

      image

      Dans la partie « Hybrid Deployment », cliquez directement sur le bouton « Next »

      image

      Dans la partie, « Password Synchronization », Cliquez sur le bouton « Next » pour commencer la configuration

      image

      · Une fois la configuration terminée, Cliquez sur le bouton « Next »

      image

      Dans la partie « Finished », cliquez sur le bouton « Finish » pour commencer la synchronisation.

      image

      Une fois la synchronisation terminée, la fenêtre suivante apparaît :

      image

      Pour vérifier la synchronisation, confirmez la présence de vos comptes dans l’admin Center d’Office 365

      image

      Mais cette vérification peut aussi se faire avec l’outil « miisclient.exe », qui est installé en même temps de « Dir sync ».

      Cet outil se trouve par défaut C:\Program Files\Windows Azure Active Directory Sync\SYNCBUS\Synchronization Service\UIShell

      image

      Cet outil permet d’obtenir des informations sur la synchronisation, et ce, de manière plus fine qu’une simple vérification de la présence des comptes sur SharePoint Online.

      image

      La suite de la mise en place se trouve 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 et SQL Server 2014 CTP2, 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 :

    • Techdays 2014 : Venus des nuages, les héros de la BI

      Power BI : Venus des nuages, les héros de la BI

      http://www.microsoft.com/france/mstechdays/programmes/2014/fiche-session.aspx?ID=e5fb47bf-e009-4c65-b2c9-7e3120b82f8d

      Bonne année à tous et au plaisir de vous voir lors d’un IT Camp SQL 2014/Power BI ou durant les Techdays!

      Franck Mercier

      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 :

    • Power BI : Data management Gateway et mise à jour des données

       

      Suite à une question de ludo lm concernant mon billet sur la passerelle de Power BI, voici un article expliquant comment faire le “refresh” afin que les données soient persistantes dans le rapport. Et surtout, pour répondre vraiment à la question, pour montrer que les données sont bien stockées directement dans le fichier Excel.

      Connectez vous sur votre site Power BI et ouvrez le fichier que vous souhaitez “rafraichir”. Afin de pouvoir éditer le fichier, cliquez sur le bouton en bas à droite de l’écran. “Voir le classeur en plein écran

      image

      Une fois le fichier ouvert, cliquez sur “Modifier le classeur ” puis sur “Modifier dans Excel Web app

      clip_image004

      Une fois le fichier ouvert en édition, cliquez sur “Données” puis “Actualiser toutes les données

      image

       

      Cliquez sur le bouton “Ok” dans la fenêtre d’avertissement

      clip_image008

      Et hop ! le fichier est à jour.

      clip_image010

      Maintenant, vous pouvez fermer le fichier, voir même le navigateur. Lors de la prochaine ouverture du fichier, les données seront celles du dernier “refresh” car elles sont stockées directement dans le rapport.

      Bonne année à tous et 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 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 :

    • SharePoint : Mise en place de la recherche hybride (Partie 3)

      Voici le troisième article concernant la mise en place de la recherche hybride “One-way outbound” dans SharePoint.

      Les articles précédents sont disponibles ci-dessous:

      Cet article va traiter de l’installation et du paramétrage d’AD FS

      Installation ADFS

      Dans cette partie nous allons installer le rôle AD FS.

      · Sur le domaine contrôleur, cliquez sur le bouton « Server Manager » image :

      · Dans la fenêtre « Server manager », cliquez en haut à droite sur le menu « Manage»

      image

      · Dans la fenêtre « Add Roles and Features Wizard », cliquez sur le bouton « Next »

      image

      · Dans la partie « Installation Type », sélectionnez « Role-based or feature-based installation »

      · Cliquez sur le bouton « Next »

      image

      · Dans la partie « Server Selection », sélectionnez le serveur sur lequel vous souhaitez ajouter le rôle. Dans cet exemple j’ai sélectionné mon domaine contrôleur

      · Cliquez sur le bouton « Next »

      image

      · Dans la partie « Server Roles », cochez la case « Active Directory Federation Services»

      image

      · Juste après avoir coché la case « Active Directory Federation Services », la fenêtre suivante apparaît :

      image

      · Cliquez sur le bouton « Add Features »

      · De retour dans la fenêtre « Add Roles and Features Wizard », cliquez sur le bouton « Next »

      image

      · Dans la partie « Features », cliquez sur le bouton « Next »

      image

      · Dans la partie « AD FS », cliquez sur le bouton « Next »

      image

      · Dans la partie « Role Services », cliquez sur le bouton « Next »

      image

      · Dans la partie « Confirmation », cliquez sur le bouton « Next »

      image

      · Cliquez sur le bouton « Close »

      image

      · Une fois l’installation terminée, si la fenêtre « Server Manager » n’est pas déjà ouverte, cliquez sur le bouton « Server Manager » image :

      · Dans la fenêtre « Server manager », cliquez en haut à droite sur le menu « Tools»

      · Sélectionnez « AD FS Management »

      image

      · Dans la fenêtre AD FS, dans la partie centrale, cliquez sur « AD FS Federation Server Configuration Wizard »

      image

      · La fenêtre « AD FS Federation Server Configuration Wizard » s’ouvre

      · Dans la partie « Welcome », cliquez sur “Create a new Federation Service”

      · Cliquez sur le bouton « Next »

      image

      · Dans la partie « Select Deployment Type », sélectionnez « Stand-alone federation server »

      · Cliquez sur le bouton « Next »

      image

      · Dans la partie « Federation Service Name », vérifiez la présence du certificat le nom du domaine fédéré

      · Cliquez sur le bouton « Next »

      image

      · Dans la partie « Summary », cliquez sur le bouton « Next »

      image

      Dans la partie « Results », à la fin de l’installation, cliquez sur « Close »

      image

      Au niveau de la fenêtre Ad FS, il reste une étape de configuration « Required : Add a trusted relying party ». Cette étape sera réalisée un peu plus tard via un script PowerShell.

      image

      Il est déjà possible de vérifier l’installation en naviguant sur la page : https://<FQDNServer>/FederationMetadata/2007-06/FederationMetadata.xml

      Dans mon exemple FQDNServer = ITCampDC1 : https://ITCampDC1.itcamp.demos.com/FederationMetadata/2007-06/FederationMetadata.xml

      Ci-dessous une copie d’écran du premier résultat. Ignorez le message de sécurité et cliquez sur « Continue to this website (not recommended) »

      image

      Le résultat suivant doit alors apparaître dans le navigateur :

      image

      Rajout de l’UPN dans Office 365

      Après avoir fait les premiers paramétrages dans notre infrastructure se trouvant sur site, nous allons continuer en paramétrant Office 365.

      L’accès au portail Office 365 se fait via l’adresse : https://portal.microsoftonline.com/

      image

      Après s’être connecté en tant qu’administrateur, vous devez arriver dans la fenêtre « Office 365 admin center »

      image

      · Dans la partie gauche, cliquez sur le menu « Domains »

      · Cliquez sur le lien « Add a domain »

      image

      · La fenêtre « Add a domain to Office 365 » apparaît

      · Cliquez sur le bouton « Start step1 »

      image

      · Dans la fenêtre « Add a domain », « provide domain name », entrez votre nom de domaine public

      · Cliquez sur le bouton « Next »

      image

      · Dans la partie « Confirm ownership », sélectionnez votre fournisseur de domaine

      image

      · Si comme dans cet exemple, le fournisseur n’est pas listé, sélectionnez « General instructions »

      · L’interface affiche alors toutes les instructions et information nécessaire pour réaliser les entrées dans le DNS de votre fournisseur

      · Dans cet exemple, mon domaine est hébergé chez Gandi

      · Dans le DNS Gandi, j’ai créé une nouvelle version de la zone DNS afin de pouvoir rajouter l’enregistrement ci-dessous :

      image

      · Après validation, voici une copie d’écran des entrées dans le DNS Gandi :

      image

      · Une fois les modifications faîtes du côté de votre DNS, cliquez sur le bouton « Done, verify now »

      image

      · Vous allez avoir la fenêtre suivante affichant « Verification DNS record not found »

      image

      · Au bout d’un moment (un peu plus d’une heure dans mon cas), la vérification du DNS sera faîte. Et vous pourrez passer à l’étape numéro 2 pour l’ajout des utilisateurs et l’affectation des licences

      · Cliquez sur le lien « Add users and assigne licenses »

      image

      · Sélectionnez « I don’t want to add users right now ». Les utilisateurs seront rajoutés plus tard avec l’outil “DirSync »

      · Cliquez sur le bouton « Next »

      image

      · Cliquez sur le bouton « Start step 3 »

      image

      · Cette étape n’est pas nécessaire mais permet la finalisation de la procédure de connexion du SharePoint Online avec le domaine public

      · Dans la partie « set domain purpose », sélectionnez « SharePoint Online »

      · Cliquez sur le bouton « Next »

      image

      · Suivez les instructions et cliquez sur le bouton « Next »

      image

      · Suivez les instructions et cliquez sur le bouton « Next »

      image

      · Suivez les instructions et cliquez sur le bouton « Next »

      image

      · Suivez les instructions et cliquez sur le bouton « Next »

      image

      · Suivez les instructions et cliquez sur le bouton « Next »

      image

      · Suivez les instructions et cliquez sur le bouton « Next »

      image

      · Dans cette fenêtre, les informations concernant les modifications du DNS sont affichées

      image

      · Ci-dessous, une copie d’écran après ajout dans le DNS de mon domaine public

      image

      · Cliquez sur le bouton « Finish »

      image

      · Le domaine public est maintenant lié à Office 365

      image

      Connexion d’AD FS avec Office 365

      Jusqu’à maintenant, nous avons :

      • Configuré l’UPN au niveau de notre domaine contrôleur
      • Acheté et installé un certificat SSL
      • Installé AD FS
      • Configuré Office 365 pour le lier à notre domaine public

      Dans cette partie de l’article, nous allons configurer AD FS pour fédérer les demandes provenant d’Office 365. Nous aurons besoins des prérequis suivants :

      Connexion Office 365 avec AD FS via PowerShell

      Pour rappel, sur le serveur AD FS, il reste encore une action à réaliser : « Add a trusted relying party », Qui peut être faîte via PowerShell.

      image

      · Dans la barre des tâches, faîtes un clic droit sur l’icône PowerShell image , puis sélectionnez « Run ISE as Administrator »

      image

      · Entrez les commandes suivantes :

      Connexion à Office 365

      Import-Module MSOnline

      Connect-MsolService

      Puis connectez AD FS à Office 365 :

      Set-MsolAdfscontext -Computer <AD FS server>

      Convert-MsolDomainToFederated -DomainName <domain name>

      · Voici la copie d’écran de ma fenêtre PowerShell

      image

      · Le Serveur AD FS est maintenant configuré pour fédérer les demandes de connexion venant d’Office 365.

      · Ci-dessous une copie d’écran de la fenêtre AD FS. La dernière étape de configuration n’est plus présente dans la partie centrale de la fenêtre

      image

      Mise à jour des metadata

      Maintenant, nous allons mettre à jour les metadata. Cette mise à jour est disponible depuis la page suivante : http://gallery.technet.microsoft.com/scriptcenter/Office-365-Federation-27410bdc

      · Téléchargez le script PowerShell et exécutez-le.

      ===============================================================================

      Si vous avez un message disant :

      image

      « File C:\Users\Administrator\Downloads\3_Office 365 Federation Metadata Update Automation Installation\O365-Fed-MetaData-Update-Task-Installation.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.

      + CategoryInfo : SecurityError: (:) [], ParentContainsErrorRecordException

      + FullyQualifiedErrorId : UnauthorizedAccess »

      Dans Winsows PowerShell ISE, recopiez et exécutez la commande suivante:

      • Set-ExecutionPolicy RemoteSigned

      ===============================================================================

      Ci-dessous une copie d’écran de mon ISE

      image

      Lors de l’exécution du script, il vous sera demandé le mot de passe administrateur de votre compte Office 365

      image

      Après avoir cliqué sur le bouton “Ok”, le script PowerShell continue et doit afficher “Success” :

      image

      Puis le script vous demande le mot de passe d’un compte ayant des droits d’administration sur votre domaine sur site.

      image

      Après avoir cliqué sur le bouton “Ok”, le script PowerShell continue et doit afficher “Success” :

      image

      Voilà pour la partie ADFS. La suite dans le prochain article Sourire !

      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 :

    • Vidéo : Posez les bonnes questions à vos rapports avec Power Q&A

      Afin d’illustrer l’article “Power BI : Posez les bonnes questions à vos rapports avec Power Q&A”, voici une vidéo :

      Power Q&A

      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 :