You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory并行执行管道时数据库访问账号混淆问题求助

排查步骤
  • 验证自托管集成运行时(SHIR)连接池复用问题
    同一SHIR实例下的SQL Server链接服务默认开启连接池,旧版本SHIR存在不同链接服务的连接跨账号复用的已知问题。可先在两个SQL链接服务的连接字符串末尾追加Pooling=false临时关闭连接池,测试并行执行是否还会抛出The EXECUTE permission was denied on the Stored procedure错误。如果关闭连接池后运行正常,即可定位为连接池复用导致的账号混淆。
  • 核对活动配置与执行上下文
    分别校验两个Copy Data Activity的存储过程调用配置、关联的链接服务绑定是否正确,无硬编码串值问题。可在两个管道中新增临时的变量输出节点,打印当前活动绑定的链接服务标识、存储过程名称,确认并行执行时上下文参数没有串值。
  • 核查SHIR版本
    低于5.22.8265.1版本的SHIR存在明确的跨链接服务凭据混淆bug,可进入SHIR配置面板查看当前版本,低于该版本优先升级到最新稳定版后复测。
  • 校验SQL侧审计日志
    在本地SQL Server实例开启登录审计和存储过程执行审计,匹配报错时间点的日志,确认Pipeline A执行时实际登录的账号是否为账号B、Pipeline B执行时实际登录的账号是否为账号A,验证账号混淆的猜想。
解决方案
  • 连接池复用问题修复:不需要完全关闭连接池,可在两个链接服务的连接字符串中分别配置独立的Application Name参数,比如Linked Service A追加Application Name=ADF_LS_SP_A,Linked Service B追加Application Name=ADF_LS_SP_B,强制连接池按应用名隔离,既能保留连接池性能,又能避免不同账号的连接复用。
  • 版本bug修复:直接升级SHIR到最新稳定版,升级完成后重启SHIR服务即可解决凭据混淆问题。
  • 临时规避方案:如果暂时无法完成配置或版本升级,可给两个管道配置同一个并发组,设置并发组最大并行度为1,或者给两个定时触发器设置至少1分钟的调度时间差,避免并行执行冲突。

内容的提问来源于stack exchange,提问作者r00xus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:45:03