ALTER SERVER CONFIGURATION (Transact-SQL)
讓硬體執行緒與 SQL Server 2008 R2 中的 CPU 產生關聯。
語法
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;