在生产环境中有时会要求使用机器名连接SQLServer服务器,但有时捣好久都没法连上~
针对这个问题做个简短记录,防止以后自己再遇到记不起原因,也方便一下其他同行!
废话不多说,作为工作多年的老家伙了,以下工作肯定确保过的:
SQL Server服务器端的【命名管道】协议是开启了的!
SQL Server服务器端的网卡NetBIOS解析功能也开启了的!
SQL Server服务器端使用着的经典的1433端口在防火墙上开了例外的!
已经确保在客户端使用IP能连接上SQL Server服务器的!
放开服务器上的ICMPv4防火墙例外后,ping IP自然是没问题,但ping 机器名不行!别跟我说设置一下hosts文件,这事我不干,先不说它行不行,就算它行我也不干,因为那样就绑死了IP,那我还不如直接用IP!
查来查去,发现是防火墙中的【文件和打印机共享(NB-Name-In)】入站规则没有放开,它是专门控制NetBIOS解析要用的UDP 137端口的;
藏得好深,记录一下,下面是放开前后ping命令的效果,当然SQLServer客户端也能通过机器名来连接了!