CREATE EXTERNAL RESOURCE POOL (Transact-SQL)
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
Cria um pool externo para definir recursos para processos externos. Um pool de recursos representa um subconjunto dos recursos físicos (memória e CPUs) de uma instância do Mecanismo de Banco de Dados. O Resource Governor pode distribuir recursos de servidor entre pools de recursos até um máximo de 64 pools.
Para R Services (no banco de dados) no SQL Server 2016 (13.x), o pool externo controla rterm.exe
, BxlServer.exe
e outros processos gerados por eles.
Para Serviços de Machine Learning, o pool externo controla rterm.exe
, python.exe
, BxlServer.exe
e outros processos gerados por eles.
Convenções de sintaxe de Transact-SQL
Sintaxe
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 ]
Argumentos
pool_name
É o nome definido pelo usuário para o pool de recursos externo. pool_name é alfanumérico e pode ter até 128 caracteres. Esse argumento deve ser exclusivo dentro de uma instância do SQL Server e deve estar de acordo com as regras para identificadores.
MAX_CPU_PERCENT =value
A largura de banda média máxima da CPU para todas as solicitações que o pool de recursos externo poderá receber quando houver uma contenção de CPU. value é um inteiro. O intervalo permitido para value é de 1 a 100.
MAX_MEMORY_PERCENT =value
Especifica a memória total de servidor que pode ser usada por solicitações nesse pool de recursos externos. value é um inteiro. O intervalo permitido para value é de 1 a 100.
MAX_PROCESSES =value
O número máximo de processos permitidos para o pool de recursos externo. 0 = um limite ilimitado para o pool, que é associado posteriormente apenas pelos recursos do computador.
MAX_CPU_PERCENT =value
A largura de banda média máxima da CPU para todas as solicitações que o pool de recursos externo poderá receber quando houver uma contenção de CPU. value é um inteiro. O intervalo permitido para value é de 1 a 100.
AFFINITY {CPU = AUTO | ( <CPU_range_spec>) | NUMANODE = (<NUMA_node_range_spec>)} Anexe o pool de recursos externos a CPUs específicas.
AFFINITY CPU = (<CPU_range_spec>) mapeia o pool de recursos externos para as CPUs do SQL Server identificadas pelas CPU_IDs fornecidas.
Quando você usa AFFINITY NUMANODE = **(<NUMA_node_range_spec>), o pool de recursos externo é relacionado por afinidade com as CPUs físicas do SQL Server que correspondem ao nó NUMA ou ao intervalo de nós fornecido.
MAX_MEMORY_PERCENT =value
Especifica a memória total de servidor que pode ser usada por solicitações nesse pool de recursos externos. value é um inteiro. O intervalo permitido para value é de 1 a 100.
MAX_PROCESSES =value
O número máximo de processos permitidos para o pool de recursos externo. 0 = um limite ilimitado para o pool, que é associado posteriormente apenas pelos recursos do computador.
Comentários
O Mecanismo de Banco de Dados implementa o pool de recursos quando você executa a instrução ALTER RESOURCE GOVERNOR RECONFIGURE.
Para obter informações gerais sobre pools de recursos, confira Pool de recursos do Resource Governor, sys.resource_governor_external_resource_pools (Transact-SQL) e sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL).
Para obter informações específicas ao gerenciamento de pools de recursos externos usado para o aprendizado de máquina, confira Governança de recursos para o aprendizado de máquina no SQL Server.
Permissões
Requer a permissão CONTROL SERVER
.
Exemplos
O pool externo restringiu o uso da CPU a 75%. O máximo de memória é de 30% da memória disponível no computador.
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
Confira também
- Opção de Configuração do servidor external scripts enabled
- 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)
- Pool de recursos do Resource Governor
- sys.resource_governor_external_resource_pools (Transact-SQL)
- sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL)
- ALTER RESOURCE GOVERNOR (Transact-SQL)