Share via


CREATE RESOURCE POOL (Transact-SQL)

Cria um pool de recursos do Administrador de Recursos. O Administrador de Recursos não está disponível em todas as edições do Microsoft SQL Server. Para obter uma lista de recursos com suporte nas edições do SQL Server, consulte Recursos compatíveis com as edições do SQL Server 2012.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL.

Sintaxe

CREATE RESOURCE POOL pool_name
[ WITH
    ( [ MIN_CPU_PERCENT = value ]
    [ [ , ] MAX_CPU_PERCENT = value ] 
     [ [ , ] CAP_CPU_PERCENT = value ] 
     [ [ , ] AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)} ] 
    [ [ , ] MIN_MEMORY_PERCENT = value ]
    [ [ , ] MAX_MEMORY_PERCENT = value ]) 
]
[;]

Scheduler_range_spec::=
{SCHED_ID | SCHED_ID TO SCHED_ID}[,…n]
NUMA_node_range_spec::=
{NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID}[,…n]

Argumentos

  • pool_name
    É o nome definido pelo usuário para o pool de recursos. pool_name é alfanumérico, pode ter até 128 caracteres, deve ser exclusivo dentro de uma instância do SQL Server e deve obedecer às regras de identificadores.

  • MIN_CPU_PERCENT =value
    Especifica a média de largura de banda de CPU garantida para todas as solicitações no pool de recursos quando houver contenção de CPU. value é um inteiro com uma configuração padrão de 0. O intervalo permitido para value é de 0 a 100.

  • MAX_CPU_PERCENT =value
    Especifica a média máxima de largura de banda de CPU que todas as solicitações desse pool de recursos receberão quando houver contenção de CPU. value é um inteiro com uma configuração padrão de 100. O intervalo permitido para value é de 1 a 100.

  • CAP_CPU_PERCENT =value
    Especifica uma extremidade rígida na largura de banda de CPU que todas as solicitações no pool de recursos receberão. Limita o nível de largura de banda de CPU máxima para que ele seja igual ao valor especificado. value é um inteiro com uma configuração padrão de 100. O intervalo permitido para value é de 1 a 100.

  • AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (<NUMA_node_range_spec>)}
    Anexe o pool de recursos a agendadores específicos. O valor padrão é AUTO.

    AFFINITY SCHEDULER = (Scheduler_range_spec) mapeia o pool de recursos para as agendas do SQL Server identificadas pelos IDs especificados. Essas IDs são mapeadas para os valores na coluna de scheduler_id em sys.dm_os_schedulers (Transact-SQL).

    Quando você usar AFFINITY NAMANODE = (NUMA_node_range_spec), o pool de recursos terá uma afinidade com os agendadores do SQL Server mapeados para CPUs físicas que correspondem ao nó NUMA especificado ou ao intervalo de nós. Você pode usar a seguinte consulta Transact-SQL para descobrir o mapeamento entre a configuração NUMA física e as IDs de agendador do SQL Server.

    SELECT osn.memory_node_id AS [numa_node_id], sc.cpu_id, sc.scheduler_id
    FROM sys.dm_os_nodes AS osn
    INNER JOIN sys.dm_os_schedulers AS sc ON osn.node_id = sc.parent_node_id AND sc.scheduler_id < 1048576
    
  • MIN_MEMORY_PERCENT =value
    Especifica a quantidade mínima de memória reservada para esse pool de recursos que não pode ser compartilhada com outros pools de recursos. value é um inteiro com uma configuração padrão de 0. O intervalo permitido para value é de 0 a 100.

  • MAX_MEMORY_PERCENT =value
    Especifica a memória total de servidor que pode ser usada por solicitações nesse pool de recursos. value é um inteiro com uma configuração padrão de 100. O intervalo permitido para value é de 1 a 100.

Comentários

Os valores para MAX_CPU_PERCENT e MAX_MEMORY_PERCENT devem ser maiores ou iguais aos valores de MIN_CPU_PERCENT e MIN_MEMORY_PERCENT, respectivamente.

CAP_CPU_PERCENT difere de MAX_CPU_PERCENT pois cargas de trabalho associadas com o pool podem usar a capacidade da CPU acima do valor de MAX_CPU_PERCENT quando ela está disponível, mas não acima do valor de CAP_CPU_PERCENT.

A porcentagem total de CPU para cada componente de afinidade (agendador(es) ou nó(s) NUMA) não deve exceder 100%.

Permissões

Requer a permissão CONTROL SERVER.

Exemplos

O exemplo a seguir mostra como criar um pool de recursos denominado bigPool. Esse pool usa as definições padrão do Administrador de Recursos.

CREATE RESOURCE POOL bigPool;
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

No exemplo a seguir, o CAP_CPU_PERCENT define a extremidade rígida como 30% e AFFINITY SCHEDULER é definido como um intervalo de 0 a 63, de 128 a 191.

CREATE RESOURCE POOL PoolAdmin
WITH (
     MIN_CPU_PERCENT = 10,
     MAX_CPU_PERCENT = 20,
     CAP_CPU_PERCENT = 30,
     AFFINITY SCHEDULER = (0 TO 63, 128 TO 191),
     MIN_MEMORY_PERCENT = 5,
     MAX_MEMORY_PERCENT = 15);

Comentários

O recurso Administrador de recursos permite que um administrador de banco de dados distribua recursos de servidor entre pools de recursos, até um máximo de 64 pools.

Consulte também

Referência

ALTER RESOURCE POOL (Transact-SQL)

DROP RESOURCE POOL (Transact-SQL)

CREATE WORKLOAD GROUP (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

DROP WORKLOAD GROUP (Transact-SQL)

ALTER RESOURCE GOVERNOR (Transact-SQL)