Partager via


Charger des données dans un pool SQL dédié dans Azure Synapse Analytics avec SQL Server Integration Services (SSIS)

S’applique à :Azure Synapse Analytics

Créez un package SSIS (SQL Server Integration Services) pour charger des données dans un pool SQL dédié dans Azure Synapse Analytics. Vous pouvez éventuellement restructurer, transformer et nettoyer les données qui traversent le flux de données SSIS.

Cet article vous montre comment effectuer les opérations suivantes :

  • Créer un projet Integration Services dans Visual Studio.
  • Concevoir un package SSIS qui charge des données de la source vers la destination.
  • Exécuter le package SSIS pour charger les données.

Concepts de base

Le package est l’unité de travail de base dans SSIS. Les packages associés sont regroupés en projets. Vous créez des projets et concevez des packages dans Visual Studio avec SQL Server Data Tools. Le processus de conception est un processus visuel au cours duquel vous faites glisser et déposez des composants issus de la boîte à outils dans l’aire de conception, les connectez et définissez leurs propriétés. Une fois que vous avez terminé votre package, vous pouvez l’exécuter et éventuellement le déployer sur SQL Server ou SQL Database pour le gérer, le superviser et le sécuriser complètement.

La présentation détaillée de SSIS dépasse le cadre de cet article. Pour en savoir plus, consultez les articles suivants :

Options de chargement de données dans Azure Synapse Analytics avec SSIS

SQL Server Integration Services (SSIS) est un ensemble flexible d’outils qui fournit différentes options de connexion et de chargement de données dans Azure Synapse Analytics.

  1. La méthode recommandée, qui offre des performances optimales, consiste à créer un package qui utilise la tâche de chargement Azure SQL DW pour charger les données. Cette tâche encapsule à la fois les informations sur la source et la destination. Elle suppose que vos données sources sont stockées localement dans des fichiers texte délimité.

  2. Vous pouvez également créer un package qui utilise une tâche de flux de données qui contient une source et une destination. Cette approche accepte un large éventail de sources de données, dont SQL Server et Azure Synapse Analytics.

Conditions préalables requises

Pour exécuter pas à pas ce tutoriel, vous avez besoin des éléments suivants :

  1. SQL Server Integration Services (SSIS) . SSIS est un composant de SQL Server et requiert une version sous licence, ou la version de développeur ou d’évaluation, de SQL Server. Pour obtenir une version d’évaluation de SQL Server, consultez Évaluer SQL Server.

  2. Visual Studio (facultatif). Pour obtenir l’édition Visual Studio Community gratuite, consultez Visual Studio Community. Si vous ne souhaitez pas installer Visual Studio, vous pouvez installer uniquement SSDT (SQL Server Data Tools). SSDT installe une version de Visual Studio avec des fonctionnalités limitées.

  3. SQL Server Data Tools pour Visual Studio (SSDT) . Pour obtenir SQL Server Data Tools pour Visual Studio, consultez Télécharger SQL Server Data Tools (SSDT).

  4. Une base de données Azure Synapse Analytics et des autorisations. Ce tutoriel se connecte à un pool SQL dédié dans l’instance Azure Synapse Analytics et y charge des données. Vous devez disposer des autorisations pour vous connecter, créer une table et charger des données.

Créer un projet Integration Services

  1. Lancez Visual Studio.

  2. Dans le menu Fichier, sélectionnez Nouveau | Projet.

  3. Accédez aux types de projet Installé | Modèles | Business Intelligence | Integration Services.

  4. Sélectionnez Projet Integration Services. Fournissez des valeurs pour Nom et Emplacement, puis sélectionnez OK.

Visual Studio s’ouvre et crée un nouveau projet Integration Services (SSIS). Ensuite, Visual Studio ouvre le concepteur pour le nouveau package SSIS individuel (Package.dtsx) dans le projet. Vous voyez les zones d’écran suivantes :

  • À gauche, la boîte à outils des composants SSIS.

  • Au milieu, l’aire de conception avec plusieurs onglets. Vous utilisez généralement au moins les onglets Flux de contrôle et Flux de données.

  • À droite, les volets Explorateur de solutions et Propriétés.

    Capture d’écran de Visual Studio montrant le volet Boîte à outils, le volet Création, le volet Explorateur de solutions et le volet Propriétés.

Option 1 : Utiliser la tâche de chargement SQL DW

La première approche est un package qui utilise la tâche de chargement SQL DW. Cette tâche encapsule à la fois les informations sur la source et la destination. Elle suppose que vos données sources sont stockées dans des fichiers texte délimité, localement ou dans le stockage Blob Azure.

Prérequis pour l’option 1

