Compartir a través de


CREATE WORKLOAD GROUP (Transact-SQL)

Selección de un producto

En la fila siguiente, seleccione el nombre del producto que le interese; de esta manera, solo se mostrará la información de ese producto.

* SQL Server *  

 

SQL Server y SQL Managed Instance

Crea un grupo de cargas de trabajo del regulador de recursos y asocia el grupo de cargas de trabajo a un grupo de recursos del regulador de recursos.

El regulador de recursos no está disponible en todas las ediciones de SQL Server. Para obtener una lista de las características admitidas por las ediciones de SQL Server, consulte Ediciones y características admitidas de SQL Server 2022.

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.

Convenciones de sintaxis de Transact-SQL.

Sintaxis

CREATE WORKLOAD GROUP group_name
[ 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] ]
    [ [ , ] EXTERNAL external_pool_name | [default] ]
    } ]
[ ; ]

Argumentos

group_name

Nombre definido por el usuario para el grupo de cargas de trabajo. group_name es alfanumérico, puede tener hasta 128 caracteres, debe ser único dentro de una instancia del motor de base de datos y debe cumplir las reglas para los identificadores de Database.

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 = valor

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 de 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 = valor

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 value es 0, que indica una cantidad ilimitada.

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, vea Clase de eventos Umbral de la 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 = valor

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. El valor predeterminado de 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 value es de 0 a 64. El valor predeterminado para valor, 0, usa la configuración global.

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

GROUP_MAX_REQUESTS =valor

Especifica el número máximo de solicitudes simultáneas que pueden ejecutarse en el grupo de cargas de trabajo. valor debe ser 0 o un entero positivo. El valor predeterminado de 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.

EXTERNAL_POOL_NAME EXTERNAL | [valor predeterminado]

Válido para : SQL Server 2016 (13.x) y versiones posteriores.

El grupo de cargas de trabajo puede especificar un grupo de recursos externos. Puede definir un grupo de cargas de trabajo y asociarlo a dos grupos:

  • Un grupo de recursos para las cargas de trabajo del motor de base de datos.
  • Un nuevo grupo de recursos para procesos externos. Para obtener más información, vea sp_execute_external_script.

Observaciones

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 un límite por solicitud ni por consulta. 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.

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.

Ejemplo

Crea un grupo de cargas de trabajo denominado newReports en el grupo de recursos de default y limita la concesión de memoria máxima, el tiempo máximo de CPU de una solicitud y MAXDOP.

CREATE WORKLOAD GROUP newReports
WITH (
     REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
     REQUEST_MAX_CPU_TIME_SEC = 100,
     MAX_DOP = 4
     )
USING [default];

* SQL Managed Instance *  

 

SQL Server y SQL Managed Instance

Crea un grupo de cargas de trabajo del regulador de recursos y asocia el grupo de cargas de trabajo a un grupo de recursos del regulador de recursos.

El regulador de recursos no está disponible en todas las ediciones de SQL Server. Para obtener una lista de las características admitidas por las ediciones de SQL Server, consulte Ediciones y características admitidas de SQL Server 2022.

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.

Convenciones de sintaxis de Transact-SQL.

Sintaxis

CREATE WORKLOAD GROUP group_name
[ 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] ]
    [ [ , ] EXTERNAL external_pool_name | [default] ]
    } ]
[ ; ]

Argumentos

group_name

Nombre definido por el usuario para el grupo de cargas de trabajo. group_name es alfanumérico, puede tener hasta 128 caracteres, debe ser único dentro de una instancia del motor de base de datos y debe cumplir las reglas para los identificadores de Database.

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 = valor

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 de 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 = valor

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 value es 0, que indica una cantidad ilimitada.

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, vea Clase de eventos Umbral de la 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 = valor

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. El valor predeterminado de 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 value es de 0 a 64. El valor predeterminado para valor, 0, usa la configuración global.

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

GROUP_MAX_REQUESTS =valor

Especifica el número máximo de solicitudes simultáneas que pueden ejecutarse en el grupo de cargas de trabajo. valor debe ser 0 o un entero positivo. El valor predeterminado de 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.

EXTERNAL_POOL_NAME EXTERNAL | [valor predeterminado]

Válido para : SQL Server 2016 (13.x) y versiones posteriores.

El grupo de cargas de trabajo puede especificar un grupo de recursos externos. Puede definir un grupo de cargas de trabajo y asociarlo a dos grupos:

  • Un grupo de recursos para las cargas de trabajo del motor de base de datos.
  • Un nuevo grupo de recursos para procesos externos. Para obtener más información, vea sp_execute_external_script.

Observaciones

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 un límite por solicitud ni por consulta. 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.

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.

Ejemplo

