ALTER EXTERNAL RESOURCE POOL (Transact-SQL)

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Instância Gerenciada de SQL do Azure

Altera um pool externo do Resource Governor que especifica os recursos que podem ser usados por processos externos.

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

ALTER EXTERNAL RESOURCE POOL { pool_name | "default" }
[ WITH (
    [ MAX_CPU_PERCENT = value ]
    [ [ , ] MAX_MEMORY_PERCENT = value ]
    [ [ , ] MAX_PROCESSES = value ]
    )
]
[ ; ]

<CPU_range_spec> ::=
{ CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ]

ALTER EXTERNAL RESOURCE POOL { pool_name | "default" }
[ 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 ]

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

{ pool_name | "default" }
É o nome de um pool de recursos externo definido pelo usuário existente ou do pool de recursos externo padrão criado quando o SQL Server é instalado. "default" deve estar entre aspas duplas ("") ou colchetes ([]) quando usado com ALTER EXTERNAL RESOURCE POOL para evitar conflito com DEFAULT, que é uma palavra reservada do sistema.

MAX_CPU_PERCENT =value
Especifica a média máxima de largura de banda de CPU que todas as solicitações no pool de recursos podem receber quando há 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
Especifica o número máximo de processos permitidos para o pool de recursos externos. Especifique 0 para definir um limite ilimitado para o pool, que é associado posteriormente apenas pelos recursos do computador.

MAX_CPU_PERCENT =value
Especifica a média máxima de largura de banda de CPU que todas as solicitações no pool de recursos podem receber quando há 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
Especifica o número máximo de processos permitidos para o pool de recursos externos. Especifique 0 para definir 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 uso de pools de recursos externos para controlar trabalhos de aprendizado de máquina, consulte Governança de recursos para o aprendizado de máquina no SQL Server...

Permissões

Requer a permissão CONTROL SERVER.

Exemplos

A instrução a seguir altera um pool externo restringindo o uso da CPU a 50% e a memória máxima a 25% da memória disponível no computador.

ALTER EXTERNAL RESOURCE POOL ep_1
WITH (
    MAX_CPU_PERCENT = 50
    , MAX_MEMORY_PERCENT = 25
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
ALTER EXTERNAL RESOURCE POOL ep_1
WITH (
    MAX_CPU_PERCENT = 50
    , AFFINITY CPU = AUTO
    , MAX_MEMORY_PERCENT = 25
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

Confira também