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

同一资源组下无法从Azure Data Factory连接Azure SQL的问题求助

问题分析与解决方法

错误信息

ErrorCode=SqlFailedToConnect,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Cannot connect to SQL Database. Please contact SQL server team for further support. Server: 'xxxxxxxxxx.database.windows.net', Database: 'xxxxxxxxx', User: 'xxxxxxx'. Check the linked service configuration is correct, and make sure the SQL Database firewall allows the integration runtime to access.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=Cannot open server 'sqlserver-represent-prod' requested by the login. Client with IP address '51.xxx.xxx.xxx' is not allowed to access the server. To enable access, use the Azure Management Portal or run sp_set_firewall_rule on the master database to create a firewall rule for this IP address or address range. It may take up to five minutes for this change to take effect.

问题根源

核心原因是Azure Data Factory(ADF)默认使用的托管集成运行时(IR)出站IP是动态变化的:

  • 之前其他环境无需配置防火墙,大概率是因为那边的Azure SQL开启了「允许Azure服务和资源访问此服务器」权限,或者ADF配置了托管虚拟网络,直接通过Azure内部网络访问SQL。
  • 当前环境中,你添加单个IP的防火墙规则只能临时生效,默认托管IR的出站IP会定期更换,所以过段时间就会出现新IP被拦截的情况。

解决办法

方法1:开启Azure服务访问权限(最简单)

在Azure SQL服务器的防火墙设置里,找到「允许Azure服务和资源访问此服务器」的开关并打开。ADF作为Azure官方服务,就能直接绕过公网IP限制访问SQL,无需再手动添加单个IP规则。

方法2:使用ADF托管虚拟网络(更安全)

如果需要严格的网络控制,给ADF配置托管虚拟网络,再通过**专用链接(Private Link)**连接Azure SQL。这种方式下,ADF与SQL的流量完全在Azure内部网络传输,不会暴露公网IP,彻底解决动态IP问题。

方法3:添加ADF区域全量出站IP范围(不推荐)

如果必须用公网访问,可以在Azure SQL防火墙中添加ADF所在区域的所有托管IR出站IP范围。但这种方式维护成本高,IP范围可能会更新,不如前两种方法可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 12:50:04