Partager via


Gestionnaire de connexions OLEDB

S’applique à : SQL Server SSIS Integration Runtime dans Azure Data Factory

Un gestionnaire de connexions OLEDB permet à un package de se connecter à une source de données à l’aide d’un fournisseur OLEDB. Par exemple, un gestionnaire de connexions OLEDB qui se connecte à SQL Server peut utiliser le fournisseur Microsoft OLEDB pour SQL Server.

Notes

Le fournisseur OLEDB SQL Server Native Client 11.0 ne prend pas en charge les mots clés de la nouvelle chaîne de connexion (MultiSubnetFailover=True) pour le clustering de basculement de sous-réseaux multiples. Pour plus d’informations, consultez les Notes de publication pour SQL Server.

Notes

Si la source de données est Microsoft Office Excel 2007 ou Microsoft Office Access 2007, elle requiert un fournisseur de données différent des versions antérieures d’Excel ou d’Access. Pour plus d’informations, consultez Établir une connexion à un classeur Excel et Établir une connexion à une base de données Access.

Plusieurs tâches et composants de flux de données SQL Server Integration Services utilisent un gestionnaire de connexions OLEDB. Par exemple, la source OLEDB et la destination OLEDB utilisent ce gestionnaire de connexions pour extraire et charger des données. La tâche d’exécution de requêtes SQL peut utiliser ce gestionnaire de connexions pour se connecter à une base de données SQL Server afin d’exécuter des requêtes.

Vous pouvez également utiliser le gestionnaire de connexions OLEDB pour accéder à des sources de données OLEDB dans des tâches personnalisées écrites dans du code non géré qui utilise un langage comme C++.

Quand vous ajoutez un gestionnaire de connexions OLEDB à un package, Integration Services crée un gestionnaire de connexions qui est résolu en une connexion OLEDB au moment de l’exécution, définit les propriétés du gestionnaire de connexions et ajoute le gestionnaire de connexions à la collection Connections sur le package.

La propriété ConnectionManagerType du gestionnaire de connexions a pour valeur OLEDB.

Configurez le gestionnaire de connexions OLEDB de plusieurs manières :

  • Indiquez une chaîne de connexion spécifique configurée pour répondre aux besoins du fournisseur sélectionné.

  • Selon le fournisseur, incluez le nom de la source de données à laquelle se connecter.

  • Fournissez les informations d'identification de sécurité nécessaires selon le fournisseur sélectionné.

  • Indiquez si la connexion créée à partir du gestionnaire de connexions est conservée au moment de l’exécution.

Remarque

Microsoft Entra ID s'appelait Azure Active Directory (Azure AD) jusqu'à une date récente.

Consigner les appels et résoudre les problèmes de connexion

Vous pouvez consigner les appels que le gestionnaire de connexions OLEDB effectue vers des fournisseurs de données externes. Vous pouvez alors résoudre les problèmes liés aux connexions établies par le gestionnaire de connexions OLEDB avec des sources de données externes. Pour consigner les appels que le gestionnaire de connexions OLEDB effectue vers des fournisseurs de données externes, activez la journalisation des packages et sélectionnez l’événement Diagnostic au niveau du package. Pour plus d’informations, consultez Outils de dépannage pour l’exécution des packages.

Configurer le gestionnaire de connexions OLEDB

Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programmation. Pour plus d’informations sur les propriétés définissables dans le concepteur SSIS , consultez Configurer le gestionnaire de connexions OLEDB. Pour plus d’informations sur la configuration d’un gestionnaire de connexions par programmation, consultez la documentation de la classe T:Microsoft.SqlServer.Dts.Runtime.ConnectionManager dans le Guide du développeur.

Configurer le gestionnaire de connexions OLEDB

Utilisez la boîte de dialogue Configurer le gestionnaire de connexions OLEDB pour ajouter une connexion à une source de données. Cette connexion peut être nouvelle ou une copie d’une connexion existante.

Notes

Si la source de données est Microsoft Office Excel 2007, la source de données requiert un gestionnaire de connexions différent des versions antérieures d'Excel. Pour plus d’informations, consultez Établir une connexion à un classeur Excel.