Pour continuer le tutoriel avec cette option, vous avez besoin des éléments suivants :

  • Microsoft SQL Server Integration Services Feature Pack pour Azure. La tâche de chargement SQL DW est un composant de Feature Pack.

  • Compte de stockage Blob Azure. La tâche de chargement SQL DW charge des données du Stockage Blob Azure dans Azure Synapse Analytics. Vous pouvez charger des fichiers qui se trouvent déjà dans Stockage Blob ou vous pouvez charger des fichiers à partir de votre ordinateur. Si vous sélectionnez des fichiers sur votre ordinateur, la tâche de chargement SQL DW les charge d’abord sur Stockage Blob pour la mise en lots, puis les charge dans votre pool SQL dédié.

Ajouter et configurer la tâche de chargement SQL DW

  1. Faites glisser une tâche de chargement SQL DW de la boîte à outils jusqu’au centre de l’aire de conception (sous l’onglet Flux de contrôle).

  2. Double-cliquez sur la tâche pour ouvrir l’éditeur de tâche de chargement SQL DW.

    Capture d’écran de la page de l’éditeur de tâche de chargement SQL DW, section Général.

  3. Configurez la tâche en suivant les conseils de l’article Tâche de chargement Azure SQL DW. Comme cette tâche encapsule à la fois les informations sur la source et la destination ainsi que les mappages entre les tables source et de destination, l’éditeur de tâche comporte plusieurs pages de paramètres à configurer.

Créer une solution similaire manuellement

Pour plus de contrôle, vous pouvez créer manuellement un package qui émule le travail effectué par la tâche de chargement SQL DW.

  1. Utilisez la tâche de chargement d'objet blob Azure pour effectuer une copie intermédiaire des données dans Stockage Blob Azure. Pour obtenir la tâche de chargement d’objets blob Azure, téléchargez Microsoft SQL Server Integration Services Feature Pack pour Azure.

  2. Ensuite, utilisez la tâche SSIS d’exécution de requêtes SQL pour lancer un script PolyBase qui charge les données dans votre pool SQL dédié. Pour obtenir un exemple qui charge des données de Stockage Blob Azure dans un pool SQL dédié (mais pas avec SSIS), consultez Tutoriel : Chargement de données dans Azure Synapse Analytics.

Option 2 : Utiliser une source et une destination

La deuxième approche est un package classique qui utilise une tâche de flux de données qui contient une source et une destination. Cette approche accepte un large éventail de sources de données, dont SQL Server et Azure Synapse Analytics.

Ce didacticiel utilise SQL Server comme source de données. SQL Server est exécuté localement ou sur une machine virtuelle Azure.

Pour vous connecter à SQL Server et à un pool SQL dédié, vous pouvez utiliser un gestionnaire de connexions ADO.NET ainsi que la source et la destination, ou un gestionnaire de connexions OLE DB ainsi que la source et la destination. Ce tutoriel utilise ADO.NET, car il présente le moins d’options de configuration. OLE DB peut fournir des performances légèrement meilleures que ADO.NET.

Pour aller plus vite, vous pouvez utiliser l’Assistant Importation et Exportation SQL Server pour créer le package de base. Ensuite, enregistrez le package et ouvrez-le dans Visual Studio ou SSDT pour l’afficher et le personnaliser. Pour plus d’informations, consultez Importer et exporter des données avec l’Assistant Importation et Exportation SQL Server.

Prérequis pour l’option 2

Pour continuer le tutoriel avec cette option, vous avez besoin des éléments suivants :

  1. Exemples de données. Ce tutoriel utilise des exemples de données stockées dans SQL Server, dans la base de données AdventureWorks, en tant que données sources à charger dans un pool SQL dédié. Pour obtenir l’exemple de base de données AdventureWorks, consultez Exemples de bases de données AdventureWorks.

  2. Règle de pare-feu. Vous devez créer une règle de pare-feu sur votre pool SQL dédié avec l’adresse IP de votre ordinateur local pour pouvoir charger des données dans le pool SQL dédié.

Créer le flux de données de base

  1. Faites glisser une tâche de flux de données de la boîte à outils jusqu’au centre de l’aire de conception (dans l’onglet Flux de contrôle).

    capture d’écran de Visual Studio montrant une tâche de flux de données déplacée dans l’onglet Flux de contrôle du volet Création.

  2. Double-cliquez sur la tâche de flux de données pour basculer vers l'onglet Flux de données.

  3. Dans la liste Autres sources, dans la boîte à outils, faites glisser une source ADO.NET jusqu’à l’aire de conception. Lorsque l’adaptateur de source est encore sélectionné, remplacez son nom par Source SQL Server dans le volet Propriétés.

  4. Dans la liste Autres destinations, dans la boîte à outils, faites glisser une destination ADO.NET jusqu’à l’aire de conception sous la source ADO.NET. Lorsque l’adaptateur de destination est encore sélectionné, remplacez son nom par Destination SQL DW dans le volet Propriétés.

    Capture d’écran d’une carte de destination déplacée vers un emplacement directement sous l’adaptateur source.

