CREATE RESOURCE POOL (Transact-SQL)
Crea un grupo de recursos de servidor del regulador de recursos en SQL Server. Un grupo de recursos de servidor representa un subconjunto de los recursos físicos (memoria, CPU y E/S) de una instancia del motor de base de datos. El Regulador de recursos permite que un administrador de bases de datos distribuya los recursos del servidor entre los grupos de recursos, hasta un máximo de 64 grupos. El regulador de recursos no está disponible en todas las ediciones de SQL Server. Para obtener una lista de características compatibles con las ediciones de SQL Server, vea Características compatibles con las ediciones de SQL Server 2014.
Se aplica a: SQL Server (desde SQL Server 2008 hasta la versión actual). |
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 ]
[ [ , ] MIN_IOPS_PER_VOLUME = value ]
[ [ , ] MAX_IOPS_PER_VOLUME = 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 de banda de CPU promedio garantizado para todas las solicitudes del 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 ancho de banda de CPU promedio máximo que recibirán todas las solicitudes del 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
Se aplica a: desde SQL Server 2012 hasta SQL Server 2014.
Especifica un límite máximo de ancho de banda de CPU que recibirán todas las solicitudes del grupo de recursos de servidor. Limita el nivel de ancho de banda máximo de 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>)}
Se aplica a: desde SQL Server 2012 hasta SQL Server 2014.
Adjunta el grupo de recursos de servidor a programadores específicos. El valor predeterminado es AUTO.
AFFINITY SCHEDULER = ( <scheduler_range_spec> ) asigna el grupo de recursos de servidor a las programaciones de SQL Server indicadas por los identificadores especificados. Estos identificadores se asignan a los valores de la columna scheduler_id de sys.dm_os_schedulers (Transact-SQL).
Cuando se usa AFFINITY NUMANODE = ( <NUMA_node_range_spec> ), se establece afinidad entre el grupo de recursos y los programadores de SQL Server que se asignan a las CPU físicas correspondientes al nodo o al intervalo de nodos NUMA 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 intervalo permitido para value está comprendido entre 0 y 100.MAX_MEMORY_PERCENT =value
Especifica la memoria total del servidor que pueden utilizar las solicitudes de 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.MIN_IOPS_PER_VOLUME =value
Se aplica a: desde SQL Server 2014 hasta SQL Server 2014.
Especifica el número mínimo de operaciones de E/S por segundo (IOPS) por volumen de disco que se deben reservar para el grupo de recursos de servidor. El intervalo permitido para value está comprendido entre 0 y 2^31-1 (2.147.483.647). Especifique 0 si no desea indicar un umbral mínimo para el grupo. El valor predeterminado es 0.
MAX_IOPS_PER_VOLUME =value
Se aplica a: desde SQL Server 2014 hasta SQL Server 2014.
Especifica el número máximo de operaciones de E/S por segundo (IOPS) por volumen de disco que se deben permitir para el grupo de recursos de servidor. El intervalo permitido para value está comprendido entre 0 y 2^31-1 (2.147.483.647). Especifique 0 para establecer un umbral ilimitado para el grupo. El valor predeterminado es 0.
Si MAX_IOPS_PER_VOLUME se establece en 0 para un grupo, este no está regulado y puede tomar todas las IOPS del sistema, incluso aunque otros grupos tengan establecido un valor MIN_IOPS_PER_VOLUME. En este caso, se recomienda establecer el valor de MAX_IOPS_PER_VOLUME para este grupo en un número alto (por ejemplo, el valor máximo 2^31-1) si desea que se regule la E/S de este grupo.
Comentarios
MIN_IOPS_PER_VOLUME y MAX_IOPS_PER_VOLUME especifican las lecturas o escrituras mínimas y máximas por segundo. Estas lecturas o escrituras pueden ser de cualquier tamaño y no indican un rendimiento mínimo o máximo.
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 pueden utilizar capacidad de 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 CPU para cada componente con afinidad (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 se establece el valor de CAP_CPU_PERCENT en un límite máximo de 30 % y AFFINITY SCHEDULER en un intervalo de 0 a 63, 128 a 191.
Se aplica a: desde SQL Server 2012 hasta SQL Server 2014. |
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
);
En el ejemplo siguiente se establece MIN_IOPS_PER_VOLUME en <un valor> y MAX_IOPS_PER_VOLUME en <un valor>. Estos valores controlan las operaciones de lectura y escritura de E/S física disponibles para el grupo de recursos de servidor.
Se aplica a: desde SQL Server 2014 hasta SQL Server 2014. |
CREATE RESOURCE POOL PoolAdmin
WITH (
MIN_IOPS_PER_VOLUME = 20,
MAX_IOPS_PER_VOLUME = 100
);
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)