您的 sink 、 source 和 blob 是同一个订阅的一部分吗?由于错误是抱怨 SQDWH 访问,我认为您需要检查一下。
https://docs.microsoft.com/en-us/azure/data-factory/connector-azure-sql-data-warehouse#managed-identity.
请告诉我进展如何。
我假设您在接收端使用身份验证类型 = 托管标识。
我们需要给 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": []
}
我认为您的管道还有其他问题。