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

SSMS连接Azure SQL专用池失败:预登录握手报错(以太网专属问题)

Azure SQL专用池连接故障排查(以太网连接异常,WiFi正常)

问题详情

  • 此前通过SSMS连接Azure SQL专用池执行查询完全正常,中途终止某条查询后,无法再建立连接
  • 报错信息:

已成功与服务器建立连接,但在预登录握手期间发生错误。(provider: TCP Provider, error: 0 - 指定的网络名称不再可用。) (Framework Microsoft SqlClient Data Provider)

  • 运行环境:工作机部署了Zscaler
  • 异常特征:仅以太网连接时出现该问题,切换到WiFi可正常访问;其他用户无此异常
  • 权限限制:无机器管理员权限
  • 已尝试的操作:执行PowerShell命令netsh winsock reset;重启机器、路由器、Zscaler客户端、SQL池

排查与解决建议

1. 核对Zscaler网络适配策略

打开Zscaler客户端,检查以太网连接对应的代理规则是否和WiFi连接一致。不同网络适配器可能触发Zscaler不同的拦截策略,终止查询的操作可能临时修改了以太网的规则,导致SQL连接的端口(默认1433或Azure SQL专用池的专属端口)被阻断。试试重置Zscaler的网络配置(找客户端内无需管理员权限的重置选项),或者手动切换代理模式(比如从自动改为手动指定)。

2. 清空SSMS连接缓存

  • 打开SSMS,点击「连接」→「数据库引擎」,在连接窗口点「选项」→「连接属性」,取消勾选「保留连接」,再尝试重新连接。
  • 找到SSMS缓存目录(路径一般是%LOCALAPPDATA%\Microsoft\SQL Server Management Studio\<具体版本号>\),删除里面的Cache文件夹(无需管理员权限),然后重启SSMS。

3. 测试TCP连通性

  • 用PowerShell执行tracert <你的Azure SQL专用池服务器名>,对比以太网和WiFi下的路由路径,看是否有异常节点拦截。
  • 执行Test-NetConnection <你的Azure SQL专用池服务器名> -Port 1433,检查以太网连接下1433端口是否能正常连通,不通的话基本是Zscaler或本地网络策略拦截了端口。

4. 更换SSMS连接协议

在SSMS连接窗口的「选项」→「连接属性」里,把「网络协议」从默认的「TCP/IP」改成「Named Pipes」或「Shared Memory」,尝试绕过TCP层面的拦截问题。

5. 添加Zscaler旁路地址

如果Zscaler客户端允许自行添加旁路地址,把Azure SQL专用池的服务器地址加入旁路列表,让以太网下的SQL请求不经过Zscaler代理,直接发起连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 20:12:41