CREATE EXTERNAL RESOURCE POOL (Transact-SQL)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores

Crea un grupo externo para definir los recursos de los procesos externos. Un grupo de recursos de servidor representa un subconjunto de los recursos físicos (memoria y CPU) de una instancia del motor de base de datos. Un Regulador de recursos puede distribuir los recursos del servidor entre los grupos de recursos, hasta un máximo de 64 grupos.

Para R Services (en base de datos) en SQL Server 2016 (13.x), el grupo externo rige rterm.exe, BxlServer.exe y otros procesos generados por ellos.

En Machine Learning Services, el grupo externo rige rterm.exe, python.exe, BxlServer.exe y otros procesos generados por ellos.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

pool_name
Es el nombre definido por el usuario para identificar el grupo de recursos externos. pool_name es alfanumérico y puede tener hasta 128 caracteres. Este argumento debe ser únicos en una instancia de SQL Server y cumplir las reglas de los identificadores.

MAX_CPU_PERCENT =value
El promedio máximo de ancho de banda de CPU que pueden recibir todas las solicitudes en el grupo de recursos externos cuando haya contención de CPU. value es un valor entero. El intervalo permitido para value es de 1 a 100.

MAX_MEMORY_PERCENT =value
Especifica la memoria total del servidor que puede ser usada por las solicitudes en este grupo de recursos externos. value es un valor entero. El intervalo permitido para value es de 1 a 100.

MAX_PROCESSES =value
El número máximo de procesos permitidos para el grupo de recursos externos. 0 = umbral ilimitado para el grupo, que estará enlazado solamente por recursos del equipo.

MAX_CPU_PERCENT =value
El promedio máximo de ancho de banda de CPU que pueden recibir todas las solicitudes en el grupo de recursos externos cuando haya contención de CPU. value es un valor entero. El intervalo permitido para value es de 1 a 100.

AFFINITY {CPU = AUTO | (<CPU_range_spec>) | NUMANODE = (<NUMA_node_range_spec>)} Adjunte el grupo de recursos externos a CPU concretas.

AFFINITY CPU = (<CPU_range_spec>) asigna el grupo de recursos externos a las CPU de SQL Server identificadas por los CPU_ID dados.

When you use AFFINITY NUMANODE = **(<NUMA_node_range_spec>), se establece una afinidad entre el grupo de recursos externos y las CPU físicas de SQL Server correspondientes al nodo o al intervalo de nodos NUMA especificado.

MAX_MEMORY_PERCENT =value
Especifica la memoria total del servidor que puede ser usada por las solicitudes en este grupo de recursos externos. value es un valor entero. El intervalo permitido para value es de 1 a 100.

MAX_PROCESSES =value
El número máximo de procesos permitidos para el grupo de recursos externos. 0 = umbral ilimitado para el grupo, que estará enlazado solamente por recursos del equipo.

Observaciones

El Motor de base de datos implementa el grupo de recursos al ejecutar la instrucción ALTER RESOURCE GOVERNOR RECONFIGURE.

Para obtener información general sobre los grupos de recursos, vea Grupo de recursos de Resource Governor, sys.resource_governor_external_resource_pools (Transact-SQL) y sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL).

Para obtener información específica sobre cómo administrar los grupos de recursos externos usados en el aprendizaje automático, vea Resource governance for machine learning in SQL Server (Gobernanza de recursos para aprendizaje automático en SQL Server).

Permisos

Requiere el permiso CONTROL SERVER.

Ejemplos

El grupo externo ha restringido el uso de CPU al 75 por ciento. La cantidad máxima de memoria es el 30 por ciento de la memoria disponible en el equipo.

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

Consulte también