ALTER RESOURCE POOL (Transact-SQL)

Cambia la configuración del grupo de recursos de servidor del regulador de recursos existente.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL. La introducción es necesaria.

Sintaxis

ALTER RESOURCE POOL { pool_name | "default" }
[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 | "default" }
    Es el nombre de un grupo de recursos de servidor definido por el usuario ya existente o el grupo de recursos de servidor predeterminado creado al instalar SQL Server 2012.

    "default" debe estar encerrado entre comillas ("") o corchetes ([]) si se utiliza con ALTER RESOURCE POOL para evitar el conflicto con DEFAULT, que es una palabra reservada del sistema. Para obtener más información, vea Identificadores de base de datos.

    [!NOTA]

    Todos los grupos de cargas de trabajo y de recursos de servidor predefinidos usan nombres en minúsculas, como "predeterminado". Debe tenerse esto en cuenta en los servidores que usan una intercalación que distingue entre mayúsculas y minúsculas. En los servidores que usan una intercalación que no distingue entre mayúsculas y minúsculas, como SQL_Latin1_General_CP1_CI_AS, los nombres "predeterminado" y "Predeterminado" son equivalentes.

  • 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 intervalo permitido para value está comprendido entre 0 y 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

MAX_CPU_PERCENT y MAX_MEMORY_PERCENT deben ser mayores o iguales que 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%.

Si va a ejecutar instrucciones de DDL, se recomienda familiarizarse primero con los estados del regulador de recursos. Para obtener más información, vea Regulador de recursos.

Permisos

Requiere el permiso CONTROL SERVER.

Ejemplos

El ejemplo siguiente mantiene toda la configuración predeterminada del grupo de recursos de servidor en el grupo default, salvo MAX_CPU_PERCENT, que se cambia a 25.

ALTER RESOURCE POOL "default"
WITH
     ( MAX_CPU_PERCENT = 25)
GO
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

En el ejemplo siguiente, CAP_CPU_PERCENT establece el límite máximo en 80% y AFFINITY SCHEDULER se establece según un valor individual de 8 y un intervalo de 12 a 16.

ALTER RESOURCE POOL Pool25
WITH( 
     MIN_CPU_PERCENT = 5,
     MAX_CPU_PERCENT = 10,     
     CAP_CPU_PERCENT = 80,
     AFFINITY SCHEDULER = (8, 12 TO 16), 
     MIN_MEMORY_PERCENT = 5,
     MAX_MEMORY_PERCENT = 15
);

GO
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

Vea también

Referencia

CREATE 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)

Conceptos

Regulador de recursos