ALTER SERVER CONFIGURATION (Transact-SQL)

SQL Server 2008 R2 でハードウェア スレッドを CPU に関連付けます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

ALTER SERVER CONFIGURATION
SET PROCESS AFFINITY 
{   CPU = { AUTO | <CPU_range_spec> } 
  | NUMANODE = <NUMA_node_range_spec>
}
[ ; ]

<CPU_range_spec> ::= 
{ CPU_ID | CPU_ID TO CPU_ID } [,...n ]

<NUMA_node_range_spec> ::= 
{ NUMA_Node_ID | NUMA_Node_ID TO NUMA_Node_ID } [,...n ]

引数

  • PROCESS AFFINITY
    CPU へのハードウェア スレッドの関連付けを有効にします。

  • CPU = { AUTO | <CPU_range_spec> }
    指定された範囲内の個々の CPU に SQL Server のワーカー スレッドを配分します。指定された範囲外の CPU にはスレッドは割り当てられません。

    • AUTO
      CPU へのスレッドの割り当てを一切行いません。サーバーのワークロードに基づいて、オペレーティング システムが複数の CPU 間で自由にスレッドを移動できます。この値は既定値であり、推奨の設定です。

    • <CPU_range_spec> ::=
      スレッドを割り当てる CPU または CPU の範囲を指定します。

    • { CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
      1 つ以上の CPU の一覧です。CPU ID は、0 から始まる、integer 型の値です。
  • NUMANODE = <NUMA_node_range_spec>
    指定された NUMA ノードまたはノードの範囲に属しているすべての CPU にスレッドを割り当てます。

    • <NUMA_node_range_spec> ::=
      NUMA ノードまたは NUMA ノードの範囲を指定します。

    • { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]
      1 つ以上の NUMA ノードの一覧です。NUMA ノード ID は、0 から始まる、integer 型の値です。

説明

このステートメントは、DDL トリガーをサポートしません。SQL Server の再起動は不要です。

権限

ALTER SETTINGS 権限が必要です。

使用例

次の例では、256 個の CPU が、4 つのグループから成る NUMA ノード構成 (4 グループ合計 16 ノード) でサーバーに搭載されています。NUMA ノードにも CPU にもスレッドは割り当てられていません。

  • グループ 0: NUMA ノード 0 ~ 3、CPU 0 ~ 63

  • グループ 1: NUMA ノード 4 ~ 7、CPU 64 ~ 127

  • グループ 2: NUMA ノード 8 ~ 12、CPU 128 ~ 191

  • グループ 3: NUMA ノード 13 ~ 16、CPU 192 ~ 255

A. グループ 0 とグループ 2 のすべての CPU に関係を設定する

次の例では、グループ 0 とグループ 2 のすべての CPU に関係を設定します。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=0 TO 63, 128 TO 191;

B. NUMA ノード 0 と NUMA ノード 7 のすべての CPU に関係を設定する

次の例は、ノード 0 とノード 7 にのみ CPU 関係を設定します。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY NUMANODE=0, 7;

C. CPU 60 ~ 200 に関係を設定する

次の例は、CPU 60 ~ 200 に関係を設定します。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=60 TO 200;

D. CPU が 2 つ搭載されたシステムの CPU 0 に関係を設定する

次の例は、CPU を 2 つ搭載しているコンピューターの CPU=0 に関係を設定する方法を示しています。次のステートメントを実行する前の内部的な関係ビットマスク (affinity bitmask) は 00 です。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=0;

E. 関係を AUTO に設定する

次の例は、関係を AUTO に設定する方法を示しています。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=AUTO;