[JSS 2014] Session : L’agilité n’est pas une fatalité

Speaker(s) : Michel Perfetti – Nicholas Suter
Level : 200

Cette session nous présente la méthode Agile comme une révolution qui touche non seulement les différentes entités mais aussi son impact dans le futur.
L’Agilité touche aujourd’hui presque tous les domaines de développement, même la BI n’y échappe pas.
La session a commencé d’abord par plusieurs interrogations légitimes, à savoir :
Si l’Agilité est une révolution pour certains.
Cela implique-t-il qu’il faut outrepasser les Designers et passer directement au code ?
Nous avons vu aussi que l’agilité touche 3 royaumes
Utilisateur : Définit son besoin et attend le résultat
Développeurs : Leur travail est souvent vu de l’extérieur comme une boîte noire.
Opérationnels : Ils attendent surtout des livrables.

En tant que professionnel de la Data il faudra trouver sa place entre ces 3 royaumes.
Les Speakers nous montrent que la vraie révolution sera autour du DevOps.
Car il faudra en finir avec la guerre entre les Devs et les Ops et qu’il faudra un mur de confusion.
D’une part l’équipe de dév qui la plupart des cas est amené à maximiser les changements et d’autres part les équipes Système et Infra qui cherchent le plus souvent à minimiser le changement.

Cette révolution se ressentira à plusieurs niveaux :
– Les individus et leurs interactions
– Les logiciels opérationnels
– La collaboration avec le client
– L’adaptation au changement
– La réduction des Cycles de Livraison
– L’optimisation des ressources
– L’amélioration de la qualité

Et l’agilité dans le futur ?
• Dans un futur assez lointain (10 ans) Nicholas Suter nous promet:
o Des cycles de développement ultra cours
o Des infrastructures différentes
o Des livrables plus petits et plus simples

• Dans les 3 ans l’Agilité aura touché ces domaines:
o Cloud
o Big Data
o Machine Learning

Conclusion :
S’il y avait qu’un seul mot à retenir ce serait « raz de marée ».
Michel Perfetti – Nicholas Suter nous ont montré que l’agilité bouleverse toute l’organisation et en gros c’est quelque chose qu’on subit tous.
Les speakers on finit néanmoins par quelques tips à savoir :
– Déployer en ligne de commande si possible, ce qui permet de confier le déploiement à un Ope par exemple
– Ne pas hésiter à regarder ce qu’il y a sous le capot(le code)
Et je ne peux que confirmer cela pour avoir déjà travaillé en mode Agile sur un projet pendant presque un an.

Cheikh SECK – Consultant décisionnel MCNEXT

70-461: Querying Microsoft SQL Server 2012

Voici un récapitulatif de quelques points à connaitre pour mieux réussir votre certification :

1. Questions XML (4 questions)

C’était parmi les questions qui me faisaient peur vu que nous n’utilisons pas vraiment du XML dans nos missions, mais je vous rassure ce n’est pas aussi difficile que ça, il suffit de connaitre la différence entre :

  • FOR XML RAW
  • FOR XML RAW, Elements
  •  FOR XML AUTO
  •  FOR XML AUTO, Elements
  •  FOR XML PATH

2. Il y a aussi des questions sur l’optimisation, par exemple :

Le temps de traitement est très long, il faut trouver une solution afin de réduire le temps de réponse

3. Il faut connaitre la différence entre :

  • GROUPING SET / ROLLUP/ CUBE
  • Union / union all
  • LAG / LEAD
  • RANK () / DENSE_RANK () / NTILE ()…

4. Autres types de questions

Exemple : vous devez faire un lot de traitement, ils vous décrivent l’attendu de ce traitement et c’est à vous de choisir quel objet il faut utiliser :

  • Scalar user-defined function
  • Inline user-defined function
  • Stored procedure…

Bon courage 🙂

laila

Power Query l’ETL « Power-User » dans l’ombre de SSIS

Power Query l’ETL « Power-User » dans l’ombre de SSIS

Comparatif Power Query / SSIS

Power Query atouts et faiblesses

Initialement lancé sous le nom de Data Explorer, le mini ETL  Power Query de la suite Power BI s’est amélioré et la version actuelle (2.9.3547.162) apporte quelques nouveautés.

