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 relative alla 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 ]  

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 =valore
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 =valore
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 =valore
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 =valore
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.

AFFINITÀ {CPU = AUTO | ( <CPU_range_spec>) | NUMANODE = (<NUMA_node_range_spec>)} Collegare il pool di risorse esterne a specifiche CPU.

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 =valore
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 =valore
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 esegui l'istruzione ALTER RESOURCE GOVERNOR RECONFIGURAZIONE.

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