SQL Server到底需要使用哪些端口

本文详细介绍了SQLServer2008中使用的各种端口及其用途,包括数据库引擎的1433端口、SSIS所需的135端口、SSAS的2383端口及UDP1434端口、报表服务的80端口,以及SSB和其他服务涉及的端口。

SQL Server在安装到服务器上后,由于出于服务器安全的需要,所以需要屏蔽掉所有不使用的端口,只开放必须使用的端口。下面就来介绍下SQL Server 2008中使用的端口有哪些:

首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果我们要远程连接数据库引擎,那么就需要打开该端口。这个端口是可以修改的,在“SQL Server配置管理器”中切换到“XXX的协议”里面选择,TCP/IP协议属性中可以设置TCP端口。如图所示:

image

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服务即可。

image

重启后,SSMS获取其他客户端连接SSAS的话,那么就需要使用“主机名:端口”的方式作为连接主机,而如果是数据库引擎的话,那么是使用“主机名,端口”的格式,这两个是有所区别的。

报表服务是通过Web的方式提供服务的,所以默认情况下报表服务使用的是80端口,当然用户也可以修改报表服务的端口,在报表服务配置管理器中修改Web服务和报表管理器的端口,如图所示:

image

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服务不要打开。

### 除 1433 端口SQL Server 可能使用端口 - **命名实例动态端口**:SQL Server 命名实例默认会使用动态端口。当 SQL Server 服务启动时,系统会从可用端口范围(通常是 49152 - 65535)中分配一个端口给命名实例使用。 - **SQL Server Browser 服务端口**:SQL Server Browser 服务使用 UDP 端口 1434。该服务负责为客户端提供 SQL Server 实例及其使用端口的信息。 - **镜像端点端口**:在 SQL Server 数据库镜像中,需要配置镜像端点,此时会使用一个特定的端口,该端口可以由用户自定义,通常会选择一个未被占用的端口,范围一般在 1024 - 49151 之间。 - **Service Broker 端口**:Service Broker 是 SQL Server 提供的用于构建异步消息传递应用程序的技术,它也需要使用特定的端口进行通信,端口同样可以自定义。 ### 端口配置方法 #### 配置命名实例端口 可以通过 SQL Server 配置管理器来配置命名实例的端口: 1. 打开 SQL Server 配置管理器,不同版本的 SQL Server 在“运行”(Win + R)中输入对应的命令打开,如 SQLServerManager15.msc(对于 SQL Server 2019) [^1]。 2. 展开“SQL Server 网络配置”,选择对应的 SQL Server 实例(如 MSSQLSERVER)的协议。 3. 双击“TCP/IP”协议,在弹出的对话框中,切换到“IP 地址”选项卡。 4. 对于每个 IP 地址(如 IP1、IP2 等),可以设置其端口号。若要使用静态端口,将“TCP 端口”设置为想要使用端口号;若使用动态端口,则将“TCP 端口”留空。 5. 将“IPALL”的“TCP 端口”也设置为相应的端口号(若使用静态端口),点击“应用”和“确定”保存设置。 6. 重启 SQL Server 服务使配置生效。 #### 配置 SQL Server Browser 服务 SQL Server Browser 服务默认使用 UDP 端口 1434,一般无需手动更改。若要确认其状态,可以在服务管理器(Win + R 输入 services.msc)中找到“SQL Server Browser”服务,确保其正常运行。 #### 配置镜像端点端口 配置镜像端点端口的示例 SQL 代码如下: ```sql -- 创建镜像端点并指定端口 CREATE ENDPOINT MirroringEndpoint STATE=STARTED AS TCP (LISTENER_PORT = 5022) FOR DATABASE_MIRRORING (ROLE = PARTNER); ``` 上述代码创建了一个名为 MirroringEndpoint 的镜像端点,并指定使用端口 5022。 #### 配置 Service Broker 端口 配置 Service Broker 端口可以通过以下步骤: 1. 确保 SQL Server 网络配置中 TCP/IP 协议已启用,并且指定了合适的端口。 2. 使用以下 SQL 代码创建 Service Broker 端点并指定端口: ```sql -- 创建 Service Broker 端点并指定端口 CREATE ENDPOINT ServiceBrokerEndpoint STATE = STARTED AS TCP (LISTENER_PORT = 4022) FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS NEGOTIATE); ``` 上述代码创建了一个名为 ServiceBrokerEndpoint 的 Service Broker 端点,并指定使用端口 4022。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值