共计 741 个字符,预计需要花费 2 分钟才能阅读完成。
sqlserver 本地无法通过网络连接,局域网内其他主机却可以连接
近期出现了一个奇怪的问题,不确定是哪方面的原因
服务拓扑
两台服务器
- A 服务器 [192.168.5.100] :redis、mongo、sqlserver、一个 wcf 服务主要用于缓存更新
- B 服务器 [192.168.5.150] : 一些后端服务
- A 服务器有两张网卡,之前已经被禁用一张。
问题情况
-
wcf 无法连接本地 redis,后续重启服务器、重启 redis、重启 wcf 服务莫名其妙可以连接 redis 了,这里应该存在某个网络问题,顺便检查了所有服务的启用情况,都在启用中。
-
wcf 可以连接 redis 之后,发现无法连接 sqlserver,遂排查端口占用,redis 无端口占用,发现 wcf 端口被 [NT Kernel & System] 这个 system 服务占用,于是修改 wcf 端口,然而还是没有解决这个问题。
-
遂排查 sqlserver,这时候吊诡的情况终于出现了,使用 ssms 进行访问
- 计算机名访问 sqlserver 可以
- localhost 访问 sqlserver 可以
- 127.0.0.1、0.0.0.0访问 sqlserver 不可以
- 192.168.5.100访问 sqlserver 不可以
- 在服务器 B 通过 192.168.5.100 访问服务器 A 的 sqlserver 可以
-
补充:之前出现过同样的问题,初步认定为是双网卡导致的,于是禁用了一张网卡,当时这个问题就被解决,现在这个问题再出现,可能也与双网卡有关,但是不知道关系在哪
问题:如果排查 sqlserver 的时候,仅仅出现前四步可以认定为没有开放远程,但是第五步就……很吊诡了
后续处理:将 wcf 中 sqlserver 的连接字符串中的 127.0.0.1 修改为 192.168.5.100,随后 wcf 顺利运行,但是——为什么呢
正文完