Dans le cadre d’un projet Power BI dont les données sont récupérées d’une liste SharePoint, j’ai eu l’occasion d’utiliser ou essayer d’utiliser devrais-je dire, certaines de ces transformations.

La nouvelle version de Power Query propose beaucoup de nouvelles transformations, elles sont principalement accessibles via une fenêtre d’édition de formules d’où un script est généré.

Elles sont classées dans différentes catégories en fonction du type de transformation.

La première chose que nous remarquons, est que cette dernière ne donne pas beaucoup d’options et applique même parfois la transformation avec une valeur par défaut. Je pense à la transformation    Image       qui enlève les doublons en prenant comme référence la première colonne de la table.

Notons au passage que pour chaque transformation, une requête est générée en Langage M.

Du coup pour personnaliser une transformation il faudra être courageux et aller plonger dans la requête susnommée.

 

1)    Power Query : Dans les faits / Dans le M

Les transformations offertes sont multiples et comme annoncé plus haut, chacune d’elle génère du code en langage M.

Prenons comme exemple la transformation Image

Celle-ci permet de séparer une colonne en plusieurs en utilisant un délimiteur spécifique.

Dans notre cas nous utiliserons le caractère « Espace » comme délimiteur pour séparer une colonne (Created By1) contenant le nom et le prénom d’une personne dans deux colonnes distinctes.

Image

Image

Power Query nous propose plusieurs délimiteurs ainsi que la position à prendre en compte.

Image

Au final nous obtenons le résultat attendu d’une manière très simple.

Il faut l’avouer, la mise en œuvre des transformations fait partie des forces de Power Query.

Sauf que pour aller, plus loin il faudra regarder ce qui se cache derrière.

Et derrière se cache une requête écrite en M. En voici l’extrait correspondant à notre requête.

Image

Notons aussi qu’il est possible d’écrire des formules via un assistant, comme dans le cas de la construction d’une nouvelle colonne.

Contrairement à SSIS  avec le « derived column » par exemple où on a une fenêtre proposant la liste des fonctions disponibles avec une petite description, ici aucune aide n’est proposée.

La seule façon d’ajouter une formule ou une expression c’est de connaître celle-ci (un lien décrivant la liste des formules est disponible dans la partie référentielle).

Image

Chose non moins importante concernant la syntaxe des formules : elles sont sensibles à la casse.

Et c’est par un pur hasard que j’ai constaté cela, en essayant de mettre en place une formule avec IF. En mettant les mots clé en majuscules, nous avons une erreur pas très explicite il faut l’avouer.

Image

2)   Comparatif de certains composants entre Power Query et SSIS

Après un rapide tour des différentes transformations proposées dans Power Query, on se rend compte que la plupart de ces transformations sont disponibles dans SSIS mais de façon moins ergonomique.

Je prends comme exemple la transformation Image

Cette dernière est accessible sous SSIS via le composant « Flat File Source ».

De la même manière, la transformation    Image     présente dans l’interface de Power Query est disponible sous Intégration Services via  le composant « Aggregate ». 

En partant de ce constat, on s’aperçoit que Power Query fait abstraction des différents composants de SSIS qu’il faut mettre en place afin d’avoir accès à certaines transformations.

Il met ainsi à disposition ces transformations directement via l’interface.

Ci-dessous nous avons un tableau faisant l’analogie de certaines transformations entre Power Query et SSIS.

POWER QUERY

SSIS

Merge Merge Join
Unpivot Unpivot
Remove Duplicates Sort
Group By Group by (Aggregat)
Use First Row as Headers Column name in the First Data Row (Import Flat File)
Insert Custom Column Derived Column

Remarque :

Ce tableau n’a pas pour objectif l’exhaustivité mais juste pour exemple comparatif de quelques transformations.

3)   Possibilités offertes par Power Query

Les fonctionnalités de Power Query peuvent s’appliquer aussi bien sur les colonnes que sur les lignes d’une table.

Ainsi dans la suite nous classerons ces fonctionnalités en fonction des éléments sur lesquels ils s’appliquent.

a)     Réduction 

