当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 更改 MS SQL Server 实例的默认端口号 (TCP/1433)

作者:精品下载站 日期:2024-12-14 22:58:26 浏览:14 分类:玩电脑

更改 MS SQL Server 实例的默认端口号 (TCP/1433)


在本文中,我们将向您展示如何检查指定或默认 MS SQL Server 实例正在侦听(等待连接)的当前 TCP 端口、如何将 SQL Server 连接端口更改为静态/动态端口,以及客户端如何使用 SQL Server Browser 服务连接到 MSSQL。

  • 默认 SQL Server 实例 (MSSQLSERVER) 使用静态 TCP 端口 1433。它是客户端或 SQL Server Management Studio (SSMS) 控制台连接到的端口;

  • 命名 MSSQL 和 SQL Server Compact 实例配置为使用 RPC 范围 (49152 - 65535) 中的动态 TCP 端口

动态端口是指MSSQL实例接受连接的端口号是在SQL Server服务启动后分配的。在大多数情况下,即使在服务器重新启动后,SQL Server 也会侦听重新启动之前分配的相同动态 TCP 端口。但如果端口号繁忙,SQL Server 将在新的 TCP 端口上运行。连接到 MSSQL 的应用程序通常会从 SQL Server Browser 服务获取新的端口号,不会出现任何问题(我们稍后会介绍)。当您在单个主机上管理多个 SQL 实例时,动态 SQL Server 端口很方便,但当网络中实施防火墙时,它们会导致很多问题。

配置 MS SQL Server 实例以侦听特定端口

您可以重新配置 SQL Server 以侦听静态或动态 TCP 端口。通常,当多个 SQL Server 实例在单个主机上运行或网络中使用防火墙时,您可能需要它。

要管理侦听端口,您将需要SQL Server 配置管理器。通常,此管理单元与 MSSQL 实例一起安装。

打开 SQL Server 配置管理器并展开SQL Server 网络配置部分。

就我而言,服务器上只有 1 个 MSSQL 实例运行,因此我将为其配置侦听端口。实例的可用协议列表包含以下内容:

  • 共享内存协议用于从本地计算机(安装了 MSSQL 实例的计算机)进行连接。不建议禁用;

  • 命名管道可以通过 TCP/IP 协议使用。但它的使用并没有给我们带来太多好处,所以我们将启用它。

  • TCP/IP 是配置 MSSQL 网络选项的地方。

[玩转系统] 更改 MS SQL Server 实例的默认端口号 (TCP/1433)

双击TCP/IP

[玩转系统] 更改 MS SQL Server 实例的默认端口号 (TCP/1433)

Protocol 选项卡上只有 3 个参数:

  • 启用 - 确保 TCP/IP 协议已启用;

  • 保持活动发送保持活动数据包以确保连接仍然可用的频率(以毫秒为单位)。如无必要,请勿更改参数;

  • 全部监听 是一个不明显的设置,负责“IP 地址”选项卡中IPAll 部分的内容。如果 Listen All 的值为 No,则忽略 IPAll 部分

IP地址选项卡上,您可以查看计算机的所有IP地址(包括IPv6和本地IP地址)及其设置的列表。在这里,您可以为本地和外部连接地址配置不同的 TCP 端口,或者为不同的外部地址配置不同的端口(如果您的服务器在不同网段有多个网络接口,例如使用 VLAN 或多个 IP 别名)。

[玩转系统] 更改 MS SQL Server 实例的默认端口号 (TCP/1433)

您可能希望一次更改所有 IP 地址的端口,因此更改其 IPAll 部分。

[玩转系统] 更改 MS SQL Server 实例的默认端口号 (TCP/1433)

TCP 动态端口选项与使用动态端口相关。

  • TCP 动态端口值将禁用动态 SQL Server 端口;

  • 0 允许使用 RPC 范围 49152 - 65535 中的动态 TCP 端口;

  • 在这里设置任何固定端口值没有任何意义 - 每次 MSSQL 实例重新启动后它都会更改。

要为 SQL Server 实例设置静态 TCP 端口,请禁用 TCP 动态端口并在 TCP 端口参数中指定新的静态端口号。

[玩转系统] 更改 MS SQL Server 实例的默认端口号 (TCP/1433)

要应用更改,请重新启动 SQL Server 服务。请注意,SQL Server Browser 服务已停止。

[玩转系统] 更改 MS SQL Server 实例的默认端口号 (TCP/1433)

确保您可以通过新的固定 TCP 端口使用 SSMS 连接到 SQL 实例。连接字符串格式如下:

hostname\lab-sql, PortNumber

[玩转系统] 更改 MS SQL Server 实例的默认端口号 (TCP/1433)

如果不指定侦听端口,您将无法连接,因为 SQL Browser 服务已禁用。

SQL Server 浏览器服务:TCP 和 UDP 端口

在 MSSQL 2000 之前,您无法在一台主机上安装多个 SQL 实例。此功能出现在较新的 MSSQL 版本中。 SQL Server Browser出现在SQL Server 2005中,用作中间服务,在同一台计算机上安装的多个MSSQL实例之间分配连接。

此外,SQL Server Browser 负责连接到 MSSQL(例如,从 SQL Server Management Studio),无需指定端口号(

hostname\lab-sql

)。 SQL Server Browser 从注册表中获取实例的当前动态端口号并将其发送到客户端。

如果禁用 SQL Server Browser 服务,则必须手动指定 TCP 端口。例如,

hostname\lab-sql, 1440

如果 SQL Server Browser 服务停止并使用动态端口,应用程序将无法获取要连接的端口号。

标准 SQL Server 端口:

  • TCP 1433 是标准 SQL Server 端口;

  • UDP 1434 是 SQL Server Browser 使用的端口。

其他端口是在您安装/配置特定服务时配置的。

如果您使用严格的防火墙设置或者想要尽可能限制 SQL Server,建议禁用动态端口(设置空值)并禁用 SQL Server 浏览器。

如果您的 SQL 服务器具有公共访问权限,则值得更改默认端口号。它不会完全保护您免受黑客攻击,但会降低黑客攻击的频率。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