Si la source de données est Microsoft Office Access 2007, la source de données requiert un fournisseur OLEDB différent des versions antérieures d’Access. Pour plus d’informations, consultez Établir une connexion à une base de données Access.

Pour en savoir plus sur le gestionnaire de connexions OLEDB, consultez Gestionnaire de connexions OLEDB.

Options

Connexions de données
Sélectionnez une connexion de données OLEDB existante dans la liste.

Propriétés des connexions de données
Permet d’afficher les propriétés et les valeurs relatives à la connexion de données OLEDB sélectionnée.

Nouveau
Créez une connexion de données OLEDB à l’aide de la boîte de dialogue Gestionnaire de connexions .

Supprimer
Sélectionnez une connexion de données, puis supprimez-la en sélectionnant Supprimer.

Identités managées pour l’authentification des ressources Azure

Lorsque vous exécutez des packages SSIS sur le runtime d’intégration Azure-SSIS dans Azure Data Factory (ADF), vous pouvez utiliser l’authentification Microsoft Entra avec l’identité managée système/affectée par l’utilisateur spécifiée pour que votre ADF accède à votre base de données Azure SQL ou à votre instance gérée SQL. Votre Azure-SSIS IR peut accéder à votre base de données et copier des données depuis ou vers celui-ci à l’aide de cette identité managée.

Remarque

Pour utiliser l’authentification AAD avec l’identité managée système/affectée par l’utilisateur spécifiée pour que votre ADF accède à un serveur Azure SQL Database, procédez comme suit :

  1. Approvisionnez un administrateur Microsoft Entra pour votre serveur logique dans le portail Azure, si vous ne l’avez pas encore fait. L’administrateur Microsoft Entra peut être un utilisateur ou un groupe Microsoft Entra. Si vous désignez un groupe comme administrateur, vous pouvez ajouter l’identité managée de votre ADF au groupe et ignorer les étapes 2 et 3. L’administrateur aura un accès complet à votre serveur Azure SQL Database.

  2. Créez un utilisateur de base de données autonome pour l’identité managée/système affectée par l’utilisateur spécifiée pour votre ADF. Utilisez SQL Server Management Studio (SSMS) pour vous connecter à la base de données avec un utilisateur Microsoft Entra disposant au moins de l’autorisation ALTER ANY USER. Exécutez l’instruction T-SQL suivante :

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    

    Si vous utilisez l’identité managée affectée par le système pour votre ADF, votre nom d’identité managée doit être votre nom ADF. Si vous utilisez une identité managée affectée par l’utilisateur pour votre ADF, votre nom d’identité managée doit être le nom d’identité managée affecté à l’utilisateur spécifié.

  3. Accordez les autorisations nécessaires à l’identité managée pour votre ADF, comme vous le faites normalement pour les utilisateurs SQL. Pour connaître les rôles appropriés, consultez Rôles au niveau de la base de données. Exécutez l’instruction T-SQL suivante. Pour plus d’options, consultez cet article.

    EXEC sp_addrolemember [role name], [your managed identity name];
    

Pour utiliser l’authentification AAD avec l’identité managée système/affectée par l’utilisateur spécifiée pour que votre ADF accède à Azure SQL Managed Instance, procédez comme suit :

  1. Approvisionnez un administrateur Microsoft Entra pour votre Azure SQL Managed Instance dans le portail Azure, si vous ne l’avez pas encore fait. L’administrateur Microsoft Entra peut être un utilisateur ou un groupe Microsoft Entra. Si vous désignez un groupe comme administrateur, vous pouvez ajouter l’identité managée de votre ADF au groupe et ignorer les étapes 2 et 3. L’administrateur a un accès total à votre Azure SQL Managed Instance.

  2. Créez une connexion affectée à l’identité managée pour votre ADF. Dans SSMS, connectez-vous à votre instance Azure SQL Managed Instance à l’aide d’un compte SQL Server qui est un administrateur système. Dans la base de données de master, exécutez l’instruction T-SQL suivante ::

    CREATE LOGIN [your managed identity name] FROM EXTERNAL PROVIDER;
    

    Si vous utilisez l’identité managée par le système pour votre ADF, votre nom d’identité managée doit être votre nom ADF. Si vous utilisez une identité managée affectée par l’utilisateur pour votre ADF, votre nom d’identité managée doit être le nom d’identité managée affecté à l’utilisateur spécifié.

  3. Créez un utilisateur de base de données autonome représentant l’identité managée système/affectée par l’utilisateur spécifiée pour votre ADF. Connectez-vous à la base de données à partir de laquelle ou vers laquelle vous souhaitez copier des données avec SSMS et exécutez l’instruction T-SQL suivante :

    CREATE USER [your managed identity name] FROM EXTERNAL PROVIDER;
    
  4. Accordez les autorisations nécessaires à l’identité managée pour votre ADF, comme vous le faites normalement pour les utilisateurs SQL. Exécutez l’instruction T-SQL suivante. Pour plus d’options, consultez cet article.

    ALTER ROLE [role name e.g., db_owner] ADD MEMBER [your managed identity name];
    

