[FIX] トレース フラグ -T8002 では affinity mask がプロセッサ アフィニティとして扱われる

この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
この修正プログラムでは、-T8002 という起動時のトレース フラグを新規に導入しています。このフラグによって、affinity mask がプロセッサ アフィニティとして扱われるように、affinity mask の意味を変更できます。
状況
マイクロソフトでは、この問題をこの資料の冒頭に記載したマイクロソフト製品の問題として認識しています。
詳細
デフォルトでは、SQL Server の affinity mask には 0 が設定されています。この設定では、SQL Server ワーカー スレッドで、利用可能な任意のプロセッサを使用できます。affinity mask を設定すると、SQL Server ワーカー スレッドとプロセッサの関連付けが行われ、ワーカー スレッドで使用できるプロセッサは指定された 1 つのプロセッサのみとなります。SQL Server 起動時のトレース フラグ -T8002 を追加すると、affinity mask はプロセッサ アフィニティとして扱われ、SetThreadAffinityMask 関数が呼び出されます。ただし、このトレース フラグを使用すると、SQL Server のスレッド アフィニティは、affinity mask で指定したすべてのビットに対して設定されます。

たとえば、affinity mask を 0x3 (プロセッサ 0 および プロセッサ 1) に設定していて、トレース フラグ -T8002 を使用していない場合、ワーカー スレッドの半分はプロセッサ 0 と関連付けられ、残りの半分のスレッドはプロセッサ 1 と関連付けられます。ただし、トレース フラグ -T8002 が有効になっており、かつ affinity mask を 0x3 に設定している場合は、ワーカー スレッドは両方のプロセッサに関連付けられます。このトレース フラグと affinity mask を設定した場合、SQL Server で使用されるプロセッサを全体的に制限できます。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 818769 (最終更新日 2003-07-17) を基に作成したものです。
プロパティ

文書番号:818769 - 最終更新日: 02/26/2014 21:05:24 - リビジョン: 2.1

  • Microsoft SQL Server 2000 Service Pack 3
  • kbnosurvey kbarchive kbhotfixserver kbsqlserv2000presp4fix kbfix kbbug KB818769
フィードバック