Partager via


Packages Integration Services

Un package est une collection organisée de connexions, d'éléments de flux de contrôle, d'éléments de flux de données, de gestionnaires d'événements, de variables et de configurations que vous assemblez à l'aide des outils de conception graphiques de SQL Server Integration Services ou que vous créez via un programme. Après avoir achevé le package, vous l'enregistrez dans SQL Server, dans le magasin de packages SSIS ou dans le système de fichiers. Le package est l'unité de travail qui est extraite, exécutée et enregistrée.

Lorsque vous créez un package, il s'agit d'un objet vide qui ne fait rien. Pour doter un package de fonctionnalités, vous ajoutez à celui-ci un flux de contrôle et, éventuellement un ou plusieurs flux de données.

Le schéma suivant illustre un package simple contenant un flux de contrôle avec une tâche de flux de données, qui contient à son tour un flux de données.

Package avec un flux de contrôle et un flux de données

Après avoir créé le package de base, vous pouvez l'enrichir en y ajoutant des fonctionnalités avancées telles que la journalisation et des variables. Pour plus d'informations, consultez la section relative aux objets qui étendent les fonctionnalités des packages.

Vous pouvez ensuite configurer le package achevé en définissant les propriétés de niveau package qui mettent en œuvre la sécurité, autorisent le redémarrage des packages à partir de points de contrôle ou incorporent des transactions dans le flux de travail des packages. Pour plus d'informations, consultez la section relative aux propriétés qui prennent en charge les fonctionnalités étendues.

Contenu des packages

Un flux de contrôle comprend un ou plusieurs conteneurs ou tâches qui s'exécutent quand le package s'exécute. Pour contrôler l'ordre ou définir les conditions d'exécution des tâches et des conteneurs les uns à la suite des autres dans le flux de contrôle du package, vous utilisez des contraintes de priorité afin de connecter les tâches et les conteneurs dans le package. Un sous-ensemble de tâches et de conteneurs peut également être regroupé et exécuté de façon répétée en tant qu'unité dans le flux de contrôle du package. Pour plus d'informations, consultez Éléments de flux de contrôle et Conception du flux de contrôle d'un package.

Un flux de données comprend les sources et les destinations qui extraient et chargent les données, les transformations qui modifient et étendent les données, ainsi que les chemins qui relient les sources, les transformations et les destinations. Vous ne pouvez ajouter un flux de données à un package que si le flux de contrôle du package comprend une tâche de flux de données. La tâche de flux de données est l'exécutable qui, dans le package SSIS, crée, ordonne et exécute le flux de données. Une instance distincte du moteur de flux de données est ouverte pour chaque tâche de flux de données comprise dans un package. Pour plus d'informations, consultez Tâche de flux de données, Composants des flux de données et Conception du flux de données d'un package.

En règle générale, un package comprend au moins un gestionnaire de connexions. Un gestionnaire de connexions est un lien entre un package et une source de données, qui définit la chaîne de connexion permettant d'accéder aux données utilisées par les tâches, les transformations et les gestionnaires d'événements du package. Integration Services dispose de types de connexion pour des sources de données telles que les fichiers texte et XML, les bases de données relationnelles, et les bases de données et les projets Analysis Services. Pour plus d'informations, consultez Connexions d'Integration Services.

Modèles de packages

Les packages sont fréquemment utilisés comme modèles permettant de générer des packages qui partagent des fonctionnalités de base. Vous construisez le package de base, puis le copiez, ou vous pouvez préciser que le package est un modèle. Par exemple, un package qui télécharge et copie des fichiers, puis extrait les données peut inclure les tâches FTP et de système de fichiers dans une boucle Foreach qui énumère les fichiers dans un dossier. Il peut également inclure des gestionnaires de connexions de fichiers plats pour accéder aux données, ainsi que des sources de fichiers plats pour extraire les données. La destination des données varie, et elle est ajoutée à chaque nouveau package après sa copie à partir du package de base. Vous pouvez également créer des packages, puis les utiliser comme modèles pour les nouveaux packages que vous ajoutez à un projet Integration Services. Pour plus d'informations, consultez Création d'un package dans Business Intelligence Development Studio.

