局域网内PC无法通过主机名连接SQL Server的故障排查求助
局域网内PC无法通过主机名连接SQL Server的故障排查求助
大家好,我碰到一个百思不得其解的问题,想请各位帮忙分析排查下:
之前我的PC A一直能正常连接局域网内另一台机器MYSERVER上的SQL Server,两天前还好好的,而且两台机器我都没做过任何改动,但现在突然连不上了,报错信息是:
Network related error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.
奇怪的是,局域网里的另一台PC B却能正常连接同一个SQL Server实例。
补充几个细节:
- 两台客户端PC用的是同一个C#程序的连接字符串,但我单独在PC A上用SQL Server Management Studio连接也失败;
- 但如果在PC A的SSMS里把服务器名换成MYSERVER的IP地址
192.168.178.20\SQLEXPRESS,就能成功连接;用主机名MYSERVER\SQLEXPRESS就不行。看起来应该是Windows或者SQL客户端的主机名解析出了问题,毕竟之前一直正常工作。 - 三台机器都是Windows 10系统,局域网是工作组环境,不是域,客户端都是用Windows身份验证连接SQL Server。
我已经自己排查了这些点:
- 检查PC A的HOSTS文件,没有任何和MYSERVER相关的条目;
- 在PC A上ping MYSERVER,能正常解析到正确的IP地址192.168.178.20;
- 没有设置任何SQL别名;
- PC A的DNS服务器配置是正确的,用的是路由器上的DNS。
目前我临时解决的办法是把MYSERVER和对应的IP加到PC A的HOSTS文件里,同时把MYSERVER的IP改成了静态IP,但这显然不是长期方案。
有没有大佬能指点下,为什么主机名解析会突然出问题?或者还有什么我没想到的排查方向可以尝试?
备注:内容来源于stack exchange,提问作者arnoldh




