轻松掌握使用SQLServer浏览器

轻松掌握使用SQLServer浏览器,第1张

轻松掌握使用SQLServer浏览器,第2张

SQL Server Browser作为Windows服务在服务器上运行。SQL Server Browser侦听对SQL Server资源的传入请求,并提供有关计算机上安装的SQL Server实例的信息。SQL Server浏览器可用于执行以下三种操作:

您可以浏览服务器
以连接到正确的服务器实例
以连接到专用的管理员连接(DAC)端点
。SQL Server Browser服务(sqlbrowser)为数据库引擎的每个实例提供实例名称和版本号。SQL Server Browser随SQL Server 2005一起安装,为在此计算机上运行的早期版本的SQL Server(从SQL Server 7.0开始)提供帮助。

默认情况下,不会为SQL Server Express启用SQL Server Browser服务。SQL Server Browser最初可以使用外围应用配置器工具进行配置,并使用SQL Server配置管理器进行管理。

背景

在SQL Server 2000之前,一台计算机上只能安装一个SQL Server实例。SQL Server在端口1433上侦听传入的请求,该端口由官方的Internet数字地址分配机构(IANA)分配给SQL Server。只有一个SQL Server实例可以使用端口,因此当SQL Server 2000引入对SQL Server多个实例的支持时,它开发了SQL Server解析协议(SSRP)来侦听端口1434。该侦听器服务使用已安装实例的名称以及该实例使用的端口或命名管道来响应客户端请求。为了解决SSRP系统的局限性,SQL Server 2005提供了SQL Server浏览器服务来替代SSRP。

SQL Server浏览器的工作原理

启动SQL Server实例后,如果为SQL Server启用了TCP/IP或VIA协议,将为该服务器分配一个TCP/IP端口。如果启用了命名管道协议,SQL Server将侦听特定的命名管道。这个特定的实例将使用这个端口或管道与客户端应用程序交换数据。在安装过程中,端口1433和pipe \sql\query将被分配给默认实例,但服务器管理员可以在以后使用SQL Server配置管理器对其进行更改。由于只有一个SQL Server实例可以使用端口或管道,因此将不同的端口号和管道名称分配给命名实例,包括SQL Server Express。默认情况下,命名实例被配置为使用动态端口,因此可用端口在SQL Server启动时分配。您可以将特定端口分配给SQL Server实例。连接时,客户端可以指定所需的端口。但是,如果端口是动态分配的,则当SQL Server重新启动时,端口号可能会更改,因此客户端无法确定正确的端口号。

启动后,SQL Server浏览器将启动并使用UDP 1434端口。SQL Server Browser将读取注册表,识别计算机上的所有SQL Server实例,并指示它们使用的端口和命名管道。当服务器有两个或更多网卡时,SQL Server Browser将返回SQL Server的所有已启用端口。SQL Server 2005和SQL Server Browser支持ipv6和ipv4。

如果SQL Server 2000和SQL Server 2005客户端请求SQL Server资源,客户端网络库将使用端口1434向服务器发送UDP消息。SQL Server Browser将使用所请求实例的TCP/IP端口或命名管道进行响应。然后,客户端应用程序中的网络库将使用所需实例的端口或命名管道向服务器发送请求以完成连接。

使用SQL Server浏览器

当SQL Server Browser服务没有运行时,如果提供了正确的端口号或命名管道,您仍然可以连接到SQL Server。例如,如果SQL Server的默认实例在端口1433上运行,您可以使用TCP/IP连接到该默认实例。

无法建立以下连接:

在没有完全指定所有参数(如TCP/IP端口或命名管道)的情况下,组件尝试连接到命名实例。

或者生成一个传递服务器或实例信息的组件,其他组件将使用这些信息进行重新连接。

在不提供端口号或管道的情况下连接到命名实例。这包括命名实例的数据镜像和命名实例的聚合。

到命名实例或默认实例的专用管理员连接(如果不使用TCP/IP 1434端口)。

OLAP重定向服务。

在SQL Server Management Studio、企业管理器或查询分析器中枚举服务器。

