SQLServer—端口概念
sqlserver端口概念,之前一直以为sqlserver实例都是使用的同一个端口1433,或者是人工修改后的某个端口,近期部门开发的监控平台测试时发现其实不然
1.sql server configuration manager 配置管理器
SQL Server 配置管理器为 SQL Server 服务、服务器协议、客户端协议和客户端别名提供基本配置管理
可以在开始菜单栏中或C:\Windows\SysWOW64\SQLServerManager10.msc中打开
2.TCP\IP
安装默认实例使用的是1433端口,但是可以修改;如果继续安装命名实例,则默认使用动态TCP端口1024-65535之间,也可以设置为静态的TCP端口,方便防火墙开放,使用动态端口后会随机选择1024-65535之间一个数值作为本实例的端口号,端口选定之后重启sql服务不会变化,除非手动再次修改其端口号;设置静态端口时要防止本机上的端口冲突。
SQLServer使用SQL server browser服务来监听连接SQL server命名实例的网络要求,提供指定的命名实例侦听的TCP端口号(该服务端口号为udp1434,用于解析实例名,提供该实例名对应的tcp端口用于连接),如果有缓存以后就不需要再通过该服务解析;如果只安装了默认实例,则该服务安装后默认禁用,因为默认实例在访问时只需要提供ip,不需要提供实例名,也就不需要解析。如果是命令实例安装,则browser服务会设置为自动启动安装;所有实例只有一个browser服务,不管一台服务器上安装了多少个SQL实例,始终都只会有一个browser服务。
3.数据库连接
我们平时web连接sqlserver数据库一般都是用'ip\实例名'这种格式来连接,如果安装的是默认实例的话,就是直接用ip来访问就可以。下面提供sqlserver另一种通过端口来访问的格式,即'ip,端口号',ip与端口号之间需要逗号分隔。
例子:本机(192.168.149.18)安装了一个默认实例(下图显示默认使用的是tcp1433端口)及一个命令实例epoint(下图显示默认使用的是动态端口55186)
服务器访问:
192.168.149.18 ----> 直接访问ip不需要通过SQL server browser服务解析,默认访问1433端口,也就是默认实例
192.168.149.18,1433 ----> 直接访问监听1433端口的实例,不需要SQL server browser服务解析,同样访问的是默认实例
192.168.149.18\epoint -----> 先要通过SQL server browser服务解析实例名epoint,提供epoint的端口号55186,然后去连接该端口号访问epoint实例
192.168.149.18,55186 -----> 直接访问epoint实例
4.总结
通过了解sqlserver内部的端口概念,在排错的时候也提供的更多的思路
比如当web服务器无法访问sql时,我们可以查看是否开启TCP/IP协议,访问命令实例时,SQL server browser服务是否开启,实例对应监听端口是否可以telnet等判断问题原因。