SQL Server在安装到服务器上后,由于出于服务器安全的需要,所以需要屏蔽掉所有不使用的端口,只开放必须使用的端口。下面就来介绍下SQL Server 2008中使用的端口有哪些:
首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口。这个端口是可以修改的,在“SQL Server配置管理器”中切换到“XXX的协议”里面选择,TCP/IP协议属性中可以设置TCP端口。如图所示:
SSIS要调用DCOM协议,所以在使用SSIS的时候需要打开135端口,而且这个端口是不能更改的。只有打开 TCP 端口 135 才能访问服务控制管理器 (SCM)。SCM 执行以下任务:启动和停止 Integration Services 服务,以及将控制请求传输到运行的服务。
接下来再说一下SSAS,SSAS默认实例使用的是2383端口,如果是命名实例,那么每个实例都会有一个管理员指定的端口,这个端口也可以是动态分配的,由于网络安全的需要,强烈建议不要使用动态分配端口的方案。如果是动态分配的端口,客户端在连接服务器时,将会连接服务器的2382端口,这个端口是SQL Server Browser使用的端口。SQL Server Browser再通过2382端口告诉客户端,需要连接的命名实例的实际端口号。(这是官方的说法,但是我并不确定这里是要2382端口,不过接下来提到的UDP1434端口是肯定有用的。)另外SQL Server Browser需要使用到UDP的1434端口,所以如果需要使用该服务的话,必须将UDP1434打开。修改SSAS的端口,需要先打开SSAS服务,然后使用SSMS连接到SSAS中,在对象资源管理器中右击实例,选择属性,弹出分析服务属性窗口,设置Port属性为需要的端口,默认值是0,也就是没有设置的意思,然后重启SSAS服务即可。
重启后,SSMS获取其他客户端连接SSAS的话,那么就需要使用“主机名:端口”的方式作为连接主机,而如果是数据库引擎的话,那么是使用“主机名,端口”的格式,这两个是有所区别的。
报表服务是通过Web的方式提供服务的,所以默认情况下报表服务使用的是80端口,当然用户也可以修改报表服务的端口,在报表服务配置管理器中修改Web服务和报表管理器的端口,如图所示:
SSB的端口配置,SSB如果涉及到计算机之间通过网络进行通信,那么就需要设置端点(EndPoint),在设置SSB的端点时,就需要制定侦听的端口,比如我们创建这样一个端点:
USE master; GO CREATE ENDPOINT BrokerEndpoint STATE = STARTED AS TCP ( LISTENER_PORT = 4037 ) FOR SERVICE_BROKER ( AUTHENTICATION = WINDOWS ) ; GO
那么我们就需要开发4037端口。
同样的道理,如果我们要配置数据库镜像、SOAP访问等,那么也需要创建端点,同时开通端点中的端口。
除了以上介绍的端口外,如果要做数据库复制之类的,需要在数据库服务器上设置共享文件夹以方便多台服务器的数据传输的话,那么就还需要开通Windows共享的端口,如137、138、139、445等。
以上介绍了这么多服务和端口,这需要根据实际的需要来设置,出于安全考虑可以将默认端口该为自己的端口,而且SQL Server Browser服务不要打开。