Sea*_*ude 2 azure-logic-apps azure-sql-database azure-managed-identity
我不确定我在这里缺少什么,但我无法从逻辑应用连接到 Azure SQL。任何帮助表示赞赏。
执行的步骤:
System Assigned Managed Identity1.为逻辑应用启用(SAMI)
Contributor2. 在SQL Server 的角色中添加 SAMI (位于另一个资源组中)
3. 单击按钮验证 SAMIAzure role assignments角色
4.使用以下命令在 SQL Server 本身内的db_datareader和角色中添加 SAMI :db_datawriter
CREATE USER [SAMI Name] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [SAMI Name]
ALTER ROLE db_datawriter ADD MEMBER [SAMI Name]
Run Code Online (Sandbox Code Playgroud)
5. 通过以下方式验证内部角色是否成功:
SELECT DP1.name AS DatabaseRoleName,
isnull (DP2.name, 'No members') AS DatabaseUserName
FROM sys.database_role_members as DRM
RIGHT OUTER JOIN sys.database_principals as DP1
ON DRM.role_principal_id = DP1.principal_id
LEFT OUTER JOIN sys.database_principals as DP2
ON DRM.member_principal_id = DP2.principal_id
WHERE DP1.type = 'R'
ORDER BY DP1.name;
Run Code Online (Sandbox Code Playgroud)
6. 在逻辑应用设计器中添加Get Rows (V2)Azure SQL 操作并创建连接
7.我可以看到没有找到服务器,所以我输入SQL服务器名称作为自定义值
8. 让数据库名称加载几分钟后,操作错误并显示:
错误文本:
Could not retrieve values. Error code: 'Unauthorized', Message: 'Credentials are missing or not valid.
inner exception: The credentials provided for the SQL source are invalid. (Source at xxx.database.windows.net.)
clientRequestId: da158fe9-xxx'. More diagnostic information: x-ms-client-request-id is 'B1CBF136-xxx'.
Run Code Online (Sandbox Code Playgroud)
我已在 SQL Server 上允许使用 Azure 服务,所以我不明白为什么会发生这种情况
我不确定其原因,但我发现如果您还输入数据库名称作为自定义值,则连接可以正常工作。
我经历了和你完全相同的症状。手动输入数据库名称后,表名称列表将自动填充。
我还发现没有必要将 SAMI 添加为 SQL Server 的贡献者(至少对于这个特定的解决方法来说不是)。
| 归档时间: |
|
| 查看次数: |
2315 次 |
| 最近记录: |