对于SQL server初学者而言,当你写的几百行满是bug的T-SQL语句不能正常输出想要的结果时,这时候就需要开启调试器进行调试了。而此时假如数据库环境是新搭建的,那么SQL server远程调试就会要求开通DCOM(TCP端口 135) 和IPSEC(UDP 4500 /UDP 500)

如图,点击调试按钮,出现如下弹框

此三项含义为:

  • 取消远程调试:取消启动调试的尝试。您的计算机的安全设置保持不变。
  • 取消禁止从本地网络(子网)中的计算机进行远程调试的限制(N):启用本地子网上计算机的远程调试。此设置可能会暴露您的本地子网上计算机的安全漏洞,但防火墙会继续阻止来自子网外的信息。
  • 取消禁止从任何计算机上的远程调试的限制(A):启用网络上任意位置的计算机的远程调试。此设置最不安全。

很明显,通常为了安全起见,服务端数据库开启本地子网内的远程调试权限就够了。

此时选择‘取消禁止从本地网络(子网)中的计算机进行远程调试的限制’ (真TM拗口)并点击确定时,

又出现以下弹框:

再点击“确定”

看到这一步,稳住,先不要慌,问题不大。只需要手工配置下服务器端 以及客户端的防火墙入站规则即可。

服务端需配置的入站规则:

  1. SQL sever数据库引擎实例sqlserver.exe
  2. svchost.exe 针对DCOM(TCP 135端口)
  3. IPSEC(UDP 4500、500端口)

客户端需配置的入站规则:

  1. svchost.exe
  2. SQL server management Studio :ssms.exe

附:SQL server官网教程:

运行T-Sql调试模式失败后需配置的规则

更多推荐

Windows防火墙阻止了SQL server远程调试