11
SSIS Outils complémentaires Version 1.0 Thibault Denizet

SSIS - Outils complémentaires.pdf

Embed Size (px)

Citation preview

  • SSIS

    Outils complmentaires Version 1.0

    Thibault Denizet

  • Dotnet France Association

    2 Outils complmentaires 09/09/2009

    Sommaire

    1 Introduction ..................................................................................................................................... 3

    2 Transactions .................................................................................................................................... 4

    2.1 Dfinition ................................................................................................................................. 4

    2.2 Configuration ........................................................................................................................... 4

    3 Checkpoints ..................................................................................................................................... 6

    3.1 Dfinition ................................................................................................................................. 6

    3.2 Configuration ........................................................................................................................... 6

    4 Statut du package ............................................................................................................................ 7

    5 Historique ........................................................................................................................................ 8

    5.1 Dfinition ................................................................................................................................. 8

    5.2 Configuration ........................................................................................................................... 8

    6 Gestionnaire dvnements ............................................................................................................ 9

    6.1 Dfinition ................................................................................................................................. 9

    6.2 Configuration ........................................................................................................................... 9

    7 Debugging ...................................................................................................................................... 10

    8 Conclusion ..................................................................................................................................... 11

  • Dotnet France Association

    3 Outils complmentaires 09/09/2009

    1 Introduction Maintenant que nous savons crer des packages grce aux diverses tches du chapitre

    prcdent, nous allons tudier les outils fournis par SSIS pour rendre notre package plus optimis,

    plus fonctionnel et plus autonome. En effet, nous verrons par exemple comment unir les tches de

    notre package grce aux transactions, crer des points de sauvegarde grce aux checkpoints, voir le

    statut de notre package ou encore crer des historiques de lexcution de nos packages. De plus,

    nous allons voir comment grer les erreurs et le debugging.

  • Dotnet France Association

    4 Outils complmentaires 09/09/2009

    2 Transactions

    2.1 Dfinition Les packages de SQL Server Integration Services effectuent des oprations en units atomiques,

    cest--dire, une tche ou une srie de tches est soit russie et affecte les donnes, soit choue et

    renvoie les donnes avant lexcution des tches.

    Lunit de travail qui doit tre excute avec succs afin daffecter les donnes est appele une

    transaction.

    2.2 Configuration Nous pouvons dfinir des transactions sur le package entier ou bien sur nimporte quelle tche

    individuellement. Les transactions dans SSIS utilisent la ressource Miscrosoft Distributed Transaction

    Coordinator (MSDTC). Cette ressource doit tre active pour que les transactions fonctionnent.

    Pour utiliser MSDTC dans SSIS, il nous faut mettre la

    proprit TransactionOption de Supported (Option par

    dfaut) Required.

    De plus, tout service ou programme compatible avec MSDTC

    peut faire parti dune transaction dans SSIS.

    Voici les rgles importantes respecter pour mettre en place des transactions au sein de notre

    package.

    1. Pour activer les transactions, il faut dmarrer MSDTC (msdtc.exe) et le ou les services, tches

    ou programmes doivent tre compatibles avec MSDTC.

    2. Si une srie de tches doit tre excut comme une seule unit, il faut placer les tches dans

    un conteneur de squence et rgler loption TransactionOption Required.

    3. Une tche peut hriter des proprits de transaction de ses parents quand loption

    TransactionOption est mise Supported.

    4. Il est possible dempcher une tche de participer une transaction en mettant loption

    TransactionOption NotSupported.

  • Dotnet France Association

    5 Outils complmentaires 09/09/2009

    5. Si nous dfinissons loption TransactionOption dune boucle Foreach ou dune boucle For

    Required, une nouvelle transaction sera cre pour chaque itration de la boucle.

    6. Les transactions fonctionnent au niveau du flux de contrle mais pas lintrieur du flux de

    donnes. Cela a pour effet que nous pouvons sparer des tches dans le flux de contrle

    mais pas dans le flux de donnes. Soit le processus du flux de donnes entier sera excut

    avec succs soit il sera annul.

  • Dotnet France Association

    6 Outils complmentaires 09/09/2009

    3 Checkpoints

    3.1 Dfinition Parfois il est intressant de redmarrer un package juste avant quil nchoue au lieu de tout

    recommencer au dbut, particulirement lorsque nous travaillons sur des gros projets ayant un

    temps dexcution important. Il est possible davoir cette option en activant les checkpoints au sein

    de notre package.

    3.2 Configuration La premire tape est de permettre notre package dutiliser des checkpoints et la seconde

    tape est de spcifier les tches et les conteneurs o placer les checkpoints.

    Pour activer les checkpoints, il suffit de suivre les tapes suivantes :

    1. Dans notre package, cliquer sur longlet flux de contrle pour obtenir les proprits du

    package en bas droite par dfaut.

    2. Dfinir la proprit SaveCheckpoints au niveau du package True. Cela permet SSIS de

    sauvegarder des checkpoints durant lexcution du package.

    3. Au niveau de la proprit CheckpointFileName, nous devons fournir un chemin daccs valide

    vers un fichier checkpoint. Les packages utilisent des fichiers pour maintenir les informations

    de leur tat. Ainsi si un package choue et redmarre, il peut lire le fichier checkpoint et

    dterminer o il doit reprendre lexcution.

    4. Dfinir la proprit CheckpointUsage IfExists, qui permet au package de savoir quil doit se

    r-excuter depuis le dbut si aucun fichier checkpoint nest prsent et que, dans le cas

    contraire, il doit redmarrer lendroit que lui indique le fichier checkpoint. Si la proprit

    est mise Always, le package ne pourra dmarrer que si un fichier checkpoint est prsent.

    5. Aprs avoir activ les checkpoints, la dernire tape est de placer les checkpoints au sein des

    diverses tches de notre package. Pour faire cela, nous devons mettre la proprit

    FailPackageOnFailure de chaque tche True.

    Une fois que tous ces lments sont configurs, votre package pourra redmarrer depuis le

    checkpoint le plus proche de lerreur.

  • Dotnet France Association

    7 Outils complmentaires 09/09/2009

    4 Statut du package Lors de lexcution de notre package, SSIS rentre dans lenvironnement de dbogage, nous

    pouvons ainsi voir le statut des tches du flux de contrle et du flux de donnes. Dans SSIS, les tches

    apparaissent en diffrentes couleurs selon leurs tats.

    Les lments qui sont en noir nont pas encore t excuts. Les lments qui apparaissent en

    jaune sont en cours dexcution et ceux en rouge sont ceux dont lexcution choue. Enfin, la

    couleur verte des lments correspond la russite.

  • Dotnet France Association

    8 Outils complmentaires 09/09/2009

    5 Historique

    5.1 Dfinition Les informations obtenues dans longlet Progress peuvent tre enregistres dans un fichier

    ou une table afin de crer un historique grce aux fonctionnalits prvues cet effet.

    5.2 Configuration Pour activer lhistorique (aussi appel Journalisation), il faut tout dabord slectionner Logging

    (Enregistrement sur la version franaise) dans le menu SSIS.

    Aprs laffichage de lditeur de journalisation, il nous faut slectionner quelles parties de

    notre package auront un historique. En gnral, nous souhaitons avoir lhistorique de notre package

    entier, nous devrons donc cocher llment tout en haut de larbre de navigation. Mais, nous

    pouvons galement ne slectionner que certains lments.

    Nous devons ensuite choisir la destination des informations de notre historique. Nous avons le

    choix entre Windows Event Log, les fichiers textes, les fichiers XML, les fichiers SQL Server ou encore

    les fichiers SQL Profiler. Il nous faut ensuite crer la connexion vers le bon fichier dans la partie

    Configuration.

    Pour finir, il nous reste slectionner les vnements enregistrer, ci-dessous la liste de ces

    vnements.

    Chaque vnement possde une description, nous ne les dtaillerons donc pas.

  • Dotnet France Association

    9 Outils complmentaires 09/09/2009

    6 Gestionnaire dvnements

    6.1 Dfinition SSIS fournit le moyen de surveiller lexcution et le dclenchement de certains vnements afin

    dexcuter dautres oprations lorsque ces dclenchements arrivent. Par exemple, si une erreur

    apparait, le gestionnaire dvnement Error peut envoyer une alerte ou tenter de fixer lui-mme le

    problme.

    6.2 Configuration Pour ajouter un vnement, il faut aller dans longlet Event Handlers, choisir lexcutable (la

    tche sur laquelle on souhaite appliquer un lvnement) ainsi que lvnement. Il suffit ensuite de

    glisser les tches que lon souhaite utiliser.

    Nous allons prsent dtailler tous les vnements disponibles :

    - OnError : sexcute lorsquune tche ou un conteneur rapporte une erreur.

    - OnExecStatusChanged : sexcute pour toutes les tches ou conteneurs quand le statut

    dexcution du package passe In process, Success ou Failed.

    - OnInformation : sexcute lorsque SSIS envoie des messages dinformation durant

    lexcution dune tche ou dun conteneur.

    - OnPostExecute : sexcute aprs quune tche ou quun conteneur se soit compltement

    excut.

    - OnPostValidate : sexcute aprs quune tche ou quun conteneur ait t valid.

    - OnPreExecute : sexcute juste avant quun conteneur ou quune tche ne soit excut.

    - OnPreValidate : sexcute avant quun conteneur ou quune tche ne soit valid.

    - OnProgress : sexcute quand un message davancement est envoy par SSIS, indiquant

    lavancement de la tche ou du conteneur.

    - OnQueryCancel : est utilis quand une tche Excuter une requte SQL est annule par une

    intervention manuelle, comme un arrt du package.

    - OnTaskFailed : Similaire OnError, mais sexcute quand une tche choue plutt que

    chaque fois quune erreur apparait.

    - OnVariableValueChanged : sexcute quand la valeur dune variable change et pour laquelle

    la proprit RaiseChangeEvent est mise True.

    - OnWarning : sexcute lorsquune tche renvoie un vnement dangereux.

  • Dotnet France Association

    10 Outils complmentaires 09/09/2009

    7 Debugging Le debugging des packages permet de savoir ce quil se passe durant lexcution de notre

    package, ainsi nous pouvons vrifier que tout se droule bien. De plus, nous pouvons implmenter

    des points darrt au sein de notre flux de contrle qui mettront en pause lexcution afin dobserver

    son tat. Pour mettre en place des points darrt, soit nous appuyons sur F9 soit menu Debug>Toggle

    Breakpoint.

    Lors dune pause, il est possible deffectuer des actions telles que voir toutes les variables et la

    statut du package. Pour voir ces informations, il faut slectionner Windows dans le menue Debug

    puis Locals.

  • Dotnet France Association

    11 Outils complmentaires 09/09/2009

    8 Conclusion Vous tes maintenant compltement capable de crer un package fonctionnel rpondant vos

    besoins. Vous devriez pouvoir vous plier toutes les contraintes que vous souhaitez imposer votre

    package. Dans la suite du cours, nous verrons comment grer notre package une fois que celui-ci est

    termin.