Vous pouvez ensuite configurer le fournisseur OLEDB sur votre gestionnaire de connexions OLEDB. Les options disponibles sont les suivantes :

  • Effectuez la configuration au moment du design. Dans le concepteur SSIS, double-cliquez sur votre gestionnaire de connexions OLEDB pour ouvrir la fenêtre Gestionnaire de connexions. Dans la liste déroulante Fournisseur, sélectionnez Microsoft OLEDB Driver pour SQL Server.

    Remarque

    Il est possible que les autres fournisseurs dans la liste déroulante ne prennent pas en charge l’authentification d’identité managée.

  • Effectuez la configuration au moment de l’exécution. Quand vous exécutez votre package via SSMS ou l’Activité Exécuter le package SSIS dans le pipeline ADF, recherchez la propriété ConnectionString du gestionnaire de connexions OLEDB. Mettez à jour la propriété de connexion Provider en spécifiant MSOLEDBSQL (autrement dit, Microsoft OLEDB Driver pour SQL Server).

    Data Source=serverName;Initial Catalog=databaseName;Provider=MSOLEDBSQL;...
    

Enfin, vous pouvez configurer l’authentification AAD avec l’identité managée système/affectée par l’utilisateur spécifiée pour votre ADF sur le gestionnaire de connexions OLEDB . Les options disponibles sont les suivantes :

  • Effectuez la configuration au moment du design. Dans le concepteur SSIS, cliquez avec le bouton droit sur votre gestionnaire de connexions OLEDB et sélectionnez Propriétés. Mettez à jour la propriété ConnectUsingManagedIdentity en spécifiant True.

    Remarque

    La propriété du gestionnaire de connexions ConnectUsingManagedIdentity ne prend pas effet (ce qui indique que l’authentification d’identité managée ne fonctionne pas) quand vous exécutez le package SSIS dans le concepteur SSIS ou SQL Server.

  • Effectuez la configuration au moment de l’exécution. Quand vous exécutez votre package via SSMS ou l’Activité Exécuter le package SSIS dans le pipeline ADF, recherchez le gestionnaire de connexions OLEDB et mettez à jour sa propriété ConnectUsingManagedIdentity avec la valeur True.

    Remarque

    Sur Azure-SSIS IR, toutes les autres méthodes d’authentification (par exemple, sécurité intégrée et mot de passe) préconfigurées sur votre gestionnaire de connexions OLEDB sont remplacées lors de l’utilisation de l’authentification AAD avec l’identité managée système/affectée par l’utilisateur spécifiée pour votre ADF.

Pour configurer l’authentification AAD avec l’identité managée système/affectée par l’utilisateur spécifiée pour votre ADF sur vos packages existants, la meilleure méthode consiste à reconstruire votre projet SSIS avec le dernier Concepteur SSIS au moins une fois. Redéployez votre projet SSIS sur votre runtime d’intégration Azure-SSIS, afin que la nouvelle propriété du gestionnaire de connexions ConnectUsingManagedIdentity soit ajoutée automatiquement à tous les gestionnaires de connexions OLEDB dans votre projet. L’autre méthode consiste à utiliser directement la substitution de propriété avec le chemin de propriété \Package.Connections[{nom de votre gestionnaire de connexions}].Properties[ConnectUsingManagedIdentity] affecté à True au moment de l’exécution.

Voir aussi