SQL Server Browser探讨

作者: 数据库信息  发布:2019-07-12

一、官方网站关于SQL SECRUISERVE哈弗 Browser服务的演讲(谷歌(Google)翻译后稍作修改的):

背景:

在SQL Server 3000在此之前,只可以在微型计算机上设置四个SQL Server实例。 SQL Server通过官方网络号码分配机构(IANA)侦听端口1433上的传播央求,然后分配给SQL Server。独有多少个实例能够利用那个端口,所以当SQL Server 两千引进了对多个SQL Server实例的支撑时,开垦了SQL Server分析协议(SSRP)来侦听UDP端口1434。该监听器服务响应客户端对具备已设置实例的带实例名字的乞求,再次来到实例们所运用的端口号和命名管道。为了化解SSRP系统的局限性,SQL Server 2007引入了SQL Server Browser服务作为SSRP的替代品。

SQL Server Browser的做事原理:

当SQL Server实例运营时,假诺TCP / IP协议启用,则会为服务器分配三个TCP/IP端口。假如命名管道教协会议启用,SQL Server将侦听特定的命名管道。该端口或“管道”被该特定实例用于与客户端应用程序沟通数据。在安装进度中,TCP端口1433和pipe sqlquery分配给默许实例,但今后方可由服务器管理员使用SQL Server Configuration Manager退换那几个实例。因为唯有一个SQL Server实例可以运用暗许端口或管道,所以为命名实例(富含SQL Server Express)分配分裂的端口号和管道名称。

私下认可境况下,命名实例和SQL Server Express实例运维时配置为使用动态端口,即SQL Server运维时分配可用端口。若是急需,能够将一定端口分配给SQL Server实例。连接时,客户端能够内定特定端口;不过即使端口是动态分配的,则在SQL Server重新运行时,端口号能够每一日变动,因而客户端不领会科学的端口号。

SQL Server Browser运营时,配置利用UDP端口1434。SQL Server Browser读取注册表,标记计算机上的具备SQL Server实例,并记下利用的端口和命名管道。当服务器有多少个或越来越多网卡时,SQL Server浏览器将赶回第3个启用的SQL Server端口。 SQL Server浏览器援助ipv6和ipv4。

当SQL Server客户端需要SQL Server能源时,客户端互连网库使用端口1434向服务器发送UDP音讯。SQL Server Browser会使用所恳求实例的TCP / IP端口或命名管道张开响应。然后,客户端应用程序上的互联网库通过选择所需实例的端口或命名管道向服务器发送诉求来成功连接。

 

二、个人实验:

从官方网址的讲解来看,SQL Server Browser是为杀鸡取卵多实例景况下,非默许实例使用动态端口号的情形。因而实例重启后,客户端恐怕无法连接命名实例。因而要求张开SQL Server Browser服务来利用UDP的1434端口监听本服务器全数命名实例,并为客户端诉求重回命名实例所利用的实际端口或命名管道。

 

1)实验意况

SQL Server 2009奔驰M级2本子,安装了暗许实例MSSQLSERubiconVE中华V和命名实例TEST,个中暗中同意实例使用暗中同意的1433端口,TEST使用默许的动态分配端口。

尝试进程中第一调查:

1、是或不是能够使用sqlcmd联通 

2、netstat -ano的端口占用情形

2)实验证实:

敞开SQL Server Browser服务同样开启UDP的1434端口。况且假使将暗中认可实例的端口换为1434,Browser服务依然采纳UDP1434端口,不会转移。

图片 1

3)实验步骤

    1.只开启七个实例的劳务,私下认可实例使用1433端口,TEST实例使用动态端口,用sqlcmd远程尝试连接四个实例的的结果如下:

图片 2

    2.打开SQL Server Browser服务之后:

图片 3

此时假诺关闭SQL Server Browser:

sqlcmd -S 192.168.111.69TEST -U sa -P Leo123 依旧会大功告成,可是将动态端口号设置为0后重启服务就能够战败,表明只要开动过一次Browser服务且数据库服务没重启过(那代表动态端口号没变过)就径直能够连接。

    3.将暗许实例的端口号改为动态端口:

sqlcmd -S 192.168.111.69MSSQLSE奥迪Q3VEEnclave -U sa -P 雷欧123 无论Browser服务是还是不是开启,都无助连接。

表达此服务对暗中认可实例无效。

4)实验结论

SQL Server Browser只承担利用UDP的1434端口转载使用动态端口的命名实例的消息给客户端,暗中同意实例必须选拔固定端口,并告知客户端。

因而一旦服务器上有八个实例,且命名实例使用动态端口,那么明确要拉开Browser服务。

对应用一定端口1433总是服务器的程序来讲,如若是命名实例,那么最棒设置一定的端口号,并修改配置文件使用新的固定端口号连接。此时得以关闭Browser服务。

在集群蒙受中,应确认保证Browser服务在具备节点始终敞开。

最终,也期待大家不要迷信这些实验结论,不保证能表明全数标题,要本身动手验证。

 

三、一些附加音讯:

1.能够运用netstat -ano|findstr PID来查阅SQL Server监听的端口号,个中[: :]代表全体IP地址,[: : 1]表示127.0.0.1

2.怎么修改SQL Server实例的暗许端口号:

修改下图的IPALL就能够,动态端口设为空表示使用一定端口,设为0意味着使用动态端口。

图片 4

 

 

 

本文由金沙澳门官网发布于数据库信息,转载请注明出处:SQL Server Browser探讨

关键词: 金沙澳门官网

上一篇:MySQL审计插件的测量检验
下一篇:没有了