# 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 顺利运行,但是——为什么呢 |
|