Tutoriel SSIS pour débutants : Archistructure, emballages et composants

⚡ Résumé intelligent

SQL Server Integration Services (SSIS) est un composant de Microsoft SQL Server utilisé pour construire des solutions d'intégration de données et de flux de travail, en effectuant des opérations extracintégration, transformation et chargement (ETL) pour déplacer et nettoyer les données entre diverses sources et destinations.

  • (I.e. Moteur ETL : SSIS extracdonnées ts provenant de sources telles que SQL Server, Excel, Oracleet DB2, puis transforme et charge les données dans une destination.
  • 🧠 Flux de contrôle : Le flux de contrôle est le cerveau d'un paquet, ordonnant les conteneurs et les tâches en fonction des contraintes de précédence.
  • ❤ ️ Flux de données: Le flux de données est au cœur de SSIS, déplaçant les lignes à travers les sources, les transformations et les destinations en mémoire.
  • 📦 Paquets: Un package regroupe les tâches qui s'exécutent dans l'ordre et les enregistre sous forme de fichier .dtsx sur SQL Server ou dans le système de fichiers.
  • 🧩 Tâches: Des tâches prédéfinies telles que l'exécution de requêtes SQL, le flux de données, le système de fichiers, le FTP et l'envoi Mail sont configurées par glisser-déposer.
  • | Avantages : SSIS automatise le chargement des données, les nettoie et les normalise, et assure une gestion robuste des erreurs et des événements.

SQL Server Integration Services (SSIS) : architecture, packages, tâches et flux de travail ETL

Qu'est-ce que SSIS ?

SQL Server Integration Services (SSIS) est un composant de Microsoft SQL Server SSIS est un logiciel de base de données permettant d'exécuter un large éventail de tâches de migration de données. Rapide et flexible, il offre une grande flexibilité. entreposage de données outil utilisé pour les données extracintégration, chargement et transformation, comme le nettoyage, l'agrégation et la fusion des données.

Il facilite le transfert de données d'une base de données à une autre. SSIS peut extract données provenant de sources très diverses telles que les bases de données SQL Server, les fichiers Excel, Oracle et les bases de données DB2, et bien plus encore.

SSIS comprend également des outils graphiques et des assistants pour exécuter des fonctions de flux de travail telles que l'envoi de messages électroniques, les opérations FTP et la configuration des sources et destinations de données.

Pourquoi utilisons-nous SSIS ?

Voici les principales raisons d'utiliser l'outil SSIS :

  • SSIS vous aide à fusionner des données provenant de différentes sources de données.
  • Il automatise les fonctions administratives et le chargement des données.
  • Il alimente les data marts et les entrepôts de données.
  • Cela vous aide à nettoyer et à normaliser les données.
  • Elle intègre la BI dans un processus de transformation des données.
  • SSIS contient une interface graphique qui aide les utilisateurs à transformer facilement les données plutôt que d'écrire de grands programmes.
  • Il peut charger des millions de lignes d'une source de données à une autre en quelques minutes seulement.
  • Il identifie, capture et traite les modifications de données.
  • Il coordonne la maintenance, le traitement et l'analyse des données.
  • SSIS élimine le besoin de programmeurs chevronnés.
  • SSIS offre une gestion robuste des erreurs et des événements.

Histoire de SSIS

Avant SSIS, on utilisait SQL Server Data Transformation Services (DTS), qui faisait partie de SQL Server 7 et 2000. Le tableau ci-dessous tracVoici comment chaque version de SQL Server a façonné l'outil :

Version Détails
SQL Server 2005 Le Microsoft L'équipe a décidé de remanier DTS. Cependant, au lieu de mettre à jour DTS, elle a décidé de nommer le produit Integration Services (SSIS).
SQL Server 2008 De nombreuses améliorations de performances ont été apportées à SSIS. De nouvelles sources ont également été introduites.
SQL Server 2012 Il s'agissait de la plus importante mise à jour pour SSIS. Cette version a introduit le modèle de déploiement de projet, permettant de déployer des projets entiers, ainsi que leurs packages, sur un serveur à la place de packages spécifiques.
SQL Server 2014 Dans cette version, peu de changements ont été apportés à SSIS. Cependant, de nouvelles sources et transformations ont été ajoutées, via des téléchargements séparés. CodePlex ou le Feature Pack SQL Server.
SQL Server 2016 Le déploiement incrémentiel de packages a été ajouté, permettant ainsi d'intégrer des packages individuels à un projet existant. Le catalogue SSISDB prend désormais en charge les groupes de disponibilité Always On, les niveaux de journalisation personnalisés et les noms de colonnes d'erreur. Des sources de données cloud et Big Data supplémentaires ont été intégrées. Azure Pack de fonctionnalités.
SQL Server 2017 Introduction de la fonctionnalité Scale Out, qui répartit l'exécution des packages sur plusieurs machines de travail gérées par un seul serveur maître. SSIS pouvait également s'exécuter sous Linux pour la première fois, et les packages pouvaient être déployés sur SSISDB. Azure Base de données SQL et exécutée sur la Azure-Exécution de l'intégration SSIS dans Azure Usine de données.
SQL Server 2019 Une mise à jour discrète axée sur la gestion des fichiers dans le cloud. Les fonctionnalités Flexible File Task et Flexible File Source/Destination ont simplifié le travail avec les fichiers dans le cloud. Azure stockage, y compris les formats Avro, ORC et Parquet (ces derniers nécessitent un Java temps d'exécution).
SQL Server 2022 Pratiquement aucune nouvelle fonctionnalité SSIS. Le moteur a été conservé sans modification. MicrosoftLes investissements de l'entreprise dans l'intégration des données se sont orientés vers Azure Data Factory et, plus tard, Microsoft En tissu.
SQL Server 2025 Sorti à Microsoft Lancement prévu en novembre 2025. La principale nouveauté est un gestionnaire de connexions ADO.NET basé sur une architecture moderne. MicrosoftFournisseur .Data.SqlClient, prenant en charge TLS 1.3 et Microsoft Authentification par identifiant Entra. Cette version supprime ou rend obsolètes de nombreux éléments : les composants Attunity CDC, les tâches Hadoop, le magasin de packages SSIS, l’ancien service Integration Services et le mode d’exécution 32 bits.

Principales caractéristiques de SSIS

Voici quelques fonctionnalités importantes de SSIS :

  • Environnements de studio
  • Fonctions d'intégration de données pertinentes
  • Vitesse de mise en œuvre effective
  • Intégration étroite avec les autres Microsoft Famille SQL
  • Transformation des requêtes d'exploration de données
  • Recherche floue et groupeping transformations
  • Ex-termetractransformations tion et recherche de termes
  • Des composants de connectivité de données à haut débit, tels que la connectivité à SAP or Oracle

SSIS Architecture

Le schéma ci-dessous montre comment les principaux composants SSIS s'articulent, du flux de contrôle jusqu'aux paramètres :

Diagramme d'architecture SSIS : flux de contrôle, flux de données, gestionnaire d'événements, explorateur de packages et paramètres

Voici les composants de l'architecture SSIS :

  • Flux de contrôle (stocke les conteneurs et les tâches)
  • Flux de données (source, destination, transformations)
  • Gestionnaire d'événements (envoi de messages, courriels)
  • Explorateur de paquets (offre une vue unique de tout le contenu du paquet)
  • Paramètres (interaction utilisateur)

Examinons chaque composant en détail :

1. Flux de contrôle

Le flux de contrôle est l'élément central d'un package SSIS. Il permet d'organiser l'ordre d'exécution de tous ses composants. Ces composants contiennent des conteneurs et des tâches, gérés par des contraintes de précédence.

2. Contraintes de préséance

Les contraintes de précédence sont des composants de package qui déterminent l'ordre d'exécution des tâches. Elles définissent également le flux de travail de l'ensemble du package SSIS. Une contrainte de précédence contrôle l'exécution de deux tâches liées en exécutant la tâche de destination en fonction du résultat de la tâche précédente — des règles métier définies à l'aide d'expressions spécifiques.

3. Tâche

Une « tâche » est une unité de travail individuelle. Elle correspond à une méthode ou une fonction utilisée dans un langage de programmation. Cependant, dans SSIS, vous n'utilisez pas de code. Vous configurez les tâches par simple glisser-déposer sur l'interface de conception.

4. Les conteneurs

Un conteneur est une unité de mesure pour les groupesping Les tâches sont regroupées en unités de travail. Outre une meilleure cohérence visuelle, cela permet également de déclarer les variables et les gestionnaires d'événements qui doivent être limités à la portée de ce conteneur spécifique.

Les trois types de conteneurs dans SSIS sont :

  • Conteneur de séquence
  • Conteneur de boucle For
  • Conteneur de boucle Foreach

Conteneur de séquence : permet d'organiser les tâches secondaires par groupeping et vous permet d'appliquer des transactions ou d'assigner la journalisation au conteneur.

Conteneur de boucle For : Il offre les mêmes fonctionnalités que le conteneur de séquence, à la différence qu'il permet également d'exécuter les tâches plusieurs fois. Cependant, il repose sur une condition d'évaluation, comme le looping de à 1 100.

Conteneur de boucle Foreach : permet également d'aller aux toilettespingLa différence réside dans le fait qu'au lieu d'utiliser une expression conditionnelle, looping Cela se fait sur un ensemble d'objets, comme les fichiers d'un dossier.

5. Flux de données

L'utilisation principale de l'outil SSIS est d'extracLes données sont chargées dans la mémoire du serveur, transformées, puis écrites vers une autre destination. Si le flux de contrôle est le cerveau, le flux de données est le cœur de SSIS.

6. Forfaits SSIS

Un autre élément essentiel de SSIS est la notion de package. Il s'agit d'un ensemble de tâches qui s'exécutent de manière séquentielle. Les contraintes de précédence permettent de gérer l'ordre d'exécution de ces tâches.

Un package peut enregistrer des fichiers sur un serveur SQL, dans la base de données msdb ou le catalogue de packages. Il peut être enregistré au format .dtsx, un fichier structuré de manière très similaire aux fichiers .rdl. Services de rapportsL'illustration ci-dessous montre un package SSIS enregistré au format .dtsx :

Le package SSIS est enregistré sous forme de fichier .dtsx et stocké sur SQL Server ou sur le système de fichiers.

7. Paramètres

Les paramètres se comportent comme des variables, à quelques exceptions près. Un paramètre peut être facilement défini en dehors du package. Il peut être désigné comme une valeur obligatoire pour que le package démarre.

Types de tâches SSIS

Dans l'outil SSIS, vous pouvez ajouter une tâche au flux de contrôle. Il existe différents types de tâches qui effectuent diverses opérations. Voici quelques tâches SSIS importantes :

Nom de la tâche Description
Exécuter la tâche SQL Comme son nom l'indique, il exécute une requête SQL sur une base de données relationnelle.
Tâche de flux de données Cette tâche peut lire des données provenant d'une ou plusieurs sources, transformer ces données pendant qu'elles sont en mémoire, et les écrire vers une ou plusieurs destinations.
Tâche de traitement Analysis Services Utilisez cette tâche pour traiter les objets d'un modèle tabulaire ou d'un cube SSAS.
Exécuter la tâche du package Vous pouvez utiliser cette tâche SSIS pour exécuter d'autres packages au sein du même projet.
Exécuter la tâche de processus Cette tâche vous permet de spécifier les paramètres de ligne de commande.
Tâche du système de fichiers Il permet d'effectuer des manipulations dans le système de fichiers, comme le déplacement, le renommage et la suppression de fichiers, ainsi que la création de répertoires.
Tâche FTP Il vous permet d'exécuter les fonctionnalités FTP de base.
Tâche de script Il s'agit d'une tâche vierge. Vous pouvez écrire du code .NET qui effectue n'importe quelle tâche.
Envoyer Mail Tâche Vous pouvez envoyer un courriel pour informer les utilisateurs que votre colis est terminé ou qu'une erreur s'est produite.
Tâche d'insertion en masse Vous pouvez charger des données dans une table en utilisant la commande d'insertion en masse.
Tâche de script Exécute un ensemble de VB.NET ou du code C# à l'intérieur d'un Visual Studio sûr et sécurisé.
Tâche de service Web Il exécute une méthode sur un service Web.
Tâche d'observateur d'événements WMI Cette tâche permet au package SSIS d'attendre et de répondre à certains événements WMI.
Tâche XML Cette tâche vous permet de fusionner, de diviser ou de reformater n'importe quel fichier XML.

Autres outils ETL importants

SSIS est l'un des nombreux extracPlateformes t-transform-load. Parmi les autres outils ETL importants, on peut citer :

  • SAP Services de données
  • Gestion des données SAS
  • Oracle Constructeur d'entrepôt (OWB)
  • PowerCenter Informatique
  • IBM Serveur d'informations InfoSphere
  • Répertoire Elixir pour les données ETL
  • Flux de données Sagent

Avantages de l'utilisation de SSIS

L'outil SSIS offre les avantages suivants :

  • Documentation et assistance étendues
  • Facilité et rapidité de mise en œuvre
  • Intégration étroite avec SQL Server et Visual Studio
  • Intégration de données standardisée
  • Offre des fonctionnalités en temps réel basées sur des messages
  • Soutien à un modèle de distribution
  • Permet de supprimer le réseau comme goulot d'étranglement pour l'insertion de données par SSIS dans SQL Server.
  • Permet d'utiliser la destination SQL Server au lieu d'OLE DB pour charger les données plus rapidement.

Inconvénients du SSIS

Voici quelques inconvénients liés à l'utilisation de l'outil SSIS :

  • Cela crée parfois des problèmes dans les non-Windows environnements.
  • Vision et stratégie floues.
  • SSIS ne prend pas en charge les styles d'intégration de données alternatifs.
  • Intégration problématique avec certains autres produits.

Exemple de meilleures pratiques SSIS

L'application de quelques bonnes pratiques permet de maintenir des packages SSIS rapides et faciles à maintenir :

  • SSIS est un pipeline en mémoire, il est donc important de s'assurer que toutes les transformations s'effectuent en mémoire.
  • Essayez de minimiser les opérations enregistrées.
  • Planifiez vos capacités en comprenant l'utilisation des ressources.
  • Optimisez la transformation de recherche SQL, la source de données et la destination.
  • Planifiez et répartissez-le correctement.

FAQ

ETL signifie Extract, Transform, Charger. SSIS extracdonnées ts provenant de sources telles que SQL Server, Excel ou Oracle, le transforme en mémoire en le nettoyant et en le fusionnant, puis charge le résultat dans une base de données ou un fichier de destination.

SSIS est un outil ETL local installé avec SQL Server qui transforme les données en mémoire. Azure Data Factory est un service d'intégration de données cloud qui orchestre les pipelines et privilégie l'ELT. Les packages SSIS existants peuvent également s'exécuter dans Azure via l'environnement d'exécution d'intégration SSIS.

Un fichier .dtsx est le fichier XML sous lequel un package SSIS est enregistré. Il contient les tâches du package, le flux de contrôle, le flux de données et les connexions, et peut être déployé sur SQL Server, la base de données msdb ou le système de fichiers.

Les packages SSIS sont créés dans SQL Server Data Tools (SSDT), une extension de Visual StudioIl offre un concepteur par glisser-déposer pour le flux de contrôle et le flux de données, ce qui permet de s'affranchir de la plupart des tâches nécessitant l'écriture de code à la main.

Oui. SSIS est toujours inclus dans les versions modernes de SQL Server et reste un outil ETL sur site largement utilisé. Les équipes exécutent également des packages existants dans le cloud via SSIS. Azure-Environnement d'exécution d'intégration SSIS, pour que cette compétence reste pertinente.

Ces trois services sont des services SQL Server. SSIS gère l'intégration des données et l'ETL. SSRS SSAS génère des rapports et fournit des cubes OLAP et des analyses. Ils sont fréquemment utilisés ensemble. Microsoft Suite logicielle de veille stratégique.

L'IA et l'apprentissage automatique aident les pipelines ETL à détecter automatiquement les problèmes de qualité des données et à suggérer un chemin source-destination.pingSSIS inclut des fonctionnalités telles que la correspondance floue de puissance et la détection d'anomalies. Les équipes ajoutent ces fonctionnalités via des tâches de script ou en appelant des services d'IA externes lors du flux de données.

Oui. Copilote GitHub peut rédiger le code VB.NET ou C# dans une tâche de script SSIS, ainsi que du SQL pour les tâches d'exécution SQL. RevExaminez chaque suggestion avant de l'exécuter dans votre package.

Résumez cet article avec :