Compartir a través de


ALTER WORKLOAD GROUP (Transact-SQL)

Selección de un producto

En la fila siguiente, seleccione el nombre del producto que le interesa y solo se muestra la información del producto.

* SQL Server *  

de instancia administrada de SQL

 

SQL Server e Instancia administrada de SQL

Cambia una configuración del grupo de cargas de trabajo del regulador de recursos existente y, opcionalmente, la asigna a otro grupo de recursos del regulador de recursos.

Nota

Para Azure SQL Managed Instance, debe estar en el contexto de la base de datos de master para modificar la configuración del regulador de recursos.

Transact-SQL convenciones de sintaxis.

Sintaxis

ALTER WORKLOAD GROUP { group_name | [default] }
[ WITH
    ([ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ] )
]
[ USING { pool_name | [default] } ]
[ ; ]

Argumentos

group_name | [valor predeterminado]

El nombre de un grupo de cargas de trabajo definido por el usuario existente o el regulador de recursos integrado default grupo de cargas de trabajo.

default debe estar entre corchetes ([]) o comillas ("") cuando se usa con ALTER WORKLOAD GROUP para evitar un conflicto con DEFAULT, que es una palabra reservada del sistema. Para obtener más información, consulte Identificadores de base de datos.

Los grupos de recursos integrados y los grupos de cargas de trabajo usan todos los nombres en minúsculas, como default. Use el default en minúsculas en los servidores que usan una intercalación que distingue mayúsculas de minúsculas. Los servidores con intercalación que no distinguen mayúsculas de minúsculas tratan default, Defaulty DEFAULT como el mismo valor.

IMPORTANCE = { LOW | MEDIUM | HIGH }

Especifica la importancia relativa de una solicitud en el grupo de cargas de trabajo. El valor predeterminado es MEDIUM.

IMPORTANCE es local en el grupo de recursos que contiene el grupo de cargas de trabajo. Los grupos de cargas de trabajo de importancia diferente dentro del mismo grupo de recursos se afectan entre sí, pero no afectan a los grupos de cargas de trabajo de otros grupos de recursos.

REQUEST_MAX_MEMORY_GRANT_PERCENT = de valor de

Especifica la cantidad máxima de memoria del área de trabajo de consulta que una sola solicitud puede tomar del grupo. valor es un porcentaje del tamaño del grupo de recursos definido por MAX_MEMORY_PERCENT. El valor predeterminado es 25.

En SQL Server 2017 (14.x) y versiones anteriores, valor es un entero y el intervalo permitido es de 1 a 100.

A partir de SQL Server 2019 (15.x), el valor puede ser fraccionario mediante el tipo de datos float. El intervalo permitido va de 0 a 100.

Importante

La cantidad especificada solo hace referencia a la memoria del área de trabajo de consulta obtenida a través de concesiones de memoria de consulta.

No se recomienda establecer valor demasiado grande (por ejemplo, mayor que 70) porque es posible que el servidor no pueda reservar suficiente memoria libre para otras consultas simultáneas. Esto puede provocar un tiempo de espera de concesión de memoria error 8645.

Establecer valor en 0 o un valor pequeño podría impedir que las consultas con operadores que requieran memoria del área de trabajo, como sort y hash, se ejecuten en grupos de cargas de trabajo definidos por el usuario. Si los requisitos de memoria de consulta superan el límite definido por este parámetro, se produce el siguiente comportamiento:

  • En el caso de los grupos de cargas de trabajo definidos por el usuario, el servidor intenta reducir el grado de paralelismo (DOP) de la solicitud (consulta) hasta que el requisito de memoria esté por debajo del límite o hasta que DOP sea igual a 1. Si el requisito de memoria de consulta sigue siendo mayor que el límite, se produce el error 8657 y se produce un error en la consulta.
  • Para los grupos de cargas de trabajo internal y default, el servidor permite que la consulta obtenga la memoria necesaria.

En cualquier caso, error 8645 puede producirse si el servidor no tiene memoria física suficiente.

REQUEST_MAX_CPU_TIME_SEC = de valor de

Especifica la cantidad máxima de tiempo de CPU, en segundos, que puede usar una solicitud. valor debe ser 0 o un entero positivo. El valor predeterminado de valor es 0, lo que significa ilimitado.

