如何在ADF中创建带数据库名参数的AKV Azure SQL链接服务?
解决方案:动态指定Azure SQL链接服务的数据库(基于AKV存储的基础连接串)
步骤1:修改链接服务JSON,添加数据库参数
- 先创建基于AKV存储连接串的Azure SQL链接服务(连接串不含
Database=字段) - 进入链接服务编辑页,点击右上角**代码(JSON)**切换到JSON编辑模式
- 在
properties节点下新增参数定义:
"parameters": { "TargetDatabase": { "type": "String", "defaultValue": "" } },
- 修改
connectionString的取值逻辑,拼接AKV基础连接串与数据库参数:
"connectionString": "@concat(linkedService().connectionString, ';Database=', pipeline().parameters.TargetDatabase)"
注意:若AKV中连接串末尾已有分号,需去掉
concat里';Database='前的分号,避免格式错误。
步骤2:在管道中动态传递数据库参数
- 当管道中引用该链接服务作为数据源/数据集时,系统会自动提示输入
TargetDatabase参数 - 可直接输入固定值,或通过管道参数、变量动态传递(比如上游活动输出、外部传入参数等)
步骤3:验证表加载效果
配置完成后,只要参数中的数据库名有效,数据集的表下拉列表会自动加载对应数据库的用户表,不再仅显示系统表。
关键注意事项
- 确保AKV中的基础连接串所用账号拥有目标SQL服务器的跨数据库访问权限(推荐使用服务器级SQL账号)
- 拼接连接串时检查格式正确性,避免多余分号或空格
- 若出现连接超时,排查以下点:
- 目标SQL服务器防火墙是否允许ADF的出站IP访问(可添加ADF出站IP或启用服务端点)
- 管道调试时查看输入/输出中的连接串内容,确认参数传递正确、拼接后连接串有效
内容的提问来源于stack exchange,提问作者jo80
相关产品推荐
相关产品推荐

