introduction ssis

13
Introduction à SSIS Thibault Denizet

Upload: bachiro27

Post on 04-Jan-2016

65 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introduction SSIS

Introduction à SSIS

Thibault Denizet

Page 2: Introduction SSIS

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

Page 3: Introduction SSIS

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.

Page 4: Introduction SSIS

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.

Page 5: Introduction SSIS

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.

Page 6: Introduction SSIS

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.

Page 7: Introduction SSIS

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.

Page 8: Introduction SSIS

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é.*

Page 9: Introduction SSIS

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.

Page 10: Introduction SSIS

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.

Page 11: Introduction SSIS

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é.

Page 12: Introduction SSIS

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 :

Page 13: Introduction SSIS

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.