CREATE EXTERNAL RESOURCE POOL (Transact-SQL)
適用於: SQL Server 2016 (13.x) 和更新版本
建立外部集區,以定義外部處理序的資源。 資源集區代表資料庫引擎執行個體的實體資源 (記憶體和 CPU) 子集。 Resource Governor 可在資源集區間散發伺服器資源,最多可達 64 個集區。
若是 SQL Server 2016 (13.x) 中的 R 服務 (資料庫內),外部集區會控管 rterm.exe
、BxlServer.exe
及其繁衍的其他處理序。
若是機器學習服務,外部集區會控管 rterm.exe
、python.exe
、BxlServer.exe
及其繁衍的其他處理序。
語法
CREATE EXTERNAL RESOURCE POOL pool_name
[ WITH (
[ MAX_CPU_PERCENT = value ]
[ [ , ] MAX_MEMORY_PERCENT = value ]
[ [ , ] MAX_PROCESSES = value ]
)
]
[ ; ]
<CPU_range_spec> ::=
{ CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
CREATE EXTERNAL RESOURCE POOL pool_name
[ WITH (
[ MAX_CPU_PERCENT = value ]
[ [ , ] AFFINITY CPU =
{
AUTO
| ( <cpu_range_spec> )
| NUMANODE = ( <NUMA_node_id> )
} ]
[ [ , ] MAX_MEMORY_PERCENT = value ]
[ [ , ] MAX_PROCESSES = value ]
)
]
[ ; ]
<CPU_range_spec> ::=
{ CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
引數
pool_name
這是外部資源集區的使用者定義名稱。 pool_name 為英數字元,最多可有 128 個字元。 此引數在 SQL Server 執行個體內必須是唯一的,且必須滿足識別碼的規則。
MAX_CPU_PERCENT =value
出現 CPU 爭用時,外部資源集區中所有要求可接收的最大平均 CPU 頻寬。 值是整數。 允許的 value 範圍為 1 至 100。
MAX_MEMORY_PERCENT =value
指定在此外部資源集區中,可供要求使用的伺服器記憶體總量。 值是整數。 允許的 value 範圍為 1 至 100。
MAX_PROCESSES =value
允許外部資源集區使用的處理序數目上限。 0 = 集區的閾值沒有限制,這在之後只會受電腦資源約束。
MAX_CPU_PERCENT =value
出現 CPU 爭用時,外部資源集區中所有要求可接收的最大平均 CPU 頻寬。 值是整數。 允許的 value 範圍為 1 至 100。
AFFINITY {CPU = AUTO | ( <CPU_range_spec>) | NUMANODE = (<NUMA_node_range_spec>)} 將外部資源集區附加至特定的 CPU。
AFFINITY CPU = (<CPU_range_spec>) 會將外部資源集區對應到指定 CPU_ID 所識別的 SQL Server CPU。
當您使用 AFFINITY NUMANODE = **(<NUMA_node_range_spec>) 時,外部資源集區會與對應到指定 NUMA 節點或節點範圍的 SQL Server 實體 CPU 同質化。
MAX_MEMORY_PERCENT =value
指定在此外部資源集區中,可供要求使用的伺服器記憶體總量。 值是整數。 允許的 value 範圍為 1 至 100。
MAX_PROCESSES =value
允許外部資源集區使用的處理序數目上限。 0 = 集區的閾值沒有限制,這在之後只會受電腦資源約束。
備註
當您執行 ALTER RESOURCE GOVERNOR RECONFIGURE 陳述式時,資料庫引擎會實作資源集區。
如需資源集區的一般資訊,請參閱 Resource Governor 資源集區、sys.resource_governor_external_resource_pools (Transact-SQL) 及 sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL)。
如需如何管理用於機器學習之外部資源集區的特定資訊,請參閱 SQL Server 中的機器學習資源管理。
權限
需要 CONTROL SERVER
權限。
範例
外部集區的 CPU 使用率限制為百分之 75。 記憶體的最大值為電腦上可用記憶體的百分之 30。
CREATE EXTERNAL RESOURCE POOL ep_1
WITH (
MAX_CPU_PERCENT = 75
, MAX_MEMORY_PERCENT = 30
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
CREATE EXTERNAL RESOURCE POOL ep_1
WITH (
MAX_CPU_PERCENT = 75
, AFFINITY CPU = AUTO
, MAX_MEMORY_PERCENT = 30
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
另請參閱
- 外部指令碼已啟用伺服器組態選項
- sp_execute_external_script (Transact-SQL)
- ALTER EXTERNAL RESOURCE POOL (Transact-SQL)
- DROP EXTERNAL RESOURCE POOL (Transact-SQL)
- CREATE RESOURCE POOL (Transact-SQL)
- CREATE WORKLOAD GROUP (Transact-SQL)
- 資源管理員資源集區
- sys.resource_governor_external_resource_pools (Transact-SQL)
- sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL)
- ALTER RESOURCE GOVERNOR (Transact-SQL)