关于SQL SEVER防火墙配置问题:远程调试要求开通DCOM(TCP端口135)和IPESC(UDP端口4500/500)
初学SQL SEVER 2008,结果第一次调试就出现了这个问题:
然后
百度了一下,这三个选项的意思:
- 取消远程调试:取消启动调试的尝试。您的计算机的安全设置保持不变。
- 取消禁止从本地网络(子网)中的计算机进行远程调试的限制(N):启用本地子网上计算机的远程调试。此设置可能会暴露您的本地子网上计算机的安全漏洞,但防火墙会继续阻止来自子网外的信息。
- 取消禁止从任何计算机上的远程调试的限制(A):启用网络上任意位置的计算机的远程调试。此设置最不安全。
再结合一下图上的提示,毫无疑问就是Windows防火墙的配置出现了问题,可能端口关闭。
解决方案:
- 将 TCP 端口 135 添加到例外列表。
- 将程序 sqlservr.exe 添加到例外列表。默认情况下,sqlservr.exe 安装在 C:\Program Files\Microsoft SQL Server\MSSQL10.(*)MSSQL\Binn 下,其中,(*) 对于默认实例为 MSSQLSERVER,对于任何指定的实例则为相应实例的名称。
- 如果域策略要求通过 IPSEC 进行网络通信,还必须将 UDP 端口 4500 和 UDP 端口 500 添加到例外列表。
操作:
TCP 端口 135:
UDP 端口 4500,500:
指定条件:允许连接,选完之后,使用规则勾选域和专用(不建议选择公用)。
最后添加两个规则,启用:
注意,要检查有没有限制规则:我因为没有检查所以搞鼓半天也不知道错在哪--------------------------------!
禁用掉你的限制规则,也可以删了它。
随后添加你的程序:
默认情况下,sqlservr.exe 安装在 C:\Program Files\Microsoft SQL Server\MSSQL10.(*)MSSQL\Binn 下,其中,(*) 对于默认实例为 MSSQLSERVER,对于任何指定的实例则为相应实例的名称。
添加就好了。
很多时候网上的答案能直接有效的帮助你解决问题,但是更多的时候他只是给你提供一个建议,需要结合自己实际情况寻找自己的问题所在。