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> }
    將 SQL Server 工作者執行緒分配給指定之範圍內的每個 CPU。超出指定之範圍的 CPU 將不會被指派執行緒。

    • AUTO
      指定不將 CPU 指派給任何執行緒。作業系統可以根據伺服器工作負載自由地在 CPU 之間移動執行緒。這是預設值且為建議的設定。

    • <CPU_range_spec> ::=
      指定要指派給執行緒的 CPU 或 CPU 範圍。

    • { CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
      這是一個或多個 CPU 的清單。CPU 識別碼從 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 ]
      這是一個或多個 NUMA 節點的清單。NUMA 節點識別碼從 0 開始,而且是 integer 值。

備註

這個陳述式不支援 DDL 觸發程序。不需要重新啟動 SQL Server。

權限

需要 ALTER SETTINGS 權限。

範例

在下列範例中,伺服器包含 256 個 CPU,而這些 CPU 排列成四個群組,總計有 16 個 NUMA 節點。執行緒不會指派給任何 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 和 7 中的所有 CPU

下列範例會將 CPU 相似性設定為只有節點 0 和 7。

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 的系統上,將相似性設定為 CPU 0

下列範例會示範如何在具有兩個 CPU 的電腦上,將相似性設定為 CPU=0。執行下列陳述式之前,內部相似性位元遮罩是 00。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=0;

E. 將相似性設定為 AUTO

下列範例會示範如何將相似性設定為 AUTO。

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=AUTO;