Azure Synapse存储过程管道调用报错:无法列出_delta_log目录内容
存储过程手动执行正常,集成管道调用时出现Delta日志目录无法列出错误
问题详情
创建了存储过程createSQLServerlessView_gold_SalesOrderDetail,在开发环境的SQL脚本中手动执行EXEC createSQLServerlessView_gold_SalesOrderDetail;可正常运行,但通过集成模块的管道调用该存储过程时,触发如下错误:
"Content of directory on path '.../_delta_log/.' cannot be listed."
存储过程代码如下:
USE gold_db_demo GO CREATE OR ALTER PROC createSQLServerlessView_gold_SalesOrderDetail AS BEGIN DECLARE @sql NVARCHAR(MAX) SET @sql = N'CREATE OR ALTER VIEW SalesOrderDetail AS SELECT * FROM OPENROWSET( BULK ''https://destoragedemo2.dfs.core.windows.net/gold/SalesLT/SalesOrderDetail/'', FORMAT = ''DELTA'' ) AS [result]' PRINT @sql EXEC sp_executesql @sql END GO
解决方案
- 在Microsoft Entra ID中创建一个安全组
- 为该组授予目标存储账户的Contributor角色权限
- 将执行管道的当前用户添加为该组的成员
内容的提问来源于stack exchange,提问作者hln
相关产品推荐
相关产品推荐

