跨Azure订阅创建Synapse专用SQL池链接服务遇连接错误求助
跨Azure订阅连接专用SQL池的错误解决方案
针对你遇到的连接错误(SqlErrorNumber=53, error: 40),以下是针对性的排查和解决步骤:
核对服务器名称准确性
确保链接服务中配置的服务器名称为完全限定域名,格式必须是<server-name>.database.windows.net。避免使用IP地址、简写名称或拼写错误,可直接从源专用SQL池的Azure门户页面复制官方提供的服务器地址。修正防火墙规则配置
- 若使用Synapse托管集成运行时:需将Synapse工作区所在区域的Azure托管集成运行时对应IP段添加到源SQL服务器的防火墙允许列表;若使用自托管集成运行时,需将自托管IR所在机器的公网IP加入防火墙规则。
- 确认源SQL服务器已启用允许Azure服务和资源访问此服务器选项,跨订阅场景下该选项需配合IP规则共同生效。
- 检查防火墙规则的起始/结束IP是否覆盖了目标IP范围,避免出现IP段设置不全的情况。
验证SQL身份验证凭据与权限
- 确认链接服务中的用户名和密码完全正确:SQL管理员账户格式为
<server-admin-login>,数据库用户需确保已被授予源专用SQL池的db_datareader及以上权限。 - 用SSMS或Azure Data Studio直接测试相同凭据能否连接源专用SQL池,排除凭据本身的有效性问题。
- 确认链接服务中的用户名和密码完全正确:SQL管理员账户格式为
排查网络连通性阻断
- 执行
Test-NetConnection <server-name>.database.windows.net -Port 1433(PowerShell)或telnet <server-name>.database.windows.net 1433命令,测试集成运行时到源SQL服务器1433端口的连通性。若连接失败,需排查:- 集成运行时所在网络的出站防火墙是否限制了1433端口访问;
- 源SQL服务器所在虚拟网络的NSG入站规则是否允许目标IP访问1433端口。
- 执行
确认源专用SQL池状态
检查源专用SQL池是否处于在线运行状态,若处于暂停或故障恢复状态,需先启动该池再尝试连接。
内容的提问来源于stack exchange,提问作者Nhlanganiso md
相关产品推荐
相关产品推荐