De forma predeterminada, el regulador de recursos no impide que una solicitud continúe si se supera el tiempo máximo. Sin embargo, se genera un evento. Para obtener más información, consulte clase de eventos umbral de CPU superado.

A partir de SQL Server 2016 (13.x) SP2 y SQL Server 2017 (14.x) CU3 y con marca de seguimiento 2422, el regulador de recursos anula una solicitud cuando se supera el tiempo máximo de CPU.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = de valor de

Especifica el tiempo máximo, en segundos, que una consulta puede esperar a que una concesión de memoria de la memoria del área de trabajo de consulta esté disponible. valor debe ser 0 o un entero positivo. La configuración predeterminada para valor, 0, usa un cálculo interno basado en el costo de la consulta para determinar el tiempo máximo.

Una consulta no siempre produce un error cuando se alcanza un tiempo de espera de concesión de memoria. Solo se produce un error en una consulta si hay demasiadas consultas simultáneas en ejecución. De lo contrario, la consulta solo puede obtener la concesión de memoria mínima, lo que reduce el rendimiento de las consultas.

MAX_DOP = valor

Especifica el grado máximo de paralelismo (MAXDOP) para la ejecución de consultas en paralelo. El intervalo permitido para valor es de 0 a 64. La configuración predeterminada para valor, 0, usa la configuración global.

Para obtener más información, consulte MAXDOP .

GROUP_MAX_REQUESTS = de valor de

Especifica el número máximo de solicitudes simultáneas que se pueden ejecutar en el grupo de cargas de trabajo. valor debe ser 0 o un entero positivo. La configuración predeterminada para valor es 0 y permite solicitudes ilimitadas. Cuando se alcanza el máximo de solicitudes simultáneas, se puede crear una sesión de ese grupo, pero se coloca en un estado de espera hasta que el número de solicitudes simultáneas cae por debajo del valor especificado.

USING { pool_name | [valor predeterminado] }

Asocia el grupo de cargas de trabajo al grupo de recursos definido por el usuario identificado por pool_nameo al grupo de recursos de default. Si no se proporciona pool_name o si no se especifica el argumento USING, el grupo de cargas de trabajo está asociado al grupo de default integrado.

default es una palabra reservada y, cuando se especifica en USING, debe incluirse entre corchetes ([]) o comillas ("").

Los grupos de recursos integrados y los grupos de cargas de trabajo usan todos los nombres en minúsculas, como default. Use el default en minúsculas en los servidores que usan una intercalación que distingue mayúsculas de minúsculas. Los servidores con intercalación que no distinguen mayúsculas de minúsculas tratan default, Defaulty DEFAULT como el mismo valor.

Observaciones

ALTER WORKLOAD GROUP se permite en el grupo de cargas de trabajo de default, pero no en el grupo de internal.

Los cambios en la configuración del grupo de cargas de trabajo no surten efecto hasta que se ejecute ALTER RESOURCE GOVERNOR RECONFIGURE.

Para obtener más información, consulte del regulador de recursos y grupo de cargas de trabajo regulador de recursos.

MAXDOP

Para una consulta determinada, el MAXDOP efectivo se determina de la siguiente manera:

  • MAXDOP como sugerencia de consulta se respeta siempre que no supere la configuración del grupo de cargas de trabajo MAX_DOP.
  • MAXDOP como sugerencia de consulta siempre invalida la configuración del servidor max degree of parallelism. Para obtener más información, vea Configuración del servidor: grado máximo de paralelismo.
  • El grupo de cargas de trabajo MAX_DOP invalida la configuración del servidor max degree of parallelism y la configuración de ámbito de base de datos MAXDOP.

El límite de MAXDOP se establece por tarea. No es una solicitud por o por límite de consultas. Durante la ejecución de una consulta en paralelo, una única solicitud puede generar varias tareas asignadas a un programador de . Para obtener más información, consulte la guía de arquitectura de tareas y subprocesos de .

Cuando una consulta se marca como serie en tiempo de compilación (MAXDOP = 1), no se puede ejecutar con paralelismo en tiempo de ejecución, independientemente de la configuración del grupo de cargas de trabajo o del servidor. Después de determinar MAXDOP para una consulta, solo se puede reducir debido a la presión de memoria. La reconfiguración del grupo de cargas de trabajo no afecta a las consultas que esperan en la cola de concesión de memoria.

