适用于:SQL Server
本文介绍如何使用 SQL Server Configuration Manager 将 TCP/IP 端口映射到非统一内存访问(NUMA)节点。 启动时, 数据库引擎 会将节点信息写入错误日志中。
若要确定要使用的节点的节点数,请从错误日志或 sys.dm_os_schedulers 视图中读取节点信息。 若要将 TCP/IP 地址和端口设置到一个或多个节点,请在端口号后用括号追加一个节点标识位图(关联掩码)。 可以按十进制格式或十六进制格式指定节点。 若要创建位图,请先从右到左且以零开头为节点编号,例如 76543210。 创建节点列表的二进制表示形式,为要使用的节点提供 1 个,对于不想使用的节点,则为 0。 例如,若要使用 NUMA 节点 0、2 和 5,请指定 00100101。
NUMA node number 76543210
Mask for 0, 2, and 5 counting from right 00100101
将二进制表示形式(00100101)转换为十进制 [37]或十六进制 [0x25]。 若要侦听所有节点,则不提供任何节点标识符。
如果一个端口映射到多个 NUMA 节点,则 SQL Server 以循环的方式将连接分配到各节点,而不会试图平衡节点之间的负载。
注意
若要使 SQL Server 能够侦听每个 IP 地址的多个 TCP 端口,请参阅 配置数据库引擎以侦听多个 TCP 端口。
使用 SQL Server 配置管理器
在 SQL Server Configuration Manager 中,展开 SQL Server 网络配置,然后选择实例名称>的<协议。
在详细信息窗格中,双击“TCP/IP”。
在 “IP 地址” 选项卡(要配置的 IP 地址的相应部分)的 “TCP 端口” 框中,在端口号后面的方括号里添加 NUMA 节点标识符。 例如,对于 TCP 端口 1500 和节点 0、2 和 5,请使用
1500[37]或1500[0x25]。