Lors de la création initiale d'un package, par programme ou à l'aide du concepteur SSIS, un GUID est ajouté à sa propriété ID et un nom à sa propriété Name. Si vous créez un nouveau package en copiant un package existant ou en utilisant un modèle de package, le nom et le GUID sont également copiés. Cela peut causer un problème si vous utilisez la journalisation, car le GUID et le nom du package sont écrits dans les journaux pour identifier le package auquel les informations consignées appartiennent. Par conséquent, vous devez mettre à jour le nom et le GUID des nouveaux packages pour les différencier plus facilement du package à partir duquel ils ont été copiés et entre eux dans les données du journal.

Pour modifier le GUID du package, vous régénérez un GUID dans la propriété ID de la fenêtre Propriétés dans Business Intelligence Development Studio. Pour modifier le nom du package, vous pouvez mettre à jour la valeur de la propriété Name dans la fenêtre Propriétés. Vous pouvez également utiliser l'invite de commandes dtutil, ou bien mettre à jour le GUID et le nom par programme. Pour plus d'informations, consultez Définition des propriétés d'un package et Utilitaire dtutil (outil SSIS).

Objets étendant les fonctionnalités des packages

Les packages peuvent comprendre des objets supplémentaires qui offrent des fonctionnalités avancées ou étendent les fonctionnalités existantes, telles que les gestionnaires d'événements, les configurations, la journalisation et les variables.

Gestionnaires d'événements

Un gestionnaire d'événements est un flux de travail qui s'exécute en réponse aux événements déclenchés par un package, une tâche ou un conteneur. Par exemple, vous pouvez utiliser un gestionnaire d'événements pour vérifier l'espace disque lorsqu'un événement se produit avant l'exécution ou si une erreur se produit, et envoyer à un administrateur un message électronique indiquant l'espace disponible ou des informations sur l'erreur. Un gestionnaire d'événements est construit comme un package, avec un flux de contrôle et des flux de données facultatifs. Vous pouvez ajouter des gestionnaires d'événements à des tâches ou à des conteneurs spécifiques dans le package. Pour plus d'informations, consultez Gestionnaires d'événements d'Integration Services et Ajout de gestionnaires d'événements pour un package.

Configurations

Une configuration est un ensemble de paires propriété/valeur qui définit les propriétés du package et ses tâches, conteneurs, variables, connexions et gestionnaires d'événements lorsque le package s'exécute. Les configurations permettent de mettre à jour les propriétés sans modifier le package. Lorsque le package est exécuté, les informations de configuration sont chargées et mettent à jour les valeurs des propriétés. Par exemple, une configuration peut mettre à jour la chaîne de connexion.

La configuration est enregistrée puis déployée avec le package lorsque celui-ci est installé sur un autre ordinateur. Lorsque vous installez le package, vous pouvez mettre à jour les valeurs de la configuration afin qu'il puisse être pris en charge dans un autre environnement. Pour plus d'informations, consultez Création de configurations de package.

Journalisation et modules fournisseurs d'informations

Un journal est une collection d'informations relatives au package, qui sont rassemblées lorsque celui-ci s'exécute. Par exemple, un journal peut indiquer l'heure de début et de fin de l'exécution d'un package. Un module fournisseur d'informations définit le type de destination et le format que le package et ses conteneurs et ses tâches peuvent utiliser pour consigner les informations d'exécution. Les journaux sont associés à un package, mais les tâches et les conteneurs figurant dans le package peuvent consigner des informations dans n'importe quel journal de package. Integration Services comprend une série de modules fournisseurs d'informations intégrés qui facilitent la journalisation. Par exemple, Integration Services comprend des modules fournisseurs d'informations pour les fichiers SQL Server et les fichiers texte. Vous pouvez également créer des modules fournisseurs d'informations personnalisés et les utiliser pour la journalisation. Pour plus d'informations, consultez Modules fournisseurs d'informations d'Integration Services.