Planes almacenados en caché

Cuando se cambia un plan que afecta a la configuración, como MAX_DOP, la nueva configuración surte efecto en los planes almacenados previamente en caché solo después de ejecutar DBCC FREEPROCCACHE (<pool_name>), donde <pool_name> es el nombre de un grupo de recursos del regulador de recursos usado por el grupo de cargas de trabajo actual.

  • Si cambia MAX_DOP a 1, no es necesario ejecutar DBCC FREEPROCCACHE porque los planes paralelos se pueden ejecutar en modo serie. Sin embargo, este plan podría ser menos eficaz que un plan compilado como un plan serie.
  • Si no es necesario cambiar MAX_DOP de 1 a 0 o un valor mayor que 1, no es necesario ejecutar DBCC FREEPROCCACHE. Sin embargo, los planes serie no se pueden ejecutar en paralelo, por lo que borrar la caché respectiva permite que los nuevos planes se compilen potencialmente mediante paralelismo.

Advertencia

Borrar los planes almacenados en caché de un grupo de recursos asociado a más de un grupo de cargas de trabajo afecta a todos los grupos de cargas de trabajo mediante el grupo de recursos definido por el usuario identificado por <pool_name>.

Creación de índices

Por motivos de rendimiento, la creación de índices puede usar más área de trabajo de memoria de la que se concedió inicialmente. El regulador de recursos admite este control especial. Sin embargo, la concesión inicial y las concesiones de memoria adicionales están limitadas por la configuración del grupo de cargas de trabajo y del grupo de recursos.

La memoria consumida para crear un índice no alineado en una tabla con particiones es proporcional al número de particiones implicadas. Si la memoria total necesaria supera el límite por consulta aplicado por la configuración del grupo de cargas de trabajo de REQUEST_MAX_MEMORY_GRANT_PERCENT, es posible que se produzca un error en la creación del índice. Dado que el grupo de cargas de trabajo de default permite que una consulta supere el límite por consulta con la memoria mínima necesaria para iniciarse por compatibilidad con versiones anteriores, es posible que pueda crear el mismo índice mediante el grupo de cargas de trabajo de default si el grupo de recursos de default tiene suficiente memoria total.

Permisos

Requiere el permiso CONTROL SERVER.

Ejemplos

En el ejemplo siguiente se muestra cómo cambiar la importancia de las solicitudes del grupo predeterminado de MEDIUM a LOW.

ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);

ALTER RESOURCE GOVERNOR RECONFIGURE;

En el ejemplo siguiente se muestra cómo mover un grupo de cargas de trabajo del grupo que está actualmente en el grupo de default.

ALTER WORKLOAD GROUP adHoc
USING [default];

ALTER RESOURCE GOVERNOR RECONFIGURE;

* Instancia administrada de SQL *  

 

SQL Server e Instancia administrada de SQL

Cambia una configuración del grupo de cargas de trabajo del regulador de recursos existente y, opcionalmente, la asigna a otro grupo de recursos del regulador de recursos.

Nota

Para Azure SQL Managed Instance, debe estar en el contexto de la base de datos de master para modificar la configuración del regulador de recursos.

Transact-SQL convenciones de sintaxis.

Sintaxis

ALTER WORKLOAD GROUP { group_name | [default] }
[ WITH
    ([ IMPORTANCE = { LOW | MEDIUM | HIGH } ]
      [ [ , ] REQUEST_MAX_MEMORY_GRANT_PERCENT = value ]
      [ [ , ] REQUEST_MAX_CPU_TIME_SEC = value ]
      [ [ , ] REQUEST_MEMORY_GRANT_TIMEOUT_SEC = value ]
      [ [ , ] MAX_DOP = value ]
      [ [ , ] GROUP_MAX_REQUESTS = value ] )
]
[ USING { pool_name | [default] } ]
[ ; ]

Argumentos

group_name | [valor predeterminado]

El nombre de un grupo de cargas de trabajo definido por el usuario existente o el regulador de recursos integrado default grupo de cargas de trabajo.

default debe estar entre corchetes ([]) o comillas ("") cuando se usa con ALTER WORKLOAD GROUP para evitar un conflicto con DEFAULT, que es una palabra reservada del sistema. Para obtener más información, consulte Identificadores de base de datos.

