能否通过ADF存储过程活动执行无服务器SQL池存储过程?及存储过程无法查找
关于ADF执行无服务器SQL池存储过程的问题解答
能不能用ADF存储过程活动执行无服务器SQL池的存储过程?
可以,但要注意无服务器SQL池的存储过程是逻辑层面的查询封装,没有物理存储实体,和专用SQL池的存储过程运行逻辑不同。只要配置正确的链接服务和权限,就能正常执行。
为什么在Workspace > SQL数据库里找不到存储过程?
Workspace的“SQL数据库”节点只展示专用SQL池、Azure SQL单数据库这类有物理存储的数据库对象,无服务器SQL池的对象不会在这里显示。要查看无服务器SQL池里的存储过程,直接用SQL查询就行:
SELECT name FROM sys.procedures WHERE type = 'P'
或者登录Azure门户,找到对应的无服务器SQL池资源,用内置的查询编辑器查看。
ADF里的配置步骤
- 创建链接服务:选择
Azure SQL Database类型,填写无服务器SQL池的服务器名称、数据库名(比如master或者你创建的用户数据库),选择合适的身份验证方式(SQL认证/托管标识),确保该身份对目标存储过程有EXECUTE权限。 - 添加存储过程活动:在管道里拖入存储过程活动,选择刚才创建的链接服务,手动输入存储过程的完整名称(因为下拉列表里不会显示无服务器SQL池的存储过程),如果有参数就对应配置参数映射。
注意事项
- 无服务器SQL池的存储过程只能包含查询类逻辑,不能执行数据持久化操作(比如INSERT/UPDATE到物理表)。
- 执行时要确保存储过程里的查询使用的数据源(比如存储账户)权限配置正确,避免访问失败。
内容的提问来源于stack exchange,提问作者Harshit
相关产品推荐
相关产品推荐