Dans cette section on trouve tout ce qui permet d’enlever une partie des lignes ou des colonnes de la table. Cette réduction peut se faire à plusieurs niveaux.

Image

 Image

Supprimer les n premières lignes de la table.

 Image Supprimer les colonnes sélectionnées de l’affichage et empêcher leur utilisation ultérieure.
 Image Supprimer les lignes alternées de la table en commençant par la première ligne à supprimer et en indiquant le nombre de lignes à supprimer et le nombre de lignes à conserver.
 Image Supprimer les lignes contenant des erreurs dans les colonnes actuellement sélectionnées.
 Image Supprimer toutes les lignes de la table dans lesquelles les valeurs dans les colonnes sélectionnées ont un doublon dans les valeurs antérieures. La ligne contenant la première occurrence d’un ensemble de valeurs n’est pas supprimée.
 Image Spécifier le nombre des premières lignes à conserver dans la table.
 Image Spécifier une plage de lignes commençant par une première ligne et incluant le nombre de lignes à conserver dans la table.

                                                                                                 

b)    Transformation

Les transformations disponibles ne sont pas encore nombreuses, mais la section reste prometteuse au vu de la facilité qu’elle apporte.

Image

 Image Une colonne de texte peut être divisée en plusieurs colonnes de deux façons :•            Par délimiteur•            Par nombre de caractères
Image Résumer les données par valeurs de ligne. Par exemple, avec les colonnes État, Ville et Population dans une table, on peut :

  • Effectuer un regroupement selon l’État et calculer le nombre de villes dans chaque État ou la somme de la population des villes pour obtenir la population de chaque État.
  • Effectuer un regroupement selon la ville et dénombrer les instances des noms de ville.
 Image Remplacer un élément dans la colonne par une autre valeur.
 Image
 Image Pour une valeur de texte, modifier le mode d’affichage des valeurs de la colonne :•            Minuscules•            MAJUSCULES•            Mettre en majuscules la première lettre de chaque mot•            SupprEspace•            Nettoyer•            JSON•            XML

Pour une valeur de type Date/heure, modifier le mode d’affichage des valeurs de la colonne :

•            Date

•            Heure

•            Jour

•            Mois

•            Année

•            Jour de la semaine

 Image Les noms d’en-tête de la table sont remplacés par les valeurs des cellules de la première ligne du tableau
 Image Transformer les colonnes sélectionnées en paires attribut-valeur.

c)     Création

Même constat que la section « Transformation », peu fourni, mais un travail agile peut être fait sur les colonnes.

 

Image

 ImageImage Insérer une nouvelle colonne après la dernière colonne de la table. Les valeurs dans la nouvelle colonne sont déterminées en sélectionnant le type de colonne à insérer :•            Personnalisé (vous définissez la formule qui calcule les nouvelles valeurs)•            Index
Image Crée une copie de la colonne sélectionnée à droite de la table. Le nom donné à la nouvelle colonne est Copie de <nom de la colonne>.

 

d)    Combinaison

Power Query permet de créer plusieurs venant de différentes sources, mais offre aussi la possibilité de les combiner afin d’enrichir son jeu de données.

Cette section en est l’illustration parfaite.

Image

Image Dans la grille Aperçu, créer une requête à partir de deux requêtes existantes. Un résultat de requête contient toutes les colonnes d’une table primaire, une colonne servant de colonne unique contenant un lien de navigation vers une table liée. Pour plus d’informations sur la fusion des requêtes.
Image Dans la grille Aperçu, créer une requête qui contient toutes les lignes d’une première requête suivie de toutes les lignes d’une deuxième requête.

4)  Nouveautés Power Query Décembre 2013 (Microsoft)

Beaucoup de nouveautés ont été introduites avec la mise à jour de Décembre.

Ci-dessous la description de ces nouveautés.

  • Power Query peut maintenant se connecter à plus de sources de données comme :
  • Sybase IQ
  • Exchange
  • Dynamics CRM Online
  • Quand vous sélectionnez plusieurs tables dans le panneau de navigation, Power Query détecte automatiquement les relations de base de données.
  • Le remplacement des requêtes partagées a été supprimé.
  • Vous pouvez maintenant partager votre requête à la volée.
  • De nouveaux boutons ont été ajoutés au ruban de l’éditeur de requête, à savoir Fill Down, Sort Ascending/Descending and Number Transformations.