Variables

Integration Services prend en charge les variables système et les variables définies par l'utilisateur. Les variables système fournissent des informations utiles sur les objets de package lors de l'exécution, tandis que les variables définies par l'utilisateur prennent en charge des scénarios personnalisés dans les packages. Vous pouvez utiliser les deux types de variables dans les expressions, les scripts et les configurations.

Les variables de niveau package comprennent les variables système prédéfinies disponibles pour un package et les variables définies par l'utilisateur et dont la portée s'étend au package. Pour plus d'informations, consultez Variables Integration Services.

Propriétés de package prenant en charge les fonctionnalités étendues

L'objet de package peut être configuré de manière à prendre en charge des fonctionnalités telles que le redémarrage du package aux points de contrôle, la signature du package avec un certificat numérique, la définition du niveau de protection du package et la sécurisation de l'intégrité des données à l'aide de transactions.

Redémarrage des packages

Le package comprend des propriétés de point de contrôle qui vous permettent de le redémarrer en cas d'échec d'une ou plusieurs de ses tâches. Par exemple, si un package possède deux tâches de flux de données qui mettent à jour deux tables différentes et que la deuxième tâche échoue, le package peut être réexécuté sans qu'il soit nécessaire de répéter la première tâche de flux de données. Le redémarrage d'un package peut être source de gain de temps pour les packages dont l'exécution est longue. La fonctionnalité de redémarrage vous permet de démarrer le package à partir de la tâche défaillante sans devoir réexécuter l'ensemble du package. Pour plus d'informations, consultez Redémarrage de packages ayant échoué à l'aide de points de contrôle.

Sécurisation des packages

Vous pouvez signer un package au moyen d'une signature numérique et le chiffrer à l'aide d'un mot de passe ou d'une clé utilisateur. Une signature numérique authentifie la source du package. Toutefois, vous devez également configurer Integration Services pour vérifier la signature numérique lors du chargement du package. Pour plus d'informations, consultez Utilisation de signatures numériques avec des packages et Définition du niveau de protection des packages.

Prise en charge des transactions

La définition d'un attribut de transaction au package permet d'associer les tâches, les conteneurs et les connexions du package à la transaction. Grâce aux attributs de transaction, le package et ses éléments réussissent ou échouent en tant qu'unité. Les packages peuvent également exécuter d'autres packages et inscrire d'autres packages dans les transactions, ce qui vous permet d'exécuter plusieurs packages en tant qu'unité de travail unique. Pour plus d'informations, consultez Garantie de l'intégrité des données à l'aide de transactions.

Entrées de journal personnalisées disponibles dans le package

Le tableau suivant répertorie les entrées de journal personnalisées pour les packages. Pour plus d'informations, consultez Implémentation de la journalisation dans les packages et Messages personnalisés pour la journalisation.

Entrée du journal

Description

PackageStart

Indique que le package a commencé à s'exécuter.

RemarqueRemarque
Cette entrée de journal est automatiquement écrite au journal. Vous ne pouvez pas l'exclure.

PackageEnd

Indique que le package est terminé.

RemarqueRemarque
Cette entrée de journal est automatiquement écrite au journal. Vous ne pouvez pas l'exclure.

Diagnostic

Donne des informations sur la configuration système qui affecte l'exécution du package, notamment le nombre d'exécutables pouvant s'exécuter simultanément.

Création d'un package

Pour la création des packages, outre le modèle objet SSIS, Integration Services met à votre disposition deux outils graphiques : le concepteur SSIS et l'Assistant Importation et Exportation SQL Server.

Pour plus d'informations sur la création des packages, cliquez sur une rubrique dans la liste suivante :

Configuration du package

Vous pouvez définir les propriétés dans la fenêtre Propriétés de Business Intelligence Development Studio ou par programme.

Pour plus d'informations sur la définition de ces propriétés, cliquez sur la rubrique suivante :

Configuration du package par programme

Pour plus d'informations sur la définition par programme de ces propriétés, cliquez sur la rubrique suivante :

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.