Los grupos de recursos integrados y los grupos de cargas de trabajo usan todos los nombres en minúsculas, como default. Use el default en minúsculas en los servidores que usan una intercalación que distingue mayúsculas de minúsculas. Los servidores con intercalación que no distinguen mayúsculas de minúsculas tratan default, Defaulty DEFAULT como el mismo valor.

IMPORTANCE = { LOW | MEDIUM | HIGH }

Especifica la importancia relativa de una solicitud en el grupo de cargas de trabajo. El valor predeterminado es MEDIUM.

IMPORTANCE es local en el grupo de recursos que contiene el grupo de cargas de trabajo. Los grupos de cargas de trabajo de importancia diferente dentro del mismo grupo de recursos se afectan entre sí, pero no afectan a los grupos de cargas de trabajo de otros grupos de recursos.

REQUEST_MAX_MEMORY_GRANT_PERCENT = de valor de

Especifica la cantidad máxima de memoria del área de trabajo de consulta que una sola solicitud puede tomar del grupo. valor es un porcentaje del tamaño del grupo de recursos definido por MAX_MEMORY_PERCENT. El valor predeterminado es 25.

En SQL Server 2017 (14.x) y versiones anteriores, valor es un entero y el intervalo permitido es de 1 a 100.

A partir de SQL Server 2019 (15.x), el valor puede ser fraccionario mediante el tipo de datos float. El intervalo permitido va de 0 a 100.

Importante

La cantidad especificada solo hace referencia a la memoria del área de trabajo de consulta obtenida a través de concesiones de memoria de consulta.

No se recomienda establecer valor demasiado grande (por ejemplo, mayor que 70) porque es posible que el servidor no pueda reservar suficiente memoria libre para otras consultas simultáneas. Esto puede provocar un tiempo de espera de concesión de memoria error 8645.

Establecer valor en 0 o un valor pequeño podría impedir que las consultas con operadores que requieran memoria del área de trabajo, como sort y hash, se ejecuten en grupos de cargas de trabajo definidos por el usuario. Si los requisitos de memoria de consulta superan el límite definido por este parámetro, se produce el siguiente comportamiento:

  • En el caso de los grupos de cargas de trabajo definidos por el usuario, el servidor intenta reducir el grado de paralelismo (DOP) de la solicitud (consulta) hasta que el requisito de memoria esté por debajo del límite o hasta que DOP sea igual a 1. Si el requisito de memoria de consulta sigue siendo mayor que el límite, se produce el error 8657 y se produce un error en la consulta.
  • Para los grupos de cargas de trabajo internal y default, el servidor permite que la consulta obtenga la memoria necesaria.

En cualquier caso, error 8645 puede producirse si el servidor no tiene memoria física suficiente.

REQUEST_MAX_CPU_TIME_SEC = de valor de

Especifica la cantidad máxima de tiempo de CPU, en segundos, que puede usar una solicitud. valor debe ser 0 o un entero positivo. El valor predeterminado de valor es 0, lo que significa ilimitado.

De forma predeterminada, el regulador de recursos no impide que una solicitud continúe si se supera el tiempo máximo. Sin embargo, se genera un evento. Para obtener más información, consulte clase de eventos umbral de CPU superado.

A partir de SQL Server 2016 (13.x) SP2 y SQL Server 2017 (14.x) CU3 y con marca de seguimiento 2422, el regulador de recursos anula una solicitud cuando se supera el tiempo máximo de CPU.

REQUEST_MEMORY_GRANT_TIMEOUT_SEC = de valor de

Especifica el tiempo máximo, en segundos, que una consulta puede esperar a que una concesión de memoria de la memoria del área de trabajo de consulta esté disponible. valor debe ser 0 o un entero positivo. La configuración predeterminada para valor, 0, usa un cálculo interno basado en el costo de la consulta para determinar el tiempo máximo.

Una consulta no siempre produce un error cuando se alcanza un tiempo de espera de concesión de memoria. Solo se produce un error en una consulta si hay demasiadas consultas simultáneas en ejecución. De lo contrario, la consulta solo puede obtener la concesión de memoria mínima, lo que reduce el rendimiento de las consultas.

MAX_DOP = valor

Especifica el grado máximo de paralelismo (MAXDOP) para la ejecución de consultas en paralelo. El intervalo permitido para valor es de 0 a 64. La configuración predeterminada para valor, 0, usa la configuración global.