如果在客户端服务器方案中使用SQL Server(例如,应用程序通过网络访问SQL Server),则要停止或禁用SQL Server Browser服务,必须为每个实例分配一个特定的端口号,并编写客户端应用程序代码以始终使用该端口号。这种方法存在以下问题:

必须更新和维护客户端应用程序代码,以确保它连接到正确的端口。

如果服务器上的其他服务或应用程序可以使用您为每个实例选择的端口,这将使SQL Server实例不可用。
SQL Server 2000的并行安装

在SQL Server 2000中,服务器连接端点由SQL Server服务标识。在SQL Server 2005中,该功能是通过SQL Server Browser服务实现的。如果在运行SQL Server 2000或MSDE的计算机上安装SQL Server,则必须将它们升级到SP3或更高版本。早期版本的SP3无法正确共享端口1434,可能会使SQL Server实例无法用于请求客户端应用程序。虽然通过更改启动顺序,可以在SQL Server 2000或MSDE之前启动SQL Server Browser服务,但建议您将所有早期版本的SQL Server更新为最新的Service Pack。

在计算机中安装了SQL Server 2000实例的情况下,如果SQL Server Browser没有运行,SQL Server 2000侦听器服务将会启动。如果SQL Server Browser在侦听器服务启动后启动,SQL Server 2000将需要5秒钟来放弃端口1434。如果不放弃此端口,SQL Server Browser将不会启动。对于SP3之前的SQL Server 2000版本,要解决此问题,需要停止SQL Server 2000,启动SQL Server Browser,然后重新启动SQL Server 2000。SQL Server 2000侦听器服务将继续尝试开始使用端口1434,因此SQL Server 2000的实例应该尽快升级到SP3。

SQL Server 7.0和SQL Server Browser之间没有冲突。

通过命令行安装、卸载和运行。

默认情况下,SQL Server浏览器程序安装在C:\ program files \ Microsoft SQL Server \ 90 \ shared \ sqlbrowser.exe。如果计算机上已经安装了SQL Server 2000,但尚未升级到SP 3,并且SQL Server 2000的实例尚未升级,则在安装SQL Server 2005的过程中应该停止SQL Server 2000。如果SQL Server 2000正在运行,SQL Server Browser将无法启动或使用端口1434,并且安装可能会由于缺少连接而失败。

删除SQL Server 2005的最后一个实例后,SQL Server Browser服务被卸载。SQL Server 2000实例将恢复其原始行为。

您可以使用-c开关从命令行启动SQL Server Browser进行故障排除。

\sqlbrowser.exe -c

安全

帐户权限

SQL Server Browser使用SQL Server解析协议(SSRP)来侦听UDP端口并接受未经身份验证的请求。SQL Server Browser应该在低特权用户的安全上下文中运行,以最大限度地减少恶意攻击的机会。默认情况下,SQL Server Browser以本地系统帐户启动。您可以使用Windows服务程序更改登录帐户。SQL Server Browser的最低用户权限如下:

通过网络访问这台计算机被拒绝。

拒绝本地登录。

拒绝作为批处理作业登录。

拒绝通过终端服务登录。

作为服务登录。

读写与网络通信(端口和管道)相关的SQL Server注册表项。

默认帐户

安装程序将SQL Server browser配置为使用安装期间为服务选择的帐户。其他可能的帐户包括:

所有域\本地帐户

本地服务帐户(在W2K平台上不可用)

本地系统帐户(不推荐,因为它有不必要的权限)

隐藏SQL Server

的隐藏实例是一个仅支持共享内存连接的SQL Server实例。对于SQL Server 2005,HideInstance注册表项指示SQL Server Browser不应响应有关此服务器实例的信息。SQL Browser还支持SQL Server 2000隐藏实例的方法,这是通过在服务器网络实用工具中设置HideServer选项来启用的。有关详细信息,请参阅SQL Server 2005联机丛书中的如何隐藏SQL Server数据库引擎实例。

使用防火墙

若要与服务器上具有防火墙保护的SQL Server Browser服务进行通信,除了打开SQL Server使用的TCP端口(如1433)之外,还要打开UDP 1434端口。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 轻松掌握使用SQLServer浏览器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情