Download - Introduction SSIS
Introduction à SSIS
Thibault Denizet
Dotnet France Association
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
Dotnet France Association
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.
Dotnet France Association
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.
Dotnet France Association
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 Chargement
Sources des données (fichier plats, OLTP, etc.) 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.
Dotnet France Association
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.
Dotnet France Association
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 sous-
ensembles 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.
Dotnet France Association
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é.*
Dotnet France Association
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.
Dotnet France Association
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.
Dotnet France Association
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é.
Dotnet France Association
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 :
Dotnet France Association
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.