在Azure Data Factory的pre copy脚本中能否使用create procedure语句?
如何在Azure数据工厂复制活动的预复制脚本中创建/修改存储过程
你要实现的需求是完全可行的,按照以下要求配置即可:
- 首先确认复制活动目标数据集绑定的连接服务账号具备目标存储的对应权限:如果目标是Azure SQL数据库、SQL Server实例,需要账号拥有
CREATE PROCEDURE、对应Schema的修改权限,否则语句会执行失败。 - 预复制脚本默认直接在目标数据存储侧执行,你直接把完整的存储过程创建/修改语句粘贴到脚本输入框即可,语法和直接在目标数据库执行的规范完全一致,参考示例:
CREATE OR ALTER PROCEDURE dbo.自定义存储过程名称 @输入参数 数据类型 = 默认值 AS BEGIN SET NOCOUNT ON; -- 下方写存储过程的业务逻辑 SELECT 列1,列2 FROM dbo.业务表 WHERE 筛选条件 END
- 如果你不需要执行实际的数据复制动作,可以把复制活动的源配置为虚拟空源:比如源查询写
SELECT 1 AS DUMMY_COL WHERE 1=2返回空结果,目标侧可以随便选一个存在的小表做临时映射,预复制脚本会在数据复制动作启动前优先执行,只要脚本执行成功,就算最终复制行数为0,活动也会正常标记为成功。 - 如果执行报错,直接查看复制活动的运行输出日志,就能看到预复制脚本的具体错误信息,绝大多数报错都来自权限不足、SQL语法错误两类问题。
你截图中的配置位置是正确的,存储过程语句直接填写到对应输入框即可。
内容的提问来源于stack exchange,提问作者malcolm richard
相关产品推荐
相关产品推荐