Crea un grupo de cargas de trabajo denominado newReports en el grupo de recursos de default y limita la concesión de memoria máxima, el tiempo máximo de CPU de una solicitud y MAXDOP.

CREATE WORKLOAD GROUP newReports
WITH (
     REQUEST_MAX_MEMORY_GRANT_PERCENT = 2.5,
     REQUEST_MAX_CPU_TIME_SEC = 100,
     MAX_DOP = 4
     )
USING [default];

* Azure Synapse
Analytics *
 

 

Azure Synapse Analytics

Crea un grupo de cargas de trabajo. Los grupos de cargas de trabajo son contenedores de un conjunto de solicitudes y son la base de la configuración de la administración de cargas de trabajo en un sistema. Los grupos de cargas de trabajo proporcionan la capacidad de reservar recursos para el aislamiento de la carga de trabajo, contienen recursos, definen recursos por solicitud y cumplen las reglas de ejecución. Una vez completada la instrucción, la configuración entra en vigor.

Convenciones de sintaxis de Transact-SQL

CREATE 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 ] )
  [ ; ]

group_name
Especifica el nombre por el que se identifica el grupo de cargas de trabajo. group_name es sysname. Puede tener hasta 128 caracteres y debe ser único en la instancia.

MIN_PERCENTAGE_RESOURCE = valor
Especifica una asignación de recursos mínima garantizada para este grupo de cargas de trabajo que no se comparte con otros grupos de cargas de trabajo. La memoria es el único recurso regido por este parámetro. value es un entero comprendido entre 0 y 100. La suma de min_percentage_resource en todos los grupos de cargas de trabajo no puede ser superior a 100. El valor de min_percentage_resource no puede ser mayor que cap_percentage_resource. Hay valores efectivos mínimos permitidos por nivel de servicio. Vea Valores efectivos para obtener más detalles.

CAP_PERCENTAGE_RESOURCE = valor
Especifica el uso máximo de recursos para todas las solicitudes de un grupo de cargas de trabajo. Este parámetro está limitado tanto por los recursos de CPU como de memoria. El intervalo de enteros permitido para value es de 1 a 100. El valor de cap_percentage_resource debe ser mayor que min_percentage_resource. Se puede reducir el valor efectivo de cap_percentage_resource si min_percentage_resource se configura mayor que cero en otros grupos de cargas de trabajo.

REQUEST_MIN_RESOURCE_GRANT_PERCENT = value
Establece la cantidad mínima de recursos asignados por solicitud. La memoria es el único recurso regido por este parámetro. value es un parámetro necesario con un número decimal comprendido entre 0,75 y 100,00. El valor de request_min_resource_grant_percent debe ser un múltiplo de 0,25, debe ser un factor de min_percentage_resource y ser menor que cap_percentage_resource. Hay valores efectivos mínimos permitidos por nivel de servicio. Vea Valores efectivos para obtener más detalles.

Por ejemplo:

CREATE WORKLOAD GROUP wgSample 
WITH
  ( MIN_PERCENTAGE_RESOURCE = 26                -- integer value
    , REQUEST_MIN_RESOURCE_GRANT_PERCENT = 3.25 -- factor of 26 (guaranteed a minimum of 8 concurrency)
    , CAP_PERCENTAGE_RESOURCE = 100 )

Tenga en cuenta los valores que se usan para las clases de recursos como directriz para request_min_resource_grant_percent. La tabla siguiente contiene las asignaciones de recursos para Gen2.

Clase de recurso Porcentaje de recursos
Smallrc 3 %
Mediumrc 10 %
Largerc 22 %
Xlargerc 70%

REQUEST_MAX_RESOURCE_GRANT_PERCENT = valor

Establece la cantidad máxima de recursos asignados por solicitud. La memoria es el único recurso regido por este parámetro. value es un parámetro decimal opcional con un valor predeterminado igual a request_min_resource_grant_percent. value debe ser mayor o igual que request_min_resource_grant_percent. Cuando el valor de request_max_resource_grant_percent es mayor que request_min_resource_grant_percent y los recursos del sistema están disponibles, se asignan recursos adicionales a una solicitud.

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

Especifica la importancia predeterminada de una solicitud para el grupo de cargas de trabajo. Importance puede ser una de las siguientes, siendo NORMAL el valor predeterminado:

  • LOW
  • BELOW_NORMAL
  • NORMAL (valor predeterminado)
  • ABOVE_NORMAL
  • HIGH

La importancia establecida en el grupo de cargas de trabajo está predeterminada para todas las solicitudes en el grupo de cargas de trabajo. Un usuario también puede establecer la importancia en el nivel de clasificador, lo que puede invalidar la configuración de importancia del grupo de cargas de trabajo. Esto permite diferenciar la importancia de las solicitudes de un grupo de cargas de trabajo para acceder a los recursos no reservados más rápido. Cuando la suma de min_percentage_resource entre grupos de cargas de trabajo es inferior a 100, hay recursos no reservados que se asignan en función de la importancia.

