Thibault Denizet Introduction à SSIS
2 SSIS - Introduction Sommaire 1 Introduction à SQL Server 2008 Integration services... 3 2 Rappel sur la Business Intelligence... 4 2.1 ETL (Extract, Transform, Load)... 4 3 L espace de travail d Integration Services... 6 3.1 Créer un projet... 6 3.1.1 L environnement... 7 4 Conclusion... 13
3 SSIS - Introduction 1 Introduction à SQL Server 2008 Integration services Ce cours s adresse aux personnes souhaitant apprendre à mettre en place un ETL (Extract, Transform, Load) ou s informer sur ce sujet à l aide de l outil proposé par Microsoft : Integration Services. Il devrait vous fournir une partie des connaissances nécessaires au passage de la certification MCTS sur la Business Intelligence. Il fait suite au cours SQL Server 2008 Analysis Services, et aborde donc une des deux autres principales fonctions liée à la Business Intelligence : l ETL. La dernière fonctionnalité étant les Reporting services que nous verrons dans le prochain cours. Dans ce chapitre d introduction, nous allons donc voir ce qu est un ETL après un bref rappel sur la Business Intelligence, puis nous détaillerons les éléments de l interface de SQL Server Business Development Studio.
4 SSIS - Introduction 2 Rappel sur la Business Intelligence Avant de commencer, nous allons faire un petit résumé de ce qu est la Business Intelligence, afin que vous ne soyez pas perdu dans la suite du cours. Business Intelligence(BI) peut se traduire par informatique décisionnelle. Elle apporte des aides aux sociétés sur les décisions qu elles ont à prendre. Dans une période telle que la notre où l information est primordiale, la BI fournit un environnement d aide à la décision très efficace si conçu de façon optimale. En effet, des analyses très complexes sur les millions de données d une entreprise permettent d avoir une bonne vision de l évolution de la société, quels marchés ne sont pas rentables, quelles régions sont les plus lucratives, etc. La BI est utile à tous les niveaux d une entreprise, que ce soit le directeur qui doit prendre des décisions mondiales pour son entreprise, ou un sous-chef quelconque qui a besoin de savoir lequel de ses secteurs est le moins rentable. Voici les principales fonctions de la BI : Conception d une base de données de stockage, tel qu un entrepôt de données et/ou des magasins de données. Extraction puis transformation des données de l entreprise provenant des applications et des bases de données transactionnelles vers les destinations créées précédemment. Exploitation de ces données grâce aux reporting services, au datamining, aux outils OLAP, aux tableaux de bord. 2.1 ETL (Extract, Transform, Load) Mais avant de s attaquer à SQL Server Integration Services, il est important de se demander ce qu est un ETL. Et bien, c est un intergiciel (c est-à-dire un logiciel qui interagit entre plusieurs applications) dont la fonction est de déplacer, d épurer, d assembler de grosses quantités de données d une base de données vers une autre. Plus simplement, un ETL est divisé en trois étapes comme son nom le suggère : - Extraire des données d applications et de bases de données de production (Fichier plat, Excel, bases de données transactionnelles, etc.). - Transformer ces données afin de les rassembler sous un même format exploitable par les outils d analyse et de reporting.
5 SSIS - Introduction - Charger ces données rafraichies et nettoyées dans des éléments de stockage permettant une exploitation décisionnelle : entrepôts de données, magasins de données, etc. Transformation Des données Extraction Sources des données (fichier plats, OLTP, etc.) Chargement Entrepôt de données Le schéma ci-dessus représente un processus d ETL, on voit que les données sont extraites des sources, puis transformées et enfin chargées dans une base de données de destination, ici un entrepôt de données. Il faut savoir que l ETL représente plus de 60% de la réalisation d une solution décisionnelle, mais c est également une fonction assez délicate à mettre en place en raison de la grande hétérogénéité des sources de données. SSIS (SQL Server Integration Services) est une fonctionnalité développée par Microsoft pour mettre en place des ETL à l aide d une interface graphique.
6 SSIS - Introduction 3 L espace de travail d Integration Services Dans cette partie, nous allons découvrir l environnement de travail de SSIS. Afin de créer une solution d intégration, vous devez possédez Visual studio et SQL Server 2008 pour avoir accès au Business Intelligence Development Studio. La fonction SQL Server Integration Services n est malheureusement pas disponible avec les versions express. SQL Server 2008 Integration services propose de nombreux éléments facilitant la création d un processus d ETL, automatisé ou non. Nous allons dans cette partie voir l ensemble de ces outils. 3.1 Créer un projet Pour créer un nouveau projet, rien de plus simple, il suffit d aller dans le menu Fichier puis Nouveau > projet. Sélectionnez Business Intelligence puis projet Integration Services. Choisissez un nom et un emplacement pour votre solution. Vous êtes maintenant sur l espace de travail de SSIS que nous allons étudier plus en détail.
7 SSIS - Introduction 3.1.1 L environnement SQL Server 2008 Integration Services dispose de nombreuses fonctionnalités permettant une prise en main intuitive comme nous allons le voir tout de suite. 3.1.1.1 L explorateur de solutions L explorateur de solutions présente l arborescence de votre projet SSIS. Il vous permet ainsi de naviguer facilement au sein de vos solutions. Les sources de données représentent des connexions qui peuvent être utilisées dans plusieurs packages. Les vues de sources de données sont des sousensembles des sources de données, elles peuvent être partagées par plusieurs packages. Les packages SSIS sont tout simplement les packages présents dans votre projet. Le dossier Divers stocke les fichiers tels que les images ou les documents.
8 SSIS - Introduction 3.1.1.2 La Fenêtre propriétés Cette fenêtre contient toutes les caractéristiques techniques de votre package, mais également celles des connexions, des éléments de flux de contrôle/données ainsi que des variables. Pour les propriétés des packages, comme vous pouvez le voir, on retrouve la date de création, l ordinateur de création, ses autorisations, son namespace, etc De plus, on retrouve en bas de la fenêtre, une zone affichant une explication sur la propriété sélectionnée. Nous n allons pas lister les propriétés de chaque élément de SSIS, elles sont assez simples à comprendre. 3.1.1.3 Les onglets et la boîte à outils Comme on le voit sur l image ci-dessous, on dispose de quatre onglets : Flux de contrôles, flux de données, gestionnaires d événements et explorateur de package. La boîte à outils est abordée dans cette partie car elle est intimement liée à ces onglets. En effet, il n existe en fait pas une seule boîte à outils mais trois, une pour chacun des trois premiers onglets. Le dernier, l explorateur de package, permet de naviguer dans le package, de voir le contenu des différents gestionnaires et d accéder aux variables et aux exécutables. Cet onglet ne nécessite donc pas d outil particulier. *Ceci n est qu un extrait de la boîte à outils du flux de contrôle, elle contient de nombreuses autres fonctionnalités en réalité.*
9 SSIS - Introduction Il est temps d étudier plus en profondeur les onglets qui nous aideront grandement à réaliser nos solutions SSIS. 3.1.1.3.1 Flux de contrôle Cet onglet permet de gérer les tâches et les éléments de contrôle que notre package devra exécuter. Elle représente les actions que le packages doit accomplir. La boîte à outils se divise en deux catégories : - Tâche du flux de contrôle : Contient les boucles et les tâches nécessaires à la préparation de la transformation des données. - Tâche du plan de maintenance : Contient les tâches de nettoyage (d historique par exemple), de reconstruction, de réorganisation, de notifications. 3.1.1.3.2 Flux de données C est au niveau de cet onglet que s effectue la sélection des données à transférer, les transformations qu elles vont subir, et leurs destinations, et ce pour chaque tâche de flux de données définie dans l onglet flux de contrôle. La boîte à outils de cet onglet se divise en trois catégories : - Sources de flux de données : Sélectionner les sources des données à déplacer. - Transformation du flux de données : Sélection des transformations que l on va appliquer aux données (Sur notre exemple, un simple tri). - Destination du flux de données : Choisir où les données transformées seront stockées.
10 SSIS - Introduction 3.1.1.3.3 Gestionnaire d événements Lorsque le package s exécute, les éléments qui le contiennent peuvent déclencher des événements. Par exemple, l événement OnError qui se produit lorsqu une erreur apparait, ou encore OnWarning lorsqu un avertissement se produit. On peut par exemple envoyer un mail au responsable lorsqu une tâche ne parvient pas au terme de son exécution. Le gestionnaire d événements permet donc de rendre nos packages plus performants en définissant des actions à accomplir lorsque des événements inattendus se produisent. Les signifient que les caractéristiques des tâches n ont pas encore été définis ou bien qu il y eu une erreur durant la définition des propriétés de la tâche. 3.1.1.3.4 Explorateur de package Cet onglet présente le package sous forme arborescente. Nous verrons plus en détail les sous-dossiers du package dans la suite du cours.
11 SSIS - Introduction 3.1.1.3.5 Résultats d exécution Cet onglet n apparait qu une fois le package exécuté, il répertorie les erreurs, les tâches accomplies ou non, les événements et des informations de bases à propos de l exécution (durée, % d avancement, etc.) 3.1.1.4 Gestionnaire de connexions Les packages créés avec SSIS ont besoin d être connectés à divers éléments pour fonctionner. Etant donné le nombre assez conséquent de telles connexions (banques de données sources, fichiers plats, tableaux Excel, etc.), il est nécessaire d avoir une interface pour les gérer. C est le rôle du Gestionnaire de connexions, comme son nom l indique. *Le gestionnaire de connexions peut gérer de nombreuses connexions, ici des connexions à des fichiers Excel et.txt.* 3.1.1.5 Liste d erreurs et sortie La liste d erreur est, comme vous l avez compris, une liste des erreurs et des avertissements qui sont apparues durant l exécution. Chaque erreur dispose d une description afin de comprendre ce qu il s est passé.
12 SSIS - Introduction La sortie affiche le résultat de l exécution du package. Si des erreurs et/ou des avertissements se sont produits, elle nous indiquera sur quelles tâches cela est arrivé. Si tout se passe bien, elle affichera plutôt quelque chose comme cela :
13 SSIS - Introduction 4 Conclusion Vous connaissez maintenant tout l espace de travail de SSIS, nous allons pouvoir attaquer le second chapitre «Mettre en place une solution SSIS» dans lequel nous allons apprendre à maîtriser Integration Services concrètement.