Configurer l’adaptateur de source

  1. Double-cliquez sur l’adaptateur de source pour ouvrir l’Éditeur de source ADO.NET.

    capture d’écran de l’éditeur de source ADO.NET. L’onglet Gestionnaire de connexions est visible et les contrôles sont disponibles pour la configuration des propriétés de flux de données.

  2. Sous l’onglet gestionnaire de connexions de l’éditeur de source ADO.NET, sélectionnez le bouton Nouveau en regard de la liste ADO.NET gestionnaire de connexions pour ouvrir la boîte de dialogue ADO.NET Configurer ADO.NET Gestionnaire de connexions et créer des paramètres de connexion pour la base de données SQL Server à partir de laquelle ce didacticiel charge les données.

    Capture d’écran de la boîte de dialogue Configurer le Gestionnaire de connexions ADO.NET. Les contrôles sont disponibles pour l'installation et la configuration des gestionnaires de connexions.

  3. Dans la boîte de dialogue Configurer ADO.NET gestionnaire de connexions, sélectionnez le bouton Nouveau pour ouvrir la boîte de dialogue gestionnaire de connexions et créer une connexion de données.

    Capture d’écran de la boîte de dialogue Gestionnaire de connexions. Les contrôles sont disponibles pour la configuration d’une connexion de données.

  4. Dans la boîte de dialogue Gestionnaire de connexions, effectuez les actions suivantes.

    1. Pour Fournisseur, sélectionnez le fournisseur de données SqlClient.

    2. Pour Nom du serveur, entrez le nom du serveur SQL Server.

    3. Dans la section Connexion au serveur, sélectionnez ou entrez les informations d’authentification.

    4. Dans la section Se connecter à une base de données, sélectionnez l’exemple de base de données AdventureWorks.

    5. Sélectionnez Test Connection (Tester la connexion).

      Capture d’écran d’une boîte de dialogue affichant un bouton OK et un texte indiquant que la connexion de test a réussi.

    6. Dans la boîte de dialogue qui signale les résultats du test de connexion, sélectionnez OK pour revenir à la boîte de dialogue gestionnaire de connexions .

    7. Dans la boîte de dialogue gestionnaire de connexions , sélectionnez OK pour revenir à la boîte de dialogue Configurer ADO.NET Gestionnaire de connexions.

  5. Dans la boîte de dialogue Configurer le gestionnaire de connexions ADO.NET , sélectionnez OK pour revenir à l'éditeur de source ADO.NET.

  6. Dans l’Éditeur de source ADO.NET, dans la liste Nom de la table ou de la vue, sélectionnez la table Sales.SalesOrderDetail.

    capture d’écran de l’éditeur de source ADO.NET. Dans le nom de la table ou de la liste d’affichages, la table Sales.SalesOrderDetail est sélectionnée.

  7. Sélectionnez Aperçu pour voir les 200 premières lignes de la table source dans la boîte de dialogue Aperçu des résultats de la requête.

    Capture d’écran de la boîte de dialogue Aperçu des résultats de la requête. Plusieurs lignes de données de vente de la table source sont visibles.

  8. Dans la boîte de dialogue Aperçu des résultats de requête, sélectionnez Fermer pour revenir à l’éditeur de source ADO.NET.

  9. Dans l’éditeur de source ADO.NET, sélectionnez OK pour terminer la configuration de la source de données.

Connecter l’adaptateur de source à l’adaptateur de destination

  1. Sélectionnez l’adaptateur de source dans l’aire de conception.

  2. Sélectionnez la flèche bleue qui s’étend de l’adaptateur de source et faites-la glisser vers l’éditeur de destination jusqu'à ce qu’il s’enclenche.

    Capture d’écran montrant les adaptateurs source et de destination. Une flèche bleue pointe de l’adaptateur source vers l’adaptateur de destination.

    Dans un package SSIS classique, vous utilisez plusieurs autres composants de la boîte à outils SSIS entre la source et la destination pour restructurer, transformer et nettoyer vos données à mesure qu’elles passent par le flux de données SSIS. Pour que cet exemple reste aussi simple que possible, nous connectons directement la source à la destination.

