如何将数据库引擎配置为侦听多个 TCP 端口

为 SQL Server 启用 TCP/IP 后,数据库引擎将侦听连接点上是否有传入的连接(由 IP 地址和 TCP 端口号组成)。下列步骤将创建一个表格格式数据流 (TDS) 端点,以便 SQL Server 侦听其他 TCP 端口。

创建第二个 TDS 端点的可能原因包括:

  • 通过将防火墙配置为限制访问特定子网上的本地客户机的默认端点,提高安全性。通过创建防火墙对 Internet 公开的新端点并限制服务器支持组对此端点的连接权限,维护支持组对 SQL Server 的 Internet 访问。
  • 使用非一致内存访问 (NUMA) 时,将连接与特定处理器关联。有关如何配置 NUMA 节点的 TCP/IP 端口的详细信息,请参阅 SQL Server 2005 如何支持 NUMA
ms189310.note(zh-cn,SQL.90).gif注意:
创建新的 Transact-SQL 端点时,将撤消默认 TDS 端点的 public 连接权限。如果默认端点需要访问 public 组,请使用 GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] to [public] 语句重新应用此权限。

配置 TDS 端点的步骤如下,但可以不按顺序进行:

  • 为 TCP 端口创建 TDS 端点,恢复对默认端点的访问权限(如果适用)。
  • 对所需的服务器主体授予对端点的访问权限。
  • 指定所选 IP 地址的 TCP 端口号。

创建 TDS 端点

  1. 发出以下语句,为服务器上所有可用的 TCP 地址的端口 1500 创建名为 CustomConnection 的端点。

    USE master
    GO
    CREATE ENDPOINT [CustomConnection]
    STATE = STARTED
    AS TCP
       (LISTENER_PORT = 1500, LISTENER_IP =ALL)
    FOR TSQL() ;
    GO
    

授予对端点的访问权限

  1. 发出以下语句,对 corp 域中的 SQLSupport 组授予对 CustomConnection 端点的访问权限。

    GRANT CONNECT ON ENDPOINT::[CustomConnection] to [corp\SQLSupport] ;
    GO
    

将 SQL Server 数据库引擎配置为侦听其他 TCP 端口

  1. 在 SQL Server 配置管理器中,展开**“SQL Server 2005 网络配置”**,然后单击“*<实例名>*的协议”。

  2. 展开“*<实例名>*的协议”,然后单击 TCP/IP

  3. 在右窗格中,右键单击要启用的每个禁用的 IP 地址,再单击**“启用”**。

  4. 右键单击 IPAll,再单击**“属性”**。

  5. 在**“TCP 端口”框中,键入要数据库引擎侦听的端口(用逗号分隔)。在我们的示例中,如果列出了默认端口 1433,则键入 ,1500,随后框中将显示 1433,1500,然后单击“确定”**。

    ms189310.note(zh-cn,SQL.90).gif注意:
    如果不想对所有 IP 地址启用端口,则在属性框中只为所需地址配置其他端口。然后,在控制台窗格中,右键单击 TCP/IP,单击“属性”,然后在“全部侦听”框中选择“否”
  6. 在左窗格中,单击**“SQL Server 2005 服务”**。

  7. 在右窗格中,右键单击“SQL Server*<实例名>*”,再单击**“重新启动”**。

    数据库引擎重新启动后,错误日志将列出 SQL Server 要侦听的端口。

连接到新端点

  1. 发出以下语句,使用可信连接并假定用户为 [corp\SQLSupport] 组的成员连接到名为 ACCT 的服务器上的 SQL Server 默认实例的 CustomConnection 端点。

    sqlcmd -SACCT,1500
    

请参阅

任务

如何将 TCP/IP 端口映射到 NUMA 节点

概念

网络协议和 TDS 端点

其他资源

CREATE ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
GRANT 端点权限 (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助