次の方法で共有


CPU へのスレッドの割り当て

既定では、SQL Server の各インスタンスにより個々のスレッドが起動されます。その後オペレーティング システムにより、各スレッドが特定の CPU に割り当てられます。オペレーティング システムは、コンピュータに搭載されているマイクロプロセッサ (CPU) に SQL Server インスタンスのスレッドを均等に分散します。場合によっては、オペレーティング システムは、使用率が非常に高い CPU から別の CPU にスレッドを移動することもできます。

SQL Server の管理者は、affinity mask 構成オプションを使用して 1 基以上の CPU を SQL Server の特定のインスタンスのスレッドを実行できない状態にすることができます。affinity mask 値により、SQL Server のインスタンスのスレッドを実行するときに使用する CPU を表すビット パターンが指定されます。たとえば、affinity mask 値が 13 の場合は、1101 というビット パターンで表されます。4 基の CPU が搭載されているコンピュータの場合、このビット パターンは、SQL Server のインスタンスのスレッドが、CPU 1 を除く、CPU 0、CPU 2、CPU 3 でスケジューリングできることを示しています。affinity mask が指定されている場合、SQL Server のインスタンスにより、マスク オフに指定されていない複数の CPU にスレッドが均等に割り当てられます。affinity mask を使用した場合、オペレーティング システムによってある CPU から別の CPU にスレッドが移動されないという影響もあります。ただし、affinity mask は、ほとんど使用することがありません。多くのシステムでは、オペレーティング システムが使用可能な CPU でスレッドの実行をスケジューリングすることにより最適なパフォーマンスが得られます。