QUERY_EXECUTION_TIMEOUT_SEC = valor

Especifica el tiempo máximo, en segundos, que se puede ejecutar una consulta antes de que se cancele. valor debe ser 0 o un entero positivo. El valor predeterminado de value es 0, que indica que no se agota nunca el tiempo de espera de la consulta. QUERY_EXECUTION_TIMEOUT_SEC empieza el recuento una vez que la consulta se encuentra en estado de ejecución, y no cuando la consulta se pone en cola.

Observaciones

Los grupos de cargas de trabajo correspondientes a las clases de recursos se crean automáticamente para favorecer la compatibilidad con versiones anteriores. Estos grupos de cargas de trabajo definidos por el sistema no se pueden quitar. Se pueden crear otros 8 grupos de cargas de trabajo definidos por el usuario.

Si se crea un grupo de cargas de trabajo con min_percentage_resource mayor que cero, la instrucción CREATE WORKLOAD GROUP se pondrá en cola hasta que haya suficientes recursos para crear el grupo de cargas de trabajo.

Valores efectivos

Los parámetros min_percentage_resource, cap_percentage_resource, request_min_resource_grant_percent y request_max_resource_grant_percent tienen valores efectivos que se ajustan en el contexto del nivel de servicio actual y la configuración de otros grupos de cargas de trabajo.

El parámetro request_min_resource_grant_percent tiene un valor efectivo porque se requieren los mínimos recursos por consulta según el nivel de servicio. Por ejemplo, en el nivel de servicio más bajo, DW100c, se necesita un mínimo del 25 % de recursos por solicitud. Si el grupo de cargas de trabajo está configurado con el 3 % en request_min_resource_grant_percent y request_max_resource_grant_percent, los valores efectivos de ambos parámetros se ajustan al 25 % cuando se inicia la instancia. Si la instancia se escala verticalmente a Dw1000c y los valores configurados y efectivos para ambos parámetros son un 3 %, porque el 3 % es el valor mínimo admitido en ese nivel de servicio. Si la instancia se escala a más de Dw1000c, los valores configurados y efectivos para ambos parámetros permanecerán en el 3 %. Vea la siguiente tabla para obtener más información sobre los valores efectivos en los diferentes niveles de servicio.

Nivel de servicio Valor efectivo más bajo para REQUEST_MIN_RESOURCE_GRANT_PERCENT Número máximo de consultas concurrentes
DW100c 25 % 4
DW200c 12,5 % 8
DW300c 8 % 12
DW400c 6,25 % 16
DW500c 5 % 20
DW1000c 3 % 32
DW1500c 3 % 32
DW2000c 2 % 48
DW2500c 2 % 48
DW3000c 1,5 % 64
DW5000c 1,5 % 64
DW6000c 0,75 % 128
DW7500c 0,75 % 128
DW10000c 0,75 % 128
DW15000c 0,75 % 128
DW30000c 0,75 % 128

El parámetro min_percentage_resource debe ser mayor que el valor efectivo de request_min_resource_grant_percent o igual a dicho valor. Un grupo de cargas de trabajo con un valor de min_percentage_resource configurado menor que el valor efectivo de min_percentage_resource tiene el valor ajustado en cero en tiempo de ejecución. Cuando esto sucede, los recursos configurados para min_percentage_resource se pueden compartir entre todos los grupos de cargas de trabajo. Por ejemplo, el grupo de cargas de trabajo wgAdHoc con un valor de min_percentage_resource del 10 % que se ejecuta en DW1000c tendría un valor efectivo de min_percentage_resource del 10 % (3 % es el valor mínimo admitido en DW1000c). wgAdhoc en DW100c tendría un valor de min_percentage_resource efectivo del 0 %. El 10 % configurado para wgAdhoc se compartiría entre todos los grupos de cargas de trabajo.

El parámetro cap_percentage_resource también tiene un valor efectivo. Si un grupo de cargas de trabajo wgAdhoc se configura con un valor de cap_percentage_resource del 100 % y se crea otro grupo de cargas de trabajo wgDashboards con un valor de min_percentage_resource del 25 %, el valor de cap_percentage_resource efectivo para wgAdhoc pasa a ser del 75 %.

La forma más fácil de comprender los valores en tiempo de ejecución de los grupos de cargas de trabajo consiste en consultar la vista del sistema sys.dm_workload_management_workload_groups_stats.

Permisos

Requiere el permiso CONTROL DATABASE.

Consulte también