使用 Azure,我首先创建了一个托管身份。然后,我创建了一个 Azure SQL Server DB,并将安全性中的身份设置为我的托管身份。我还将其创建为公开。然后,我从 Azure Data Studio 附加到我的空数据库并添加了一些表。
我现在转到 Azure 数据工厂并尝试添加新的链接服务。我分配了服务器名称和数据库名称。我将凭据设置为我的托管标识。当我尝试测试连接时,它失败了。当我打开错误详细信息时,它只是显示InvalidCredentialReference
。
如果我进入 ADF 中的“安全/凭据”,我的托管身份就在那里。根本看不出它有什么问题。
我选择新的链接服务 - Azure SQL 数据库。
我将名称保留为 AzureSqlDataBase1
通过设置为 AutoResolveIntegrationRuntime 的集成运行时进行连接
该帐户来自 Azure 订阅。我选择我的订阅,然后选择服务器名称和数据库名称。
我将身份验证类型设置为用户分配的管理身份。
凭证我选择我的托管身份凭证。然后我按“测试连接”
然后出现错误,指出我选择的凭证无效。
如果您在凭证中提供的用户分配托管身份 (UAMI) 无权访问数据库,则会出现上述错误。要解决此错误,请按照以下步骤操作:
首先,通过转到 ADF 的设置,托管身份 --> 选择用户分配 --> 将您的 UAMI 添加到 ADF,将您的 UAMI 添加到 ADF,如下所示:
之后,通过创建 UAMI 用户并授予所需权限来为 UAMI 提供对所需数据库的访问权限,如下所示:
以管理员身份登录 SQL 数据库,运行以下查询来创建用户并添加权限:
现在您将能够使用凭据成功连接到 SQL 数据库,如下所示: