How to: Map TCP/IP Ports to NUMA Nodes
TCP/IP port to non-uniform memory access (NUMA) node affinity is configured as a server setting in SQL Server Configuration Manager. To set a TCP/IP address and port to single or multiple nodes, append a node identification bitmap (an affinity mask) in brackets after the port number. Nodes can be specified in either decimal or hexadecimal format.
On startup, Database Engine writes the node information to the error log. To determine the node number of the node you want to use, either read the node information from the error log, or from the sys.dm_os_schedulers view.
To create the bitmap, first number the nodes from right to left starting with zero, as in 76543210. Create a binary representation of the node list, providing 1 for nodes you want to use, and 0 for nodes you do not want to use. For example, to use NUMA nodes 0, 2, and 5, specify 00100101.
NUMA node number
Mask for 0, 2, and 5 counting from right
Convert the binary representation (00100101), into decimal , or hexadecimal [0x25]. To listen on all nodes, provide no node identifier, or use [-1].
If a port is mapped to more than one NUMA node, SQL Server assigns connections to nodes in a round-robin fashion without attempting to balance load across the nodes.
To enable SQL Server to listen on multiple TCP ports for each IP address, see How to: Configure the Database Engine to Listen on Multiple TCP Ports.
To map a TCP/IP port to a NUMA node
In SQL Server Configuration Manager, expand SQL Server 2005 Network Configuration, and then click Protocols for <instance name>.
In the details pane, double-click TCP/IP.
On the IP Addresses tab, in the section corresponding to the IP address to configure, in the TCP Port box, add the NUMA node identifier in brackets after the port number. For example, for TCP port 1500 and nodes 0, 2, and 5, use 1500, or 1500[0x25].