# sqlserver 本地无法通过网络连接,局域网内其他主机却可以连接

近期出现了一个奇怪的问题,不确定是哪方面的原因

## 服务拓扑

### *两台服务器*

1. A 服务器 [ 192.168.5.100 ] :redis 、mongo 、sqlserver 、一个 wcf 服务主要用于缓存更新
2. B 服务器 [ 192.168.5.150 ] :一些后端服务
3. A 服务器有两张网卡,之前已经被禁用一张。

## 问题情况

1. wcf 无法连接本地 redis ,后续重启服务器、重启 redis 、重启 wcf 服务莫名其妙可以连接 redis 了,这里应该存在某个网络问题,顺便检查了所有服务的启用情况,都在启用中。

2. wcf 可以连接 redis 之后,发现无法连接 sqlserver ,遂排查端口占用,redis 无端口占用,发现 wcf 端口被 [ NT Kernel & System ] 这个 system 服务占用,于是修改 wcf 端口,然而还是没有解决这个问题。

3. 遂排查 sqlserver ,这时候吊诡的情况终于出现了,使用 ssms 进行访问
    1. 计算机名访问 sqlserver  _可以_
    2. localhost 访问 sqlserver _可以_
    3. **127.0.0.1**、**0.0.0.0**访问 sqlserver _不可以_
    4. **192.168.5.100**访问 sqlserver _不可以_
    5. 在服务器 B 通过**192.168.5.100**访问服务器 A 的 sqlserver _可以_

4. 补充:之前出现过同样的问题,初步认定为是双网卡导致的,于是禁用了一张网卡,当时这个问题就被解决,现在这个问题再出现,可能也与双网卡有关,但是不知道关系在哪

## 问题:如果排查 sqlserver 的时候,仅仅出现前四步可以认定为没有开放远程,但是第五步就……很吊诡了

## 后续处理:将 wcf 中 sqlserver 的连接字符串中的 127.0.0.1 修改为 192.168.5.100 ,随后 wcf 顺利运行,但是——为什么呢
举报· 29 次点击
登录 注册 站外分享
1 条回复  
billccn 小成 2024-9-26 10:03:10
防火墙规则查一下?

还有 SQLServer 是可以设置哪个 IP 监听,没有监听的 IP 用来访问就无效。

还有可能是有人乱搞路由表
返回顶部