CREATE EXTERNAL RESOURCE POOL (Transact-SQL)

適用於:SQL Server 2016 (13.x) 和更新版本

建立外部集區,以定義外部處理序的資源。 資源集區代表資料庫引擎執行個體的實體資源 (記憶體和 CPU) 子集。 Resource Governor 可在資源集區間散發伺服器資源,最多可達 64 個集區。

若是 SQL Server 2016 (13.x) 中的 R 服務 (資料庫內),外部集區會控管 rterm.exeBxlServer.exe 及其繁衍的其他處理序。

若是機器學習服務,外部集區會控管 rterm.exepython.exeBxlServer.exe 及其繁衍的其他處理序。

Transact-SQL 語法慣例

Syntax

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 ]  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

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

另請參閱