Asignar subprocesos a una CPU

De forma predeterminada, cada instancia de SQL Server inicia cada subproceso. A continuación, el sistema operativo asigna cada subproceso a una CPU determinada. El sistema operativo distribuye los subprocesos de las instancias de SQL Server de manera uniforme entre los microprocesadores o las CPU de un equipo. En ocasiones, también puede mover un subproceso de una CPU que se utiliza mucho a otra CPU.

Los administradores de SQL Server pueden utilizar la opción de configuración affinity mask para que una o varias CPU no sean aptas para ejecutar subprocesos de una instancia específica de SQL Server. El valor de affinity mask especifica un patrón de bits que indica las CPU que se utilizan para ejecutar subprocesos de esa instancia de SQL Server. Por ejemplo, el valor 13 de affinity mask representa el patrón de bits 1101. En un equipo con cuatro CPU, esto indica que los subprocesos de esa instancia de SQL Server se pueden programar en las CPU 0, 2 y 3, pero no en la 1. Si se especifica affinity mask, la instancia de SQL Server asignará subprocesos de manera uniforme a las CPU que se han incluido en la máscara. Otro efecto de affinity mask es que el sistema operativo no mueve subprocesos de una CPU a otra. Sin embargo, affinity mask se usa con poca frecuencia. La mayoría de los sistemas obtienen un rendimiento óptimo permitiendo que el sistema operativo programe los subprocesos entre las CPU disponibles.