azure-data-factory - 在使用暂存 Blob 存储 + Polybase 到 Azure 数据仓库的数据工厂中运行管道时出现管理器身份错误
问题描述
尝试使用 Polybase + 启用暂存 Blob 存储将数据从 Azure SQL 提取到 Azure DW 数据库时,我收到此错误消息。
此服务器上未启用托管服务标识。请启用托管服务标识并重试。
我尝试创建一个托管身份用户,将其分配给 Web 服务并授予其权限,将该用户链接到在数据库中具有所有者权限的 AAD 组,但它不起作用。
解决方案
您的接收器、源和 blob 是否属于同一订阅?由于错误是抱怨 SQDWH 访问,我认为您需要检查一下。
请让我知道情况如何。
我假设您在接收端使用身份验证类型 = 托管标识。
我们需要给予 ADF 足够的权限。导航到 Azure 门户上的以下内容。仪表板->SQL 数据仓库-><> - 查询编辑器(预览)
CREATE USER [your ADF Name ] FROM EXTERNAL PROVIDER;
EXEC sp_addrolemember db_owner, [your ADF Name];
现在执行管道,它应该可以正常工作。
我想重现您的问题,因此我故意删除了 ADF 的权限
EXEC sp_droprolemember db_owner, [your ADF Name];
我看到以下错误(这不是您报告的原因)
{
"errorCode": "2200",
"message": "ErrorCode=FailedDbOperation,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Error happened when loading data into SQL Data Warehouse.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=User does not have permission to perform this action.,Source=.Net SqlClient Data Provider,SqlErrorNumber=15247,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=15247,State=1,Message=User does not have permission to perform this action.,},],'",
"failureType": "UserError",
"target": "Copy data1",
"details": []
}
我认为您的管道还有其他问题。
推荐阅读
- blazor-server-side - 显示本地图像文件:///tmp/someimage.jpg
- arrays - Ruby 路径数组,如果包含在另一个项目中,则排序和删除
- javascript - 当我拖过一个项目时,拖放“dragover”事件以捕捉可拖动的父项而不是子项?里面的简单例子
- python - SQLAlchemy多对多查询排序并限制另一个表
- pytorch - 微调(德语)伯特。是否欠拟合?
- yii2 - yii2中模块的访问控制问题
- css - 如何在不导入所有内容的情况下获得引导程序的 col 和 row 的样式?
- macos - ⌘ + ⇧ + / 不能用作“切换块评论”的键盘快捷键
- node.js - 使用 webpack 在节点 NODE_ENV 上动态 require()
- azure - 部署到新资源组时如何找出 LogicApp Http Trigger URL