5)   Références

Les Blogs

http://blogs.microsoft.fr/technet/power-query/feed

http://cwebbbi.wordpress.com/category/power-query/

http://devinknightsql.com/category/power-query/

Langage M (MSDN)

http://msdn.microsoft.com/en-us/library/dd285271.aspx

Descriptif des composants de Power Query

http://office.microsoft.com/en-us/excel-help/guide-to-power-query-context-menus-HA103993856.aspx?CTT=5&origin=HA104003813

Power Query UnPivot

http://office.microsoft.com/en-us/excel-help/unpivot-columns-HA104053356.aspx?CTT=5&origin=HA103993856

Power Query Liste des Formules

http://office.microsoft.com/en-us/excel-help/power-query-formula-categories-HA104122363.aspx?CTT=5&origin=HA104003813

Microsoft Power Query Preview for Excel Formula Language Specification

http://go.microsoft.com/fwlink/?LinkID=320633

 

Liste de mots clé  du langage M:

Ce tableau peut être bien utile au moment où on doute de l’existence d’une expression.

Comme le « switch » par exemple …. Il faudra faire sans.

Opérateurs unitaires NOT, IS
Constant expressions ERROR, FALSE, TRUE
Typage #BINARY, #DATE, #DATETIME, #DATETIMEZONE, #DURATION, #INFINITY, #NAN, #SECTIONS, #SHARED, #TABLE, #TIME
Opérateurs binaires AND, OR
Expressions conditionnelles IF, THEN, ELSE
Type assertion AS
Méta données META
Autre EACH, IN, LET, OTHERWISE, SECTION, SHARED, TRY

Cheikh SECK

Tutorial Power Query

Tutorial Power Query

Image

Contexte

L’objectif de ce tutorial est de pouvoir analyser et croiser toutes les informations concernant:

  • La ponctualité des TGV
  • L’information Transilien (les équipements, les services qui sont proposés dans les gares desservies par le Transilien)
  • Le nombre de voyageurs moyen par gare

Maquette

A l’issu de cet atelier nous obtiendrons une maquette semblable à celle ci-dessous :

Image

Dans ce scenario, nous utiliserons plusieurs requêtes(QUERY) afin de charger des données issues de différentes sources (csv, dossier, web) et réaliserons quelques transformations.

NB : toutes les formules utilisées dans ce tutorial sont codées en langage M, spécifique à Power Query.

QUERY 1 (Gare) : Chargement des données à partir d’un fichier csv

Dans cette requête nous utiliserons les transformations suivantes : « Source csv », « Use First Row As Headers », « Custom Colunm », « Replace Values », « data type ».

Pour charger les données à partir d’un fichier csv, je vous invite à suivre les étapes suivantes :

Dans Power Query :

  • Sélectionnez « From File »  ->  « From CSV » dans « Get External Data »
  • Sélectionnez ensuite le fichier  « Liste des gares de voyageurs du RFN avec coordonnées et adresses postales.csv »

Image

  • Activez « Formula Bar »

Image

  • Modifiez la source afin d’avoir un bon format de données en 1252 et un split par « ; » de type = Csv.Document(File.Contents(« C:\Users\Administrator\Documents\Source SNCF\Liste des gares de voyageurs du RFN avec coordonnées et adresses postales.csv »), null, « ; » , null, 1252)

 

cliquez sur « Use First Row As Headers » afin d’utiliser la première ligne comme en-tête.

Image

Pour créer une colonne calculée réalisant une concaténation :

  • Faites clics  droits -> Insert Custom Colunm

Image

  • Saisissez la formule suivante : Text.Combine({« 87 »,[UIC]})  afin de faire une concaténation du « 87 » et le code UIC pour faciliter le merge avec d’autre table

Image

Pour modifier les types de données :

  • Sélectionnez la colonne « Code UIC »  -> « Data Type » et choisissez le type Number

Image

Sur la colonne « Nom de la gare », remplacez le «-» par un espace afin d’améliorer le mapping avec les fichiers de ponctualité. Pour cela :

  • Utilisez « Replace Values » sur la colonne Région, remplacez la valeur « -CA » par «  Cote d’Azur »

