You need to enable JavaScript to run this app. 如何解决连接SQL Server时出现的Error 26服务器/实例定位错误?
优惠活动
大模型
产品
解决方案
定价
更多

如何解决连接SQL Server时出现的Error 26服务器/实例定位错误?

SQL Server 错误26(定位指定服务器/实例失败)实操排查清单

核心前提:错误26的本质不是“端口连不上”,是客户端根本没找到你写的那个SQL实例在网络上的位置——哪怕你防火墙开的再严,只要前面的配置没对,照样报这个错。80%的报错场景和防火墙根本没关系。

1. 先核对连接字符串(最高发的踩坑点)

很多人折腾半小时配置,最后发现是连接字符串写的不对:

  • 连接命名实例时,必须严格按机器名\实例名的格式写,比如装在叫WORK-PC的机器上的SQLEXPRESS实例,连接串就写WORK-PC\SQLEXPRESS,别一上来就用IP拼实例名——IP场景下不支持实例名自动解析,拼出来直接触发错误26。
  • 绝对不要写混杂格式的连接串,比如192.168.1.100\SQLEXPRESS,1433,这种写法完全不符合SQL连接规范,是错误26的重灾区。
  • 如果你非要用IP连接,就别带实例名,直接写IP地址,实例监听的固定端口,比如192.168.1.100,1455。

2. 把两个核心服务跑起来(配防火墙之前必做)

很多人防火墙规则堆了一堆,结果关键服务没启动,全是无效配置:

  • 首先必须启动SQL Server Browser服务:这个服务的作用就是把你写的机器名\实例名映射到实际的监听端口,没开的话不管网络怎么通,都定位不到实例位置。操作:按Win+R输services.msc打开服务面板,找到SQL Server Browser,把启动类型改成“自动”,手动触发启动。
  • 确认你要连的那个SQL实例对应的服务是运行状态:比如默认实例对应SQL Server (MSSQLSERVER)服务,命名实例对应SQL Server (你的实例名)服务,别是停掉的状态。

3. 检查SQL自身的网络配置(和防火墙无关)

打开SQL Server Configuration Manager,改完一定要重启实例服务才生效:

  • 找到对应实例的“服务器协议”,把TCP/IP协议启用——很多人装完SQL默认只开共享内存/命名管道,跨机器连接时根本识别不到实例,直接报26错误。
  • 双击打开TCP/IP属性,切到“IP地址”标签页,拉到最下面的IPAll配置项:把TCP动态端口清空,手动给实例设一个固定监听端口(比如1433),不要用动态端口——动态端口每次重启SQL都会变,会直接打破Browser服务的固定解析逻辑,触发错误26。

4. 正确配置防火墙规则(之前配了不生效,大概率规则不全)

  • 单开1433端口是不够的,必须额外加UDP 1434端口的入站规则——这个端口是SQL Browser服务的专用通信端口,没开的话照样解析不到实例。
  • 比单加端口规则更靠谱的方式是,直接给两个可执行程序加入站允许规则,不会因为改端口就失效:
    • 程序1:对应实例的sqlservr.exe,一般在SQL安装目录的Binn文件夹下
    • 程序2:sqlbrowser.exe,一般在系统盘的Program Files (x86)\Microsoft SQL Server\Shared文件夹下
  • 验证技巧:直接临时把防火墙全关了测连接,如果关了还是报26,立刻回到前面3步排查,别在防火墙上浪费时间。

快速验证的排查顺序

  • 先在客户端机器上cmd输ping 你的服务器机器名,如果解析不到正确IP,直接在本地hosts文件加一行服务器IP 服务器机器名的映射再测。
  • 别先拿自己写的应用程序测,先用SSMS用完全一样的连接参数连一遍,如果SSMS都连不上,就是数据库侧的配置问题,别找应用代码的锅。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.10 13:15:03