Para obtener más información, consulte MAXDOP .

GROUP_MAX_REQUESTS = de valor de

Especifica el número máximo de solicitudes simultáneas que se pueden ejecutar en el grupo de cargas de trabajo. valor debe ser 0 o un entero positivo. La configuración predeterminada para valor es 0 y permite solicitudes ilimitadas. Cuando se alcanza el máximo de solicitudes simultáneas, se puede crear una sesión de ese grupo, pero se coloca en un estado de espera hasta que el número de solicitudes simultáneas cae por debajo del valor especificado.

USING { pool_name | [valor predeterminado] }

Asocia el grupo de cargas de trabajo al grupo de recursos definido por el usuario identificado por pool_nameo al grupo de recursos de default. Si no se proporciona pool_name o si no se especifica el argumento USING, el grupo de cargas de trabajo está asociado al grupo de default integrado.

default es una palabra reservada y, cuando se especifica en USING, debe incluirse entre corchetes ([]) o comillas ("").

Los grupos de recursos integrados y los grupos de cargas de trabajo usan todos los nombres en minúsculas, como default. Use el default en minúsculas en los servidores que usan una intercalación que distingue mayúsculas de minúsculas. Los servidores con intercalación que no distinguen mayúsculas de minúsculas tratan default, Defaulty DEFAULT como el mismo valor.

Observaciones

ALTER WORKLOAD GROUP se permite en el grupo de cargas de trabajo de default, pero no en el grupo de internal.

Los cambios en la configuración del grupo de cargas de trabajo no surten efecto hasta que se ejecute ALTER RESOURCE GOVERNOR RECONFIGURE.

Para obtener más información, consulte del regulador de recursos y grupo de cargas de trabajo regulador de recursos.

MAXDOP

Para una consulta determinada, el MAXDOP efectivo se determina de la siguiente manera:

  • MAXDOP como sugerencia de consulta se respeta siempre que no supere la configuración del grupo de cargas de trabajo MAX_DOP.
  • MAXDOP como sugerencia de consulta siempre invalida la configuración del servidor max degree of parallelism. Para obtener más información, vea Configuración del servidor: grado máximo de paralelismo.
  • El grupo de cargas de trabajo MAX_DOP invalida la configuración del servidor max degree of parallelism y la configuración de ámbito de base de datos MAXDOP.

El límite de MAXDOP se establece por tarea. No es una solicitud por o por límite de consultas. Durante la ejecución de una consulta en paralelo, una única solicitud puede generar varias tareas asignadas a un programador de . Para obtener más información, consulte la guía de arquitectura de tareas y subprocesos de .

Cuando una consulta se marca como serie en tiempo de compilación (MAXDOP = 1), no se puede ejecutar con paralelismo en tiempo de ejecución, independientemente de la configuración del grupo de cargas de trabajo o del servidor. Después de determinar MAXDOP para una consulta, solo se puede reducir debido a la presión de memoria. La reconfiguración del grupo de cargas de trabajo no afecta a las consultas que esperan en la cola de concesión de memoria.

Planes almacenados en caché

Cuando se cambia un plan que afecta a la configuración, como MAX_DOP, la nueva configuración surte efecto en los planes almacenados previamente en caché solo después de ejecutar DBCC FREEPROCCACHE (<pool_name>), donde <pool_name> es el nombre de un grupo de recursos del regulador de recursos usado por el grupo de cargas de trabajo actual.

  • Si cambia MAX_DOP a 1, no es necesario ejecutar DBCC FREEPROCCACHE porque los planes paralelos se pueden ejecutar en modo serie. Sin embargo, este plan podría ser menos eficaz que un plan compilado como un plan serie.
  • Si no es necesario cambiar MAX_DOP de 1 a 0 o un valor mayor que 1, no es necesario ejecutar DBCC FREEPROCCACHE. Sin embargo, los planes serie no se pueden ejecutar en paralelo, por lo que borrar la caché respectiva permite que los nuevos planes se compilen potencialmente mediante paralelismo.

Advertencia

Borrar los planes almacenados en caché de un grupo de recursos asociado a más de un grupo de cargas de trabajo afecta a todos los grupos de cargas de trabajo mediante el grupo de recursos definido por el usuario identificado por <pool_name>.

