CREATE RESOURCE POOL (Transact-SQL)

Crea un grupo de recursos de servidor del regulador de recursos. El regulador de recursos no está disponible en todas las ediciones de Microsoft SQL Server. Para obtener una lista de características admitidas por las ediciones de SQL Server, vea Características compatibles con las ediciones de SQL Server 2012.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

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
    Es el nombre definido por el usuario para identificar el grupo de recursos de servidor. pool_name es alfanumérico, puede tener hasta 128 caracteres, debe ser único dentro de una instancia de SQL Server y debe cumplir las reglas de los identificadores.

  • MIN_CPU_PERCENT =value
    Especifica el ancho banda de la CPU promedio garantizado para todas las solicitudes en el grupo de recursos de servidor cuando hay contención de CPU. value es un entero y su valor predeterminado es 0. El intervalo permitido para value está comprendido entre 0 y 100.

  • MAX_CPU_PERCENT =value
    Especifica el promedio máximo de ancho banda de CPU que recibirán todas las solicitudes en el grupo de recursos de servidor cuando hay contención de CPU. value es un entero y su valor predeterminado es 100. El intervalo permitido para value está comprendido entre 1 y 100.

  • CAP_CPU_PERCENT =value
    Especifica un límite máximo de ancho banda de la CPU que recibirán todas las solicitudes en el grupo de recursos. Limita el nivel de ancho de banda máximo de la CPU para que coincida con el valor especificado. value es un entero y su valor predeterminado es 100. El intervalo permitido para value está comprendido entre 1 y 100.

  • AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (<NUMA_node_range_spec>)}
    Adjunte el grupo de recursos de servidor a los programadores específicos. El valor predeterminado es AUTO.

    AFFINITY SCHEDULER = (Scheduler_range_spec) asigna al grupo de recursos a las programaciones de SQL Server representadas por los identificadores proporcionados. Estos identificadores se asignan a los valores de la columna scheduler_id de sys.dm_os_schedulers (Transact-SQL).

    Cuando usa AFFINITY NAMANODE = (NUMA_node_range_spec), se establece afinidad entre el grupo de recursos y a los programadores de SQL Server que se asignan a las CPU físicas correspondientes al nodo NUMA o al intervalo de nodos especificado. Puede usar la siguiente consulta de Transact-SQL para detectar la asignación entre la configuración física de NUMA y los identificadores de programador de 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 la cantidad mínima de memoria reservada para este grupo de recursos de servidor que no se puede compartir con otros grupos de recursos de servidor. value es un entero y su valor predeterminado es 0. El rango permitido para value es de 0 a 100.

  • MAX_MEMORY_PERCENT =value
    Especifica la memoria total del servidor que puede ser utilizada por las solicitudes en este grupo de recursos de servidor. value es un entero y su valor predeterminado es 100. El intervalo permitido para value está comprendido entre 1 y 100.

Comentarios

Los valores de MAX_CPU_PERCENT y MAX_MEMORY_PERCENT deben ser mayores o iguales que los valores de MIN_CPU_PERCENT y MIN_MEMORY_PERCENT, respectivamente.

CAP_CPU_PERCENT se diferencia de MAX_CPU_PERCENT en que las cargas de trabajo asociadas al grupo de servidores pueden utilizar la capacidad de la CPU por encima del valor de MAX_CPU_PERCENT, si se encuentra disponible, pero no por encima del valor de CAP_CPU_PERCENT.

El porcentaje total de la CPU para cada componente afín (programadores o nodos NUMA) no debe superar el 100%.

Permisos

Requiere el permiso CONTROL SERVER.

Ejemplos

En el ejemplo siguiente se crea un grupo de recursos de servidor denominado bigPool. Este grupo utiliza los valores predeterminados del regulador de recursos.

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

En el ejemplo siguiente, CAP_CPU_PERCENT establece el límite máximo en 30% y AFFINITY SCHEDULER se establece en un intervalo de 0 a 63, 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);

Comentarios

La característica del regulador de recursos permite que un administrador de bases de datos distribuya los recursos del servidor entre los grupos de recursos de servidor, hasta un máximo de 64 fondos.

Vea también

Referencia

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)