Alocando threads a uma CPU
Por padrão, cada instância do SQL Server inicia cada thread. O sistema operacional atribui cada thread a uma CPU específica. O sistema operacional distribui threads de instâncias do SQL Server uniformemente entre os microprocessadores ou as CPUs em um computador. Às vezes, o sistema operacional também pode mover um thread de uma CPU com uso intenso para outra CPU.
Os administradores do SQL Server podem usar a opção de configuração affinity mask para fazer com que uma ou mais CPUs deixem de ser qualificadas para executar threads de uma instância específica do SQL Server. O valor da affinity mask especifica um padrão de bit que indica as CPUs usadas para executar threads daquela instância do SQL Server. Por exemplo, o valor 13 da affinity mask representa o padrão de bit 1101. Em um computador com quatro CPUs, isso indica que os threads daquela instância do SQL Server podem ser agendados nas CPUs 0, 2 e 3, mas não na CPU 1. Se a affinity mask for especificada, a instância do SQL Server alocará threads uniformemente entre as CPUs sem máscaras especificadas. Outro efeito da affinity mask é que o sistema operacional não move threads de uma CPU para outra. Porém, a affinity mask é raramente usada. A maioria dos sistemas obtém desempenho ótimo deixando o sistema operacional agendar os threads entre as CPUs disponíveis.