ADF链接服务连接Azure SQL Server失败求助
修复ADF自托管IR连接Azure SQL DB时出现10054错误的建议
问题场景:在Azure Data Factory(ADF)中使用自托管集成运行时(Self Hosted IR)连接Azure SQL Server时,出现错误
SqlErrorNumber=10054, An existing connection was forcibly closed by the remote host,已确认账号信息正确、Azure防火墙规则已开放且无拒绝记录,SQL Server端无相关错误日志。
以下是针对性修复建议:
检查自托管IR机器的TLS版本兼容性
Azure SQL DB强制要求使用TLS 1.2及以上版本进行连接,若自托管IR所在机器未启用TLS 1.2,会在预登录握手阶段被断开。- 在IR机器上执行PowerShell命令查看当前启用的TLS版本:
[Net.ServicePointManager]::SecurityProtocol - 若未包含
Tls12,需通过修改注册表或组策略启用TLS 1.2,禁用TLS 1.0/1.1等旧版本。
- 在IR机器上执行PowerShell命令查看当前启用的TLS版本:
排查本地网络层拦截
自托管IR机器上的本地杀毒软件、防火墙、代理服务器可能会拦截SQL连接的SSL握手过程:- 临时关闭本地杀毒软件或添加ADF自托管IR相关进程(比如
Microsoft.DataFactory.IntegrationRuntime.exe)的放行规则 - 检查代理服务器是否允许1433端口的出站流量,且未对SSL/TLS握手做拦截
- 确认本地防火墙未阻止IR机器与Azure SQL Server的1433端口通信
- 临时关闭本地杀毒软件或添加ADF自托管IR相关进程(比如
调整Azure SQL Server的连接策略
Azure SQL Server默认的Redirect连接策略可能在部分网络环境下导致连接中断,尝试切换为Proxy模式:- 登录Azure门户,找到目标SQL Server -> 连接安全 -> 连接策略,将策略修改为
Proxy后保存,重新测试链接服务
- 登录Azure门户,找到目标SQL Server -> 连接安全 -> 连接策略,将策略修改为
更新自托管IR到最新版本
旧版本的自托管IR可能存在与Azure SQL DB的协议兼容性问题,更新到最新版本可以修复已知的连接异常:- 在ADF门户中进入集成运行时页面,选择目标自托管IR,点击升级按钮完成更新
在IR机器上直接测试SQL连接
排除ADF配置问题,直接在IR所在机器上用工具测试连接:- 使用
sqlcmd命令测试:sqlcmd -S servername.database.windows.net -d dbname -U username -P password - 若同样出现10054错误,说明问题集中在IR机器到SQL DB的网络/环境;若连接成功,再检查ADF链接服务是否勾选了加密连接(必须启用),或是否有其他特殊配置遗漏
- 使用
检查Azure SQL DB的资源状态
若SQL DB达到连接数上限或资源瓶颈,可能会主动断开连接:- 登录Azure门户,查看SQL DB的监控指标,检查CPU使用率、内存使用率、活跃连接数是否超出阈值
内容的提问来源于stack exchange,提问作者MikeLanglois
相关产品推荐
相关产品推荐

