gpt4 book ai didi

azure - 如何使用 Azure 数据工厂管道中的服务主体连接到 SSIS 中的 Azure SQL 托管实例?

转载 作者:行者123 更新时间:2023-12-03 02:11:51 25 4
gpt4 key购买 nike

我正在尝试使用 SSIS 中的 Azure 服务主体连接到 Azure SQL 托管实例。我使用 Microsoft OLE DB Driver for SQL Server 在 SSIS 中创建了一个连接管理器。在连接管理器中,我使用 Active Directory - 服务主体作为身份验证类型连接到服务器。我将服务主体 GUID 作为连接管理器中的用户名和密码进行传递。

当我在 Visual Studio 中对此进行测试时,我能够建立连接并运行 SSIS。 SSIS 包按预期传输数据,没有出现问题。但是,当我部署 Azure SQL 服务器并在 Azure 数据工厂管道中运行 SSIS 包时,出现错误。

用户(服务主体 GUID)登录失败。 SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“Azure 服务主体”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。

服务主体设置为 SQL 托管实例上的用户,并且具有数据库的数据库所有者权限。我检查了日志,身份验证正在访问 SQL 托管实例,但看起来它正在尝试使用 SQL 身份验证而不是 Active Directory 服务主体身份验证。

这就是连接字符串的样子。

数据源=(SQL 托管实例);用户 ID=(服务主体 GUID);初始目录=(我的数据库);提供程序=MSOLEDBSQL.1;持久安全信息=False;自动翻译=False;应用程序名称=( SSIS 包名称和 GUID);对数据使用加密=True;身份验证=ActiveDirectoryServicePrincipal;

我检查了 Visual Studio 中的连接字符串与数据工厂中使用的连接字符串,它们是相同的。我尝试使用服务主体帐户名称而不是 GUID,并且得到相同的结果。 SSIS 包非常简单,它连接到一台服务器并将数据移动到托管实例。

最佳答案

AD 服务主体在驱动程序级别受支持,但“Microsoft OLEDB Driver 18 for SQL Server - 18.1.0.0”中内置的 SSIS IR 版本不支持。理论上,自定义设置安装支持的驱动版本( https://learn.microsoft.com/en-us/sql/connect/oledb/features/using-azure-active-directory ),可以工作,但需要尝试。

如果你可以使用MSI。 SSIS IR 本身支持 MSI https://learn.microsoft.com/en-us/sql/integration-services/connection-manager/ole-db-connection-manager?view=sql-server-2017#managed-identities-for-azure-resources-authentication .

关于azure - 如何使用 Azure 数据工厂管道中的服务主体连接到 SSIS 中的 Azure SQL 托管实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73123894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com