SSIS est une plateforme d' intégration de données et de gestion des flux de travail . Elle comprend un outil d'entreposage de données permettant l'extraction, la transformation et le chargement (ETL) des données . Cet outil peut également servir à automatiser la maintenance des bases de données SQL Server et la mise à jour des données des cubes multidimensionnels .
Initialement lancé avec Microsoft SQL Server 2005, SSIS a remplacé Data Transformation Services , une fonctionnalité de SQL Server depuis la version 7.0. Contrairement à DTS, inclus dans toutes les versions, SSIS est uniquement disponible dans les éditions « Standard », « Business Intelligence » et « Enterprise ». Grâce à Microsoft « Visual Studio Dev Essentials », il est désormais possible d'utiliser SSIS avec Visual Studio 2017 gratuitement, à condition que ce soit exclusivement à des fins de développement et d'apprentissage.
L' Assistant Import/Export SSIS permet de créer des packages qui déplacent des données d'une source unique vers une destination sans transformation. Il permet de transférer rapidement des données de différents types de sources vers différents types de destinations, notamment des fichiers texte et d'autres instances SQL Server.Les développeurs chargés de créer ou de maintenir des packages SSIS utilisent un outil de développement visuel basé sur Microsoft Visual Studio, appelé SQL Server Business Intelligence Development Studio (BIDS). Cet outil permet de modifier les packages SSIS à l'aide d'une interface utilisateur intuitive de type « glisser-déposer ». Un environnement de script pour l'écriture de code est également disponible. Un package contient divers éléments qui définissent un flux de travail. Lors de l'exécution du package, l'outil fournit une surveillance en temps réel avec un code couleur. (Remarque : Dans les versions plus récentes de MS SQL Server, BIDS a été remplacé par « SQL Server Data Tools - Business Intelligence » (SSDT-BI). )
- Relations
- Une connexion comprend les informations nécessaires pour se connecter à une source de données particulière. Les tâches peuvent référencer la connexion par son nom, ce qui permet de modifier ou de configurer ses détails lors de l'exécution.
- Gestionnaires d'événements
- Un flux de travail peut être conçu pour gérer un certain nombre d'événements dans les différents contextes où ils peuvent survenir. Ainsi, des tâches peuvent être exécutées en réponse à des événements survenus au sein du package , comme le nettoyage après des erreurs.
- Paramètres (SQL Server 2012 Integration Services)
- Les paramètres permettent d'attribuer des valeurs aux propriétés des packages lors de leur exécution. Il existe des paramètres de projet et des paramètres de package. En général, si vous déployez un package selon le modèle de déploiement par package, il est recommandé d'utiliser des configurations plutôt que des paramètres.
- contraintes de précédence
- Les tâches sont liées par des contraintes de précédence. La contrainte de précédence précédant une tâche donnée doit être satisfaite avant que cette tâche ne s'exécute. L'environnement d'exécution prend en charge l'exécution parallèle des tâches, si leurs contraintes de précédence le permettent. Ces contraintes peuvent également autoriser différents chemins d'exécution selon la réussite ou l'échec des autres tâches. Avec les tâches, les contraintes de précédence constituent le flux de travail du package.
- Tâches
- Une tâche est une unité de travail atomique qui effectue une action. Une vingtaine de tâches sont incluses, allant de la tâche de système de fichiers (qui peut copier ou déplacer des fichiers) à la tâche de transformation des données. Cette dernière copie les données et implémente les fonctionnalités ETL du produit.
- Variables
- Les tâches peuvent faire référence à des variables pour stocker des résultats, prendre des décisions ou modifier leur configuration.
- Intégration de données simplifiée
- SSIS offre une interface visuelle et des composants pré-intégrés pour simplifier l'extraction, la transformation et le chargement des données provenant de diverses sources vers des destinations cibles. Cela réduit le temps et les efforts de développement par rapport à l'écriture de code personnalisé.
Un package peut être enregistré dans un fichier ou dans un espace de noms hiérarchique au sein d'une instance SQL Server. Dans les deux cas, le contenu du package est conservé au format XML .
Une fois la conception terminée, l'outil permet également à l'utilisateur de lancer l'exécution du package. Une fois lancé, le package peut être facilement débogué ou surveillé.
Caractéristiques de la tâche de flux de données

SSIS fournit les transformations intégrées suivantes :
Flou ) rechercheLa transformation de fractionnement conditionnel permet d'acheminer conditionnellement des lignes vers d'autres objets de transformation en fonction d'une condition particulière. Elle est similaire à la if … elseconstruction « » du langage C.