Image

  • Validez les transformations et renommez « Query » par « Gare ».

Résultat attendu :

Image

QUERY 2 (Ponctualité) : Chargement des données à partir d’un dossier

Dans cette requête nous utiliserons : « Source dossier », « Split Column », « Use First Row As Headers », « Custom Colunm », « Transform », « data type », « Calcul de Ratio ».

Parmi les avantages de Power Query, il y a la possibilité de charger un dossier sans avoir besoin d’utiliser une boucle :

Dans Power Query :

  • Sélectionnez « From File » -> « From Folder » dans « Get External Data »
  • Sélectionnez ensuite le Dossier  « Source Ponctualite» (A voir avec le formateur pour le chemin).

Image

  • Parcourez le dossier « Source Ponctualite».

Image

  • Cliquez sur les doubles flèches dans la case « Content » afin de regrouper toutes les données des différents fichiers.

Image

Image

Afin de Splitter les différentes colonnes :

  • Cliquez sur « Split Column » -> « By Delimiter »

Image

  • Sélectionnez le « ; » comme  séparateur de colonne

Image

Image

Pour utiliser la première ligne comme en-tête :

  • Cliquez sur « Use First Row As Headers »

Image

  • Faites un filtre sur la colonne « Départ » afin de retirer la valeur « Départ » qui représentait la ligne d’en-tête de chaque fichier.
  • Pour les colonnes « Nb de circulations » et « Nb trains en retard à l’arrivée », remplacez les blancs par 0 (comme dans la QUERY 1) puis changez le format en « Number »
  • Afin de matcher avec la table « Gare », utilisez la fonction « Transform » puis « Capitalize Each Word » sur les colonnes « Départ » et « Arrivée ».

Image

  • Remplacez les « – » par des espaces sur ces deux colonnes.

Pour calculer le ratio du nombre de retards par rapport au nombre de circulations :

  • Insérez une nouvelle colonne
  • Saisissez la formule suivante :

