CREATE EXTERNAL RESOURCE POOL (Transact-SQL)

Si applica a: SQL Server 2016 (13.x) e versioni successive

Crea un pool esterno per definire le risorse per i processi esterni. Un pool di risorse rappresenta un subset delle risorse fisiche (memoria e CPU) di un'istanza del motore di database. Resource Governor consente di distribuire le risorse del server tra pool di risorse, fino a un massimo di 64 pool.

Per R Services (In-Database) in SQL Server 2016 (13.x), il pool esterno gestisce rterm.exe, BxlServer.exe e altri processi derivati.

Per Machine Learning Services, il pool esterno gestisce rterm.exe, python.exe, BxlServer.exe e altri processi derivati.

Convenzioni di sintassi Transact-SQL

Sintassi

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 ]  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

pool_name
Nome definito dall'utente per il pool di risorse esterne. pool_name è un valore alfanumerico e può contenere fino a 128 caratteri. Questo argomento deve essere univoco all'interno di un'istanza di SQL Server e deve essere conforme alle regole per gli identificatori.

MAX_CPU_PERCENT =value
Larghezza di banda media massima della CPU che il pool di risorse esterne può ricevere in caso di contesa di CPU. value è un valore intero. L'intervallo consentito per value è compreso tra 1 e 100.

MAX_MEMORY_PERCENT =value
Specifica la memoria totale del server usabile dalle richieste in questo pool di risorse esterne. value è un valore intero. L'intervallo consentito per value è compreso tra 1 e 100.

MAX_PROCESSES =value
Numero massimo di processi consentiti per il pool di risorse esterne. 0 = soglia illimitata per il pool, che di conseguenza sarà limitato solo dalle risorse di computer.

MAX_CPU_PERCENT =value
Larghezza di banda media massima della CPU che il pool di risorse esterne può ricevere in caso di contesa di CPU. value è un valore intero. L'intervallo consentito per value è compreso tra 1 e 100.

AFFINITY {CPU = AUTO | ( <CPU_range_spec>) | NUMANODE = (<NUMA_node_range_spec>)} Attach the external resource pool to specific CPUs.

AFFINITY CPU = (<CPU_range_spec>) esegue il mapping del pool di risorse esterne alle CPU di SQL Server identificate dai valori CPU_ID specificati.

Quando si usa AFFINITY NUMANODE = **(<NUMA_node_range_spec>), viene creata un'affinità tra il pool di risorse esterne e le CPU fisiche di SQL Server corrispondenti al nodo o all'intervallo di nodi NUMA specificato.

MAX_MEMORY_PERCENT =value
Specifica la memoria totale del server usabile dalle richieste in questo pool di risorse esterne. value è un valore intero. L'intervallo consentito per value è compreso tra 1 e 100.

MAX_PROCESSES =value
Numero massimo di processi consentiti per il pool di risorse esterne. 0 = soglia illimitata per il pool, che di conseguenza sarà limitato solo dalle risorse di computer.

Osservazioni:

Il motore di database implementa il pool di risorse quando si esegue l'istruzione ALTER RESOURCE GOVERNOR RECONFIGURE.

Per informazioni generali sui pool di risorse, vedere Pool di risorse di Resource Governor, sys.resource_governor_external_resource_pools (Transact-SQL) e sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL).

Per informazioni specifiche per la gestione dei pool di risorse esterne usati per il Machine Learning, vedere Governance delle risorse per Machine Learning in SQL Server.

Autorizzazioni

È richiesta l'autorizzazione CONTROL SERVER.

Esempi

Il pool esterno ha limitato l'utilizzo della CPU al 75%. La memoria massima corrisponde al 30% della memoria disponibile nel computer.

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

Vedi anche