Configurer l’adaptateur de destination

  1. Double-cliquez sur l’adaptateur de destination pour ouvrir l’Éditeur de destination ADO.NET.

    capture d’écran de l’éditeur de destination ADO.NET. L’onglet Gestionnaire de connexions est visible et contient des contrôles pour la configuration des propriétés du flux de données.

  2. Dans l'onglet Gestionnaire de connexions de l'éditeur de destination ADO.NET, sélectionnez le bouton Nouveau à côté de la liste Gestionnaire de connexions pour ouvrir la boîte de dialogue Configurer le gestionnaire de connexions ADO.NET et créer des paramètres de connexion pour la base de données Azure Synapse Analytics dans laquelle ce tutoriel charge des données.

  3. Dans la boîte de dialogue Configurer ADO.NET gestionnaire de connexions, sélectionnez le bouton Nouveau pour ouvrir la boîte de dialogue gestionnaire de connexions et créer une connexion de données.

  4. Dans la boîte de dialogue Gestionnaire de connexions, effectuez les actions suivantes.

    1. Pour Fournisseur, sélectionnez le fournisseur de données SqlClient.

    2. Pour Nom du serveur, entrez le nom du pool SQL dédié.

    3. Dans la section Connexion au serveur, sélectionnez Utiliser l'authentification SQL Server et entrez les informations d’authentification.

    4. Dans la section Se connecter à une base de données, sélectionnez une base de données existante dans le pool SQL dédié.

    5. Sélectionnez Test Connection (Tester la connexion).

    6. Dans la boîte de dialogue qui signale les résultats du test de connexion, sélectionnez OK pour revenir à la boîte de dialogue gestionnaire de connexions .

    7. Dans la boîte de dialogue gestionnaire de connexions , sélectionnez OK pour revenir à la boîte de dialogue Configurer ADO.NET Gestionnaire de connexions.

  5. Dans la boîte de dialogue Configurer ADO.NET gestionnaire de connexions, sélectionnez OK pour revenir à l’éditeur de destination ADO.NET.

  6. Dans l’éditeur de destination ADO.NET, sélectionnez Nouveau en regard de la liste Utiliser une table ou une vue pour ouvrir la boîte de dialogue Créer une table et créer une nouvelle table de destination avec une liste de colonnes qui correspond à celle de la table source.

    Capture d’écran de la boîte de dialogue Créer une table. Le code S Q L pour la création d’une table de destination est visible.

  7. Dans la boîte de dialogue Créer une table, effectuez les actions suivantes.

    1. Remplacez le nom de la table de destination par SalesOrderDetail.

    2. Supprimez la colonne rowguid. Le type de données uniqueidentifier n’est pas pris en charge dans le pool SQL dédié.

    3. Changez le type de données de la colonne LineTotal en spécifiant money. Le type de données décimal n’est pas pris en charge dans le pool SQL dédié. Pour plus d’informations sur les types de données pris en charge, consultez CREATE TABLE (Azure Synapse Analytics, Parallel Data Warehouse).

      Capture d’écran de la boîte de dialogue Créer une table, avec un code pour créer une table nommée SalesOrderDetail avec LineTotal comme colonne monétaire et aucune colonne rowguid.

    4. Sélectionnez ok pour créer la table et revenir à l’éditeur de destination ADO.NET.

  8. Dans l’Éditeur de destination ADO.NET, sélectionnez l’onglet Mappages pour voir comment les colonnes de la source sont mappées aux colonnes de la destination.

    Capture d’écran de l’onglet Mappages de l’éditeur de destination ADO.NET. Les lignes connectent des colonnes avec des noms identiques dans les tables source et de destination.

  9. Sélectionnez OK pour terminer la configuration de la destination.

Exécuter le package pour charger les données

Exécutez le package en sélectionnant le bouton Démarrer dans la barre d’outils ou en sélectionnant l’une des options Exécuter dans le menu Débogage.

Les paragraphes suivants décrivent ce que vous voyez si vous avez créé le package avec la deuxième option décrite dans cet article, autrement dit avec un flux de données qui contient une source et une destination.

À mesure que le package commence à s’exécuter, vous voyez des roues de rotation jaunes pour indiquer l’activité et le nombre de lignes traitées jusqu’à présent.

Capture d’écran montrant les adaptateurs source et de destination avec des roues jaunes et pivotantes sur chaque adaptateur et le texte « 29916 lignes » entre eux.

Une fois que le package a terminé de s'exécuter, vous voyez des coches vertes pour indiquer la réussite et le nombre total de lignes de données chargées de la source vers la destination.

Capture d’écran montrant les adaptateurs source et destination. Des coches vertes apparaissent sur chaque adaptateur, et le texte « 121317 lignes » est entre eux.

Félicitations, vous avez utilisé SQL Server Integration Services pour charger des données dans Azure Synapse Analytics.