if [Nb de circulations] = 0 then 0 else [# »Nb trains en retard à l’arrivée »]/[Nb de circulations]

Image

  • Renommez cette colonne « Ratio retard » et changez son format en « Number »
  • Validez et renommez la Query « Ponctualité TGV ».

Résultat Attendu :

Image

QUERY 3 (Equipement des gares) : Chargement des données à partir d’une page web

Dans cette requête, nous allons mettre en pratique les composants suivants : « Source web », « Split Column », « Use First Row As Headers », « data type ».

Dans Power Query :

  • Sélectionnez « From Web»

Image

ImageImage

Afin de Splitter les différentes colonnes :

  • Cliquez sur « Split Column » -> « By Delimiter »

Pour utiliser la première ligne comme en-tête :

  • Cliquez sur « Use First Row As Headers »

Faites les transformations qui suivent afin d’améliorer la correspondance avec les autres fichiers

  • Filtrez sur la colonne « Nombre de bornes d’appel » en retirant la valeur « Nombre de bornes d’Appel ».
  • Changez le format de la colonne « Code UIC » et « Nombre de bornes d’appel » en « Number ».
  • Supprimez la colonne « Gare ».
  • Validez et renommez la query « borne ».

Résultat attendu :

Image

QUERY 4 : Chargement des données à partir d’une page web et calcul des ratios

Dans cette requête, nous utiliserons les mêmes composants que dans la précédente mais avec le « Calcul des Ratios » en plus.

Dans Power Query :

  • Sélectionnez « From Web»
  • Rentrez l’adresse suivante :

http://files.transilien.com/hackdays/voyageurs_montant_en_gare.csv

Afin de Splitter les différentes colonnes

  • Cliquez sur « Split Column » -> « By Delimiter »

Pour utiliser la première ligne comme en-tête :

  • Cliquez sur « Use First Row As Headers »
  • Supprimez la colonne « Gare ».

Calcul des ratios :

Pour calculer le ratio permettant d’avoir le nombre de voyageurs minimum avec le code :

  • Insérez une nouvelle colonne
  • Saisissez la formule suivante :

 if [Nombre de voyageurs montant] = « entre  5000 et 15000 » then 5000 else if [Nombre de voyageurs montant] = « entre  1000 et 5000 » then 1000 else  if [Nombre de voyageurs montant] = « entre  300 et 1000 » then 300 else  if [Nombre de voyageurs montant] = « moins de 300 » then 0 else  if [Nombre de voyageurs montant] = « plus de 15000 » then 15000 else  0

  • Faites la même chose  pour la colonne « Nb Voyageurs Max » :

if [Nombre de voyageurs montant] = « entre  5000 et 15000 » then 15000 else if [Nombre de voyageurs montant] = « entre  1000 et 5000 » then 5000 else  if [Nombre de voyageurs montant] = « entre  300 et 1000 » then 1000 else  if [Nombre de voyageurs montant] = « moins de 300 » then 300 else  if [Nombre de voyageurs montant] = « plus de 15000 » then 15000 else  0

  • Idem pour la colonne « Nb Voyageurs Moyen » :

([Nb Voyageurs Min]+[Nb Voyageurs Max])/2

  • Supprimez la colonne « Nombre de voyageurs montant », modifiez le format des colonnes restantes en « Number ».
  • Validez et renommez la Query « Voyageurs ».

Résultat attendu :

Image

QUERY 5 : Chargement des données à partir d’une page web

Dans cette requête nous utiliserons : « Source web », « Use First Row As Headers », « un split par « ; »  », « Filtrer », « Replace Values ».

Dans Power Query :

Modifiez la source afin d’avoir un bon format de données en 1252 et un split par « ; » de type

  • Modifiez le format de la source

=Csv.Document(Web.Contents(« http://files.transilien.com/gare/gare_20120319.csv &raquo;),null, »; »,null,1252)

  • Mettez la première ligne en en-tête avec « Use First Row As Headers ».
  • Pour chaque colonne correspondant à des mesures (exemple : nb d’abris à vélo) ainsi que le code UIC, remplacez les blancs par 0 puis modifiez le format en « Number ». Pour le « CAB Passage Elargi contrôlé », remplacez « Pas de CAB » par 0.
  • Il est possible de filtrer sur la colonne « gare non SNCF » et de ne garder que les 0, c’est-à-dire seulement les gares SNCF.
  • Supprimez alors toutes les colonnes mises à part le code UIC et les mesures.
  •  Validez et renommez la Query « Equipement ».

Résultat attendu :

Image

QUERY 6 : Merge de plusieurs sources

Dans cette requête nous allons faire une jointure entre deux fichiers différents pour cela nous allons utiliser le Merge qui est l’équivalent d’INNER JOIN.

Dans Power Query :

  • Appuyez sur « Merge »  

Image

  • Sélectionnez  la table « Equipement » et le champ « Code UIC complet ».
  • Faites la jointure avec la table « Borne » sur le code UIC en cochant la case « Only include matching rows ».

Une nouvelle Query est créée avec la table « Equipement » contenant une nouvelle colonne « NewColumn ».

  • Appuyez sur Expand
  • Cochez le nombre de bornes d’appel.

Image

  • Une fois la colonne ajoutée, validez.

Résultat attendu :

Image

QUERY 7 : Merge de Query voyageurs avec la Query

Dans cette requête, nous allons faire une jointure entre deux fichiers différents. Pour cela, nous allons utiliser le Merge qui est l’équivalent d’INNER JOIN.

Dans Power Query :

  • Faites une nouvelle jointure « Merge » en sélectionnant la table précédemment créée ainsi que la table « Voyageurs » (toujours sur le code UIC).
  •  Cochez de nouveau la case « Only include matching rows » avant validation.
  • Faites un Expand et cochez le « Nb Voyageurs Min », « Nb Voyageurs Max » et « Nb Voyageurs Moyen ».
  • Validez et renommez la query « Transilien ».

Résultat attendu :

Image

Les « QUERY » sont maintenant créées et peuvent être intégrées au Data Model.

  • Cliquez  sur « Load to Data Model » pour les intégrer  et être utilisées afin de créer des rapports sous PowerView.

Laila TABII

Migration SQL Server 2008 vers 2012

1 : Objectif

Ce document a pour but de définir un mode opératoire pour la migration de SQL Server 2008 vers SQL Server 2012.

Il vise à décrire les étapes à suivre pour la restauration de la base de données, la migration et le déploiement d’une solution SSIS.

2 : Restauration de la base de données

Pour la restauration de la base de données je vous invite à suivre les étapes suivantes :

Etape 1 : Connectez-vous à votre instance SQL Server 2012 via SQL Management Studio.

Image 1 Tutorial Migration SQL Server 2008 vers 2012

Etape 2 : Faites clics  droits sur Bases de données  -> Restaurer la base de données… .

Image 2 Tutorial Migration SQL Server 2008 vers 2012

Etape 3 : A partir de l’unité choisissez la source de données que vous souhaitez restaurer en ajoutant le chemin d’accès du fichier .bak (Dans mon exemple je restaure « MCNEXT_Tests.bak »

Image 3 Tutorial Migration SQL Server 2008 vers 2012

Etape 4 : Après avoir ajouté le fichier « .bak » sélectionnez la base de destination.

Image 4 Tutorial Migration SQL Server 2008 vers 2012

Sélectionner la Base de données ajouté.

Etape 5 : Cliquez sur « ok » pour lancer la restauration.

Etape 6 : Afin de visualiser la base de données cliquez sur Actualisez

3 : Migration des packages  SSIS

Pour la migration d’un package SSIS je vous invite à suivre les étapes suivantes :

Etape 1: Nouveau projet

-> Choisissez ‘Integration Services Project’

Image 5 Tutorial Migration SQL Server 2008 vers 2012

Etape 2 : Sélectionnez la solution SSIS à importer

Image 6 Tutorial Migration SQL Server 2008 vers 2012

Etape 3 : Assistant de conversion

Image 7 Tutorial Migration SQL Server 2008 vers 2012

-> Cliquez sur le bouton Suivant

Etape 4 :  

Image 8 Tutorial Migration SQL Server 2008 vers 2012

-> Cliquez sur le bouton Terminer

Etape 5 : Assistant de mise à niveau de Package SSIS

Image 9 Tutorial Migration SQL Server 2008 vers 2012

-> Cliquez sur le bouton Suivant

Etape 6 :

Image 10 Tutorial Migration SQL Server 2008 vers 2012

-> Sélectionnez le package

Etape 7 :

Image 11 Tutorial Migration SQL Server 2008 vers 2012

-> Sélectionnez : « Update connection strings to use new provider names » et « Continue upgrade process when a package upgrade fails

Etape 8 : Fin de l’assistant

Image 12 Tutorial Migration SQL Server 2008 vers 2012

-> Cliquez sur le bouton Terminer

Etape 9 :

Image 13 Tutorial Migration SQL Server 2008 vers 2012

-> Cliquez sur le bouton Fermer

Etape 10 :

Image 14 Tutorial Migration SQL Server 2008 vers 2012

4 : La conversion en modèle de déploiement de projet

Si vous avez créé le projet sous SQL Server 2012, le projet utilise le modèle de déploiement du projet par défaut sinon dans le cas d’une migration il faut le convertir en modèle de déploiement de projet.

Pour cela je vous invite à suivre les étapes suivantes :

Etape 1 : Faites clics  droits sur la solution SSIS  -> Convertir le projet en modèle de déploiement… .       1

Etape 2 : Assistant Conversion de projet Integration Services

2

-> Cliquez sur le bouton Suivant

 Etape 3 : Définir les options sur la page Sélectionner les package

3

-> Sélectionnez le package

Etape 4 : Définir les options sur la page Spécifier les propriétés du projet

4

-> Indiquez le nom du projet.

-> Sélectionnez le niveau de protection des packages

-> Tapez une description facultative du projet

Etape 5 : Définir les options sur la page Mettre à jour la tâche d’exécution de package

5

-> Cliquez sur le bouton Suivant

Etape 6 : Définir les options sur la page Sélectionner les configurations

6

-> Ajoutez les configurations de package que vous souhaitez remplacer à l’aide de paramètres

7

-> Sélectionnez les configurations de package que vous souhaitez remplacer par des paramètres.

-> Sélectionnez « Remove configurations from all packages after conversion » afin de Supprimer les configurations de tous les packages après la conversion

Etape 7 : Définir les options sur la page Créer des paramètres

8

->Sélectionnez le package.

->Indiquez le nom du paramètre.

->Sélectionnez l’étendue du paramètre, package ou projet.

Etape 8 : Définir les options sur la page Configurer les paramètres

9

->Indiquez le chemin d’accès aux sources de données

Etape 9 :

10

->Cliquez sur le bouton Suivant

Etape 10 : La page Effectuer la conversion indique l’état de la conversion du projet

11

->Cliquez sur le bouton Ferme

5 : Déploiement

Le déploiement est une chose qui a pas mal changé dans SQL Server 2012, un nouveau dossier est apparu dans management studio : « Integration Services Catalogs ».

Ce dossier sera l’endroit où les packages seront déployés et l’endroit où les variables d’environnement seront créées.

12

Avant de pouvoir déployer des projets sur le serveur Integration Services, celui-ci doit contenir le catalogue SSISDB. Le programme d’installation de SQL Server 2012 ne crée pas automatiquement le catalogue vous devez le créer manuellement

Pour cela je vous invite à suivre les étapes suivantes :

Etape 1 : Créer un catalog

13

->Faites clics  droits sur Integration Services Catalogs  -> Créer un Catalog… .

14

->Saisissez un mot de passe

15

Les objets stockés dans le catalogue SSISDB sont les projets, les packages, les paramètres, les environnements et l’historique opérationnel.

Etape 2 : Déployer

16

->Faites clics droits sur la solution SSIS  -> Déployer… .

Etape 3 : Assistant Déploiement d’Integration Services

17

->Cliquez sur le bouton Suivant

Etape 4 : Sélectionner une source

18

->Sélectionnez Fichier de déploiement de projet

->Entrez le chemin d’accès du fichier .ispac

Etape 5 :

19

->Entrez le nom du serveur.

->Sélectionnez la destination du projet.

Etape 6 :

20

->Cliquez sur déployer

Etape 7 : Fin de l’assistant

21

->Cliquez sur Fermer pour quitter l’assistant

La solution SSIS est installée dans le Management Studio

22

L’autre nouveauté de SSIS dans SQL Server 2012 c’est la gestion des environnements, il vous suffit maintenant de créer un environnement dans SSIS pour chaque environnement physique (Dev, Prod…) et d’y attribuer les valeurs correspondantes.

Pour cela je vous invite à suivre les étapes suivantes :

Etape 8 : Faites clics  droits sur le dossier Environnement  -> Créer Environnement… .

0

Etape 9 :

24

->Tapez un nom pour l’environnement

Etape 10 : Faites clics  droits sur Environnement  -> Propriétés… .

25

Etape 11: Dans la page « Variables »

 26

->Choisissez un nom de la variable.

->Sélectionnez le Type de la variable

->Entrez la Valeur de la variable d’environnement.

Etape 12: Dans la page « Permissions »: Vous pouvez accorder ou refusez des autorisations pour les rôles et les utilisateurs.

27

->Cliquez sur ok pour enregistrer les propriétés de l’environnement.

Etape 13 : Dans l’Explorateur d’objets, faites clics  droits sur la solution  -> Configurer… .

28

Etape 14: Dans la page « Références »: procédez comme suit pour ajouter une variable:

29

->Cliquez sur Ajouter pour ajouter un environnement

->Cliquez sur  ok pour enregistrer la référence dans l’environnement.

Etape 15:

Dans l’onglet « Connection Managers » de la page « Paramètre » : Vous pouvez mapper la variable d’environnement à une propriété du gestionnaire de connexions.

30

->cliquez sur le bouton Parcourir en regard du champ Valeur.

->Sélectionnez variable d’environnement.

->Choisissez la variable d’environnement que vous avez créée.

->Cliquez deux fois sur ok pour enregistrer vos modifications.

Etape 16: Faites clics  droits sur le package  -> Exécute… .

31

    32

->Sélectionnez l’environnement.

->Cliquez sur ok pour lancer l’exécution.

Tutorial rédigé par Laila TABII