首页 > 代码库 > Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse

Chapter 1 Securing Your Server and Network(7):禁用SQL Server Browse

原文出处:http://blog.csdn.net/dba_huangzj/article/details/38227187,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。

        前一篇:http://blog.csdn.net/dba_huangzj/article/details/38082123

 

前言:

 

SQL Server Browser 服务在安装SQL Server 群集或者命名实例时自动启动,它用于与机器上的SQL Server实例进行交互,并让客户端通过命名实例正在侦听的端口进行信息发送。为了屏蔽一个SQL Server实例,可以停止实例运行,或者配置成不响应广播请求。

 

实现:

 

当升级SQL Server、安装到群集环境中、安装命名实例时,SQL Server Browser就会自动启动,可以通过下面步骤检查是否运行,并禁用:

  1. 打开SQL Server 配置管理器,选择SQL Server服务标签,双击SQL Server Browser服务,在【登录】标签中,点击【停止】,用于停止SQL Server Browser 服务。image
  2. 选择【服务】标签,在【启动模式】中选择【已禁用】:
  3. image

  4. 如果有一个命名实例,需要设置一个固定TCP端口,用于客户端访问命名实例,可以在配置管理器中的【SQL Server网络配置】节点,找到对应的协议,右键【TCP/IP】点击【属性】:image
  5. 在属性页的【IP地址】中,选择客户端访问SQL Server 的接口所用的IP地址,如果TCP Dynamic Ports属性为0,则移除并输入你希望的端口。
  6. 重启SQL Server以便修改生效。
  7. 可以在连接字符串中使用<服务器名>,<端口号>来测试,比如SQL1,8200(假设定义了8200为TCP端口),完整字符串:

Data Source= SQL1,8200;Initial Catalog=AdventureWorks2012;User Id=fred;Password=#Fr3d!;

原文出处:http://blog.csdn.net/dba_huangzj/article/details/38227187,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

 

原理:

 

默认实例侦听1433端口,如果安装了命名实例,在服务重启/启动时会动态分配端口,为了访问这个端口并启动TCP会话,客户端会发送一个请求到SQL Server Browser侦听的UDP 1434端口。

另外,客户端会发送广播请求到网络中搜查是否有可用的SQL Server实例,SQL Server Browser负责响应这方面的请求,如果只有一个实例,SQL Server Browser是不必要的,并且默认安装是会禁用,在多实例环境下,禁用Browser能提高安全性。

 

更多信息:

 

如果想保留动态端口功能但是又想屏蔽实例,可以让SQL Server Browser不显示SQL Server实例,只需要在【SQL Server配置管理器】中打开SQL Server网络配置节点并右键【<实例名>的协议】,打开【属性】,在【标志】页的【隐藏实例】中选择【是】即可。

image