Creación de índices

Por motivos de rendimiento, la creación de índices puede usar más área de trabajo de memoria de la que se concedió inicialmente. El regulador de recursos admite este control especial. Sin embargo, la concesión inicial y las concesiones de memoria adicionales están limitadas por la configuración del grupo de cargas de trabajo y del grupo de recursos.

La memoria consumida para crear un índice no alineado en una tabla con particiones es proporcional al número de particiones implicadas. Si la memoria total necesaria supera el límite por consulta aplicado por la configuración del grupo de cargas de trabajo de REQUEST_MAX_MEMORY_GRANT_PERCENT, es posible que se produzca un error en la creación del índice. Dado que el grupo de cargas de trabajo de default permite que una consulta supere el límite por consulta con la memoria mínima necesaria para iniciarse por compatibilidad con versiones anteriores, es posible que pueda crear el mismo índice mediante el grupo de cargas de trabajo de default si el grupo de recursos de default tiene suficiente memoria total.

Permisos

Requiere el permiso CONTROL SERVER.

Ejemplos

En el ejemplo siguiente se muestra cómo cambiar la importancia de las solicitudes del grupo predeterminado de MEDIUM a LOW.

ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);

ALTER RESOURCE GOVERNOR RECONFIGURE;

En el ejemplo siguiente se muestra cómo mover un grupo de cargas de trabajo del grupo que está actualmente en el grupo de default.

ALTER WORKLOAD GROUP adHoc
USING [default];

ALTER RESOURCE GOVERNOR RECONFIGURE;

de instancia administrada de SQL

* Azure Synapse
Análisis *
 

 

Azure Synapse Analytics

Modifica un grupo de cargas de trabajo existente.

Consulte la sección comportamiento de ALTER WORKLOAD GROUP siguiente para obtener más información sobre cómo se comporta ALTER WORKLOAD GROUP en un sistema con solicitudes en ejecución y en cola.

También se aplican restricciones para CREATE WORKLOAD GROUP a ALTER WORKLOAD GROUP. Antes de modificar parámetros, consulte sys.workload_management_workload_groups para asegurarse de que los valores están dentro de intervalos aceptables.

Sintaxis

ALTER WORKLOAD GROUP group_name
WITH
([ MIN_PERCENTAGE_RESOURCE = value ]
  [ [ , ] CAP_PERCENTAGE_RESOURCE = value ]
  [ [ , ] REQUEST_MIN_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] REQUEST_MAX_RESOURCE_GRANT_PERCENT = value ]
  [ [ , ] IMPORTANCE = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH }]
  [ [ , ] QUERY_EXECUTION_TIMEOUT_SEC = value ] )
  [ ; ]

Argumentos

group_name

Es el nombre del grupo de cargas de trabajo definido por el usuario existente que se está modificando. group_name no se puede modificar.

MIN_PERCENTAGE_RESOURCE = valor

valor es un intervalo entero comprendido entre 0 y 100. Al modificar MIN_PERCENTAGE_RESOURCE, la suma de MIN_PERCENTAGE_RESOURCE en todos los grupos de cargas de trabajo no puede superar los 100. La modificación de MIN_PERCENTAGE_RESOURCE requiere que todas las consultas en ejecución se completen en el grupo de cargas de trabajo antes de que se complete el comando. Para obtener más información, consulte la sección comportamiento de ALTER WORKLOAD GROUP de este artículo.

CAP_PERCENTAGE_RESOURCE = de valor de

valor es un intervalo entero comprendido entre 1 y 100. El valor de CAP_PERCENTAGE_RESOURCE debe ser mayor que MIN_PERCENTAGE_RESOURCE. La modificación de CAP_PERCENTAGE_RESOURCE requiere que todas las consultas en ejecución se completen en el grupo de cargas de trabajo antes de que se complete el comando. Para obtener más información, consulte la sección comportamiento de ALTER WORKLOAD GROUP de este artículo.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = valor

valor es un decimal con un intervalo comprendido entre 0,75 y 100,00. El valor de REQUEST_MIN_RESOURCE_GRANT_PERCENT debe ser un factor de MIN_PERCENTAGE_RESOURCE y ser menor que CAP_PERCENTAGE_RESOURCE.

REQUEST_MAX_RESOURCE_GRANT_PERCENT = de valor de

valor es un decimal y debe ser mayor que REQUEST_MIN_RESOURCE_GRANT_PERCENT.

IMPORTANCE = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH }

Modifica la importancia predeterminada de una solicitud para el grupo de cargas de trabajo.

QUERY_EXECUTION_TIMEOUT_SEC = valor

Modifica el tiempo máximo, en segundos, que una consulta puede ejecutarse antes de que se cancele. El valor debe ser 0 o un entero positivo. El valor predeterminado para value es 0, lo que significa ilimitado.

Permisos

Requiere permiso CONTROL DATABASE.

Ejemplo

En el ejemplo siguiente se comprueban los valores de la vista de catálogo de un grupo de cargas de trabajo denominado wgDataLoadsy se cambian los valores.

SELECT *
FROM sys.workload_management_workload_groups
WHERE [name] = 'wgDataLoads'

ALTER WORKLOAD GROUP wgDataLoads WITH
( MIN_PERCENTAGE_RESOURCE            = 40
, CAP_PERCENTAGE_RESOURCE            = 80
, REQUEST_MIN_RESOURCE_GRANT_PERCENT = 10 )

Comportamiento de ALTER WORKLOAD GROUP

En cualquier momento hay tres tipos de solicitudes en el sistema:

  • Solicitudes que aún no se han clasificado.
  • Solicitudes clasificadas y en espera para bloqueos de objetos o recursos del sistema.
  • Solicitudes clasificadas y en ejecución.

En función de las propiedades de un grupo de cargas de trabajo que se modifica, el tiempo de cuando la configuración surte efecto variará.

Importancia o query_execution_timeout

Para las propiedades de importancia y query_execution_timeout, las solicitudes no clasificadas seleccionan los nuevos valores de configuración. Las solicitudes en espera y en ejecución se ejecutan con la configuración anterior. La solicitud ALTER WORKLOAD GROUP se ejecuta inmediatamente independientemente de si hay consultas en ejecución en el grupo de cargas de trabajo.

REQUEST_MIN_RESOURCE_GRANT_PERCENT o REQUEST_MAX_RESOURCE_GRANT_PERCENT

Para REQUEST_MIN_RESOURCE_GRANT_PERCENT y REQUEST_MAX_RESOURCE_GRANT_PERCENT, las solicitudes en ejecución se ejecutan con la configuración anterior. Las solicitudes en espera y las solicitudes no clasificadas seleccionan los nuevos valores de configuración. La solicitud ALTER WORKLOAD GROUP se ejecuta inmediatamente independientemente de si hay consultas en ejecución en el grupo de cargas de trabajo.

MIN_PERCENTAGE_RESOURCE o CAP_PERCENTAGE_RESOURCE

Para MIN_PERCENTAGE_RESOURCE y CAP_PERCENTAGE_RESOURCE, las solicitudes en ejecución se ejecutan con la configuración anterior. Las solicitudes en espera y las solicitudes no clasificadas seleccionan los nuevos valores de configuración.

Cambiar MIN_PERCENTAGE_RESOURCE y CAP_PERCENTAGE_RESOURCE requiere purgar las solicitudes en ejecución en el grupo de cargas de trabajo que se está modificando. Al reducir MIN_PERCENTAGE_RESOURCE, los recursos liberados se devuelven al grupo de recursos compartidos, lo que permite que las solicitudes de otros grupos de cargas de trabajo puedan usar. Por el contrario, aumentar el MIN_PERCENTAGE_RESOURCE esperará hasta que las solicitudes usen solo los recursos necesarios del grupo compartido para completarse. La operación de ALTER WORKLOAD GROUP habrá priorizado el acceso a los recursos compartidos a través de otras solicitudes que esperan ejecutarse en el grupo compartido. Si la suma de MIN_PERCENTAGE_RESOURCE supera los 100%, se produce un error inmediatamente en la solicitud ALTER WORKLOAD GROUP.

Comportamiento de bloqueo

La modificación de un grupo de cargas de trabajo requiere un bloqueo global en todos los grupos de cargas de trabajo. Una solicitud para modificar un grupo de cargas de trabajo se ponería en cola detrás de las solicitudes de creación o eliminación de grupos de cargas de trabajo ya enviadas. Si se envía un lote de instrucciones alter a la vez, se procesan en el orden en que se envían.

Consulte también