ALTER WORKLOAD GROUP (Transact-SQL)
Выбор продукта
В следующей строке выберите интересующее вас имя продукта и отображается только информация о продукте.
* SQL Server *
управляемого экземпляра SQL
Azure Synapse
аналитики
Управляемый экземпляр SQL Server и SQL
Изменяет существующую конфигурацию группы рабочей нагрузки регулятора ресурсов и при необходимости назначает ее другому пулу ресурсов регулятора ресурсов.
Заметка
Для Управляемого экземпляра SQL Azure необходимо быть в контексте базы данных master
для изменения конфигурации регулятора ресурсов.
Transact-SQL соглашения о синтаксисе.
Синтаксис
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] } ]
[ ; ]
Аргументы
group_name | [по умолчанию]
Имя существующей определяемой пользователем рабочей нагрузки или встроенного default
группы рабочей нагрузки регулятора ресурсов.
default
должны находиться в скобках ([]
) или кавычках (""
) при использовании с ALTER WORKLOAD GROUP
, чтобы избежать конфликта с DEFAULT
, который является системным зарезервированным словом. Дополнительные сведения см. в разделе Идентификаторы базы данных.
Встроенные пулы ресурсов и группы рабочих нагрузок используют все строчные имена, например default
. Используйте нижний регистр default
на серверах, использующих параметры сортировки с учетом регистра. Серверы с нечувствительными параметрами сортировки регистра обрабатывают default
, Default
и DEFAULT
с тем же значением.
ВАЖНОСТЬ = { LOW | MEDIUM | HIGH }
Указывает относительную важность запроса в группе рабочей нагрузки. Значение по умолчанию — MEDIUM
.
IMPORTANCE
является локальным для пула ресурсов, содержащего группу рабочих нагрузок. Группы рабочей нагрузки разной важности внутри одного пула ресурсов влияют друг на друга, но не влияют на группы рабочей нагрузки в других пулах ресурсов.
REQUEST_MAX_MEMORY_GRANT_PERCENT = значение
Указывает максимальный объем памяти рабочей области запроса, которую может принимать один запрос из пула.
значение — это процент размера пула ресурсов, определенного MAX_MEMORY_PERCENT
. Значение по умолчанию — 25.
В SQL Server 2017 (14.x) и старше значение является целым числом, а допустимый диапазон — от 1 до 100.
Начиная с SQL Server 2019 (15.x), значение может быть дробным с помощью типа данных float
. Допустимый диапазон составляет от 0 до 100.
Важный
Указанный объем относится только к памяти рабочей области запроса, полученной с помощью предоставления памяти запроса.
Не рекомендуется задавать значение слишком большой (например, больше 70), так как сервер может не указать достаточно свободного памяти для других одновременных запросов. Это может привести к истечении времени ожидания предоставления памяти ошибке 8645.
Установка значения значением значение 0 или небольшое значение может препятствовать запросам с операторами, требующими памяти рабочей области, например sort
и hash
, выполняться в определяемых пользователем группах рабочих нагрузок. Если требования к памяти запроса превышают предел, определенный этим параметром, происходит следующее поведение:
- Для определяемых пользователем групп рабочих нагрузок сервер пытается уменьшить степень параллелизма (DOP) запроса (запроса), пока требование к памяти не подпадает под предел или до тех пор, пока DOP не равен 1. Если требование к памяти запроса по-прежнему больше предела, возникает ошибка 8657, и запрос завершается сбоем.
- Для групп рабочих нагрузок
internal
иdefault
сервер разрешает запросу получить необходимую память.
В любом случае ошибка 8645 может возникнуть, если у сервера недостаточно физической памяти.
REQUEST_MAX_CPU_TIME_SEC = значение
Указывает максимальное количество времени ЦП в секундах, которое может использовать запрос. значение должно иметь значение 0 или положительное целое число. Значение по умолчанию для значения равно 0, что означает неограниченное значение.
По умолчанию регулятор ресурсов не предотвращает продолжение запроса, если превышено максимальное время. Однако создается событие. Дополнительные сведения см. в разделе превышение порогового значения ЦП.
Начиная с SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) и SQL Server 2017 (14.x) CU3 и используя флаг трассировки 2422, регулятор ресурсов прерывает запрос при превышении максимального времени ЦП.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = значение
Указывает максимальное время (в секундах), когда запрос может ожидать предоставления памяти из памяти в памяти рабочей области запроса. значение должно иметь значение 0 или положительное целое число. Параметр по умолчанию для значения , 0, использует внутренний расчет на основе затрат запроса, чтобы определить максимальное время.
Запрос не всегда завершается ошибкой при достижении времени ожидания предоставления памяти. Запрос завершается ошибкой, только если выполняется слишком много параллельных запросов. В противном случае запрос может получить только минимальное предоставление памяти, что приведет к снижению производительности запросов.
MAX_DOP = значение
Задает максимальную степень параллелизма (MAXDOP
) для параллельного выполнения запроса. Допустимый диапазон для значения составляет от 0 до 64. Параметр по умолчанию для значения , 0 использует глобальный параметр.
Дополнительные сведения см. в MAXDOP.
GROUP_MAX_REQUESTS = значение
Указывает максимальное количество одновременных запросов, которые могут выполняться в группе рабочих нагрузок. значение должно иметь значение 0 или положительное целое число. Значение по умолчанию для значения равно 0 и разрешает неограниченные запросы. По достижении максимального числа одновременных запросов можно создать сеанс в этой группе, но помещается в состояние ожидания до тех пор, пока число одновременных запросов не упадет под указанное значение.
USING { pool_name | [по умолчанию] }
Связывает группу рабочей нагрузки с определяемым пользователем пулом ресурсов, определяемым pool_name, или с пулом ресурсов default
. Если pool_name не указан или если аргумент USING
не указан, группа рабочей нагрузки связана со встроенным пулом default
.
default
является зарезервированным словом, и при указании в USING
должны быть заключены в скобки ([]
) или кавычки (""
).
Встроенные пулы ресурсов и группы рабочих нагрузок используют все строчные имена, например default
. Используйте нижний регистр default
на серверах, использующих параметры сортировки с учетом регистра. Серверы с нечувствительными параметрами сортировки регистра обрабатывают default
, Default
и DEFAULT
с тем же значением.
Замечания
ALTER WORKLOAD GROUP
разрешено в группе рабочей нагрузки default
, но не в группе internal
.
Изменения конфигурации группы рабочей нагрузки не вступают в силу до тех пор, пока ALTER RESOURCE GOVERNOR RECONFIGURE
не будет выполнена.
Дополнительные сведения см. в
MAXDOP
Для данного запроса эффективный MAXDOP
определяется следующим образом:
-
MAXDOP
как указание запроса учитывается, если он не превышаетMAX_DOP
группы рабочей нагрузки. -
MAXDOP
как подсказка запроса всегда переопределяет конфигурацию сервераmax degree of parallelism
. Дополнительные сведения см. в разделе Конфигурация сервера: максимальная степень параллелизма. - Группа рабочей нагрузки
MAX_DOP
переопределяет конфигурацию сервераmax degree of parallelism
и конфигурациюMAXDOP
базы данных,.
Ограничение MAXDOP
устанавливается на задачи. Это не запрос или ограничение на запрос. Во время выполнения параллельного запроса один запрос может создать несколько задач, назначенных планировщику . Дополнительные сведения см. в руководстве по архитектуре потоков и задач.
Если запрос помечается как последовательный во время компиляции (MAXDOP = 1
), он не может выполняться с параллелизмом во время выполнения независимо от группы рабочей нагрузки или параметра конфигурации сервера. После определения MAXDOP
для запроса его можно уменьшить только из-за нехватки памяти. Перенастройка группы рабочей нагрузки не влияет на запросы, ожидающие в очереди предоставления памяти.
Кэшированные планы
При изменении плана, влияющего на настройку, например MAX_DOP
, новый параметр вступает в силу только после выполнения DBCC FREEPROCCACHE (<pool_name>)
, где <pool_name>
— это имя пула ресурсов регулятора ресурсов, используемого текущей группой рабочей нагрузки.
- При изменении
MAX_DOP
на 1 выполнениеDBCC FREEPROCCACHE
не требуется, так как параллельные планы могут выполняться в последовательном режиме. Однако такой план может быть менее эффективным, чем план, скомпилированный как последовательный план. - Если изменение
MAX_DOP
от 1 до 0 или значение больше 1, выполнениеDBCC FREEPROCCACHE
не требуется. Однако последовательные планы не могут выполняться параллельно, поэтому очистка соответствующего кэша позволяет скомпилировать новые планы потенциально с помощью параллелизма.
Предупреждение
Очистка кэшированных планов из пула ресурсов, связанного с несколькими группами рабочих нагрузок, влияет на все группы рабочих нагрузок с помощью определяемого пользователем пула ресурсов, определяемого <pool_name>
.
Создание индекса
По соображениям производительности создание индекса может использовать большую рабочую область памяти, чем первоначально предоставлено. Регулятор ресурсов поддерживает эту специальную обработку. Однако первоначальный грант и любые дополнительные гранты памяти ограничены параметрами группы рабочих нагрузок и пула ресурсов.
Память, потребляемая для создания неуклюжимого индекса в секционированной таблице, пропорциональна количеству участвующих секций. Если общий объем требуемой памяти превышает ограничение на запрос, примененное параметром группы рабочей нагрузки REQUEST_MAX_MEMORY_GRANT_PERCENT
, создание индекса может завершиться ошибкой. Так как группа рабочих нагрузок default
позволяет запросу превышать ограничение на запрос с минимальной требуемой памятью для начала обратной совместимости, вы можете создать тот же индекс, используя группу рабочих нагрузок default
, если пул ресурсов default
имеет достаточно общего объема памяти.
Разрешения
Требуется разрешение CONTROL SERVER
.
Примеры
В следующем примере показано, как изменить важность запросов в группе по умолчанию с MEDIUM
на LOW
.
ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);
ALTER RESOURCE GOVERNOR RECONFIGURE;
В следующем примере показано, как переместить группу рабочей нагрузки из пула, в настоящее время в пул default
.
ALTER WORKLOAD GROUP adHoc
USING [default];
ALTER RESOURCE GOVERNOR RECONFIGURE;
Связанное содержимое
- регулятора ресурсов
- группа рабочей нагрузки регулятора ресурсов
- Создание группы рабочей нагрузки
- Перемещение группы рабочей нагрузки
- CREATE WORKLOAD GROUP
- ГРУППЫ РАБОЧЕЙ НАГРУЗКИ
DROP - CREATE RESOURCE POOL
- ALTER RESOURCE POOL
- DROP RESOURCE POOL
- ALTER RESOURCE GOVERNOR
* Управляемый экземпляр SQL *
Azure Synapse
аналитики
Управляемый экземпляр SQL Server и SQL
Изменяет существующую конфигурацию группы рабочей нагрузки регулятора ресурсов и при необходимости назначает ее другому пулу ресурсов регулятора ресурсов.
Заметка
Для Управляемого экземпляра SQL Azure необходимо быть в контексте базы данных master
для изменения конфигурации регулятора ресурсов.
Transact-SQL соглашения о синтаксисе.
Синтаксис
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] } ]
[ ; ]
Аргументы
group_name | [по умолчанию]
Имя существующей определяемой пользователем рабочей нагрузки или встроенного default
группы рабочей нагрузки регулятора ресурсов.
default
должны находиться в скобках ([]
) или кавычках (""
) при использовании с ALTER WORKLOAD GROUP
, чтобы избежать конфликта с DEFAULT
, который является системным зарезервированным словом. Дополнительные сведения см. в разделе Идентификаторы базы данных.
Встроенные пулы ресурсов и группы рабочих нагрузок используют все строчные имена, например default
. Используйте нижний регистр default
на серверах, использующих параметры сортировки с учетом регистра. Серверы с нечувствительными параметрами сортировки регистра обрабатывают default
, Default
и DEFAULT
с тем же значением.
ВАЖНОСТЬ = { LOW | MEDIUM | HIGH }
Указывает относительную важность запроса в группе рабочей нагрузки. Значение по умолчанию — MEDIUM
.
IMPORTANCE
является локальным для пула ресурсов, содержащего группу рабочих нагрузок. Группы рабочей нагрузки разной важности внутри одного пула ресурсов влияют друг на друга, но не влияют на группы рабочей нагрузки в других пулах ресурсов.
REQUEST_MAX_MEMORY_GRANT_PERCENT = значение
Указывает максимальный объем памяти рабочей области запроса, которую может принимать один запрос из пула.
значение — это процент размера пула ресурсов, определенного MAX_MEMORY_PERCENT
. Значение по умолчанию — 25.
В SQL Server 2017 (14.x) и старше значение является целым числом, а допустимый диапазон — от 1 до 100.
Начиная с SQL Server 2019 (15.x), значение может быть дробным с помощью типа данных float
. Допустимый диапазон составляет от 0 до 100.
Важный
Указанный объем относится только к памяти рабочей области запроса, полученной с помощью предоставления памяти запроса.
Не рекомендуется задавать значение слишком большой (например, больше 70), так как сервер может не указать достаточно свободного памяти для других одновременных запросов. Это может привести к истечении времени ожидания предоставления памяти ошибке 8645.
Установка значения значением значение 0 или небольшое значение может препятствовать запросам с операторами, требующими памяти рабочей области, например sort
и hash
, выполняться в определяемых пользователем группах рабочих нагрузок. Если требования к памяти запроса превышают предел, определенный этим параметром, происходит следующее поведение:
- Для определяемых пользователем групп рабочих нагрузок сервер пытается уменьшить степень параллелизма (DOP) запроса (запроса), пока требование к памяти не подпадает под предел или до тех пор, пока DOP не равен 1. Если требование к памяти запроса по-прежнему больше предела, возникает ошибка 8657, и запрос завершается сбоем.
- Для групп рабочих нагрузок
internal
иdefault
сервер разрешает запросу получить необходимую память.
В любом случае ошибка 8645 может возникнуть, если у сервера недостаточно физической памяти.
REQUEST_MAX_CPU_TIME_SEC = значение
Указывает максимальное количество времени ЦП в секундах, которое может использовать запрос. значение должно иметь значение 0 или положительное целое число. Значение по умолчанию для значения равно 0, что означает неограниченное значение.
По умолчанию регулятор ресурсов не предотвращает продолжение запроса, если превышено максимальное время. Однако создается событие. Дополнительные сведения см. в разделе превышение порогового значения ЦП.
Начиная с SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) и SQL Server 2017 (14.x) CU3 и используя флаг трассировки 2422, регулятор ресурсов прерывает запрос при превышении максимального времени ЦП.
REQUEST_MEMORY_GRANT_TIMEOUT_SEC = значение
Указывает максимальное время (в секундах), когда запрос может ожидать предоставления памяти из памяти в памяти рабочей области запроса. значение должно иметь значение 0 или положительное целое число. Параметр по умолчанию для значения , 0, использует внутренний расчет на основе затрат запроса, чтобы определить максимальное время.
Запрос не всегда завершается ошибкой при достижении времени ожидания предоставления памяти. Запрос завершается ошибкой, только если выполняется слишком много параллельных запросов. В противном случае запрос может получить только минимальное предоставление памяти, что приведет к снижению производительности запросов.
MAX_DOP = значение
Задает максимальную степень параллелизма (MAXDOP
) для параллельного выполнения запроса. Допустимый диапазон для значения составляет от 0 до 64. Параметр по умолчанию для значения , 0 использует глобальный параметр.
Дополнительные сведения см. в MAXDOP.
GROUP_MAX_REQUESTS = значение
Указывает максимальное количество одновременных запросов, которые могут выполняться в группе рабочих нагрузок. значение должно иметь значение 0 или положительное целое число. Значение по умолчанию для значения равно 0 и разрешает неограниченные запросы. По достижении максимального числа одновременных запросов можно создать сеанс в этой группе, но помещается в состояние ожидания до тех пор, пока число одновременных запросов не упадет под указанное значение.
USING { pool_name | [по умолчанию] }
Связывает группу рабочей нагрузки с определяемым пользователем пулом ресурсов, определяемым pool_name, или с пулом ресурсов default
. Если pool_name не указан или если аргумент USING
не указан, группа рабочей нагрузки связана со встроенным пулом default
.
default
является зарезервированным словом, и при указании в USING
должны быть заключены в скобки ([]
) или кавычки (""
).
Встроенные пулы ресурсов и группы рабочих нагрузок используют все строчные имена, например default
. Используйте нижний регистр default
на серверах, использующих параметры сортировки с учетом регистра. Серверы с нечувствительными параметрами сортировки регистра обрабатывают default
, Default
и DEFAULT
с тем же значением.
Замечания
ALTER WORKLOAD GROUP
разрешено в группе рабочей нагрузки default
, но не в группе internal
.
Изменения конфигурации группы рабочей нагрузки не вступают в силу до тех пор, пока ALTER RESOURCE GOVERNOR RECONFIGURE
не будет выполнена.
Дополнительные сведения см. в
MAXDOP
Для данного запроса эффективный MAXDOP
определяется следующим образом:
-
MAXDOP
как указание запроса учитывается, если он не превышаетMAX_DOP
группы рабочей нагрузки. -
MAXDOP
как подсказка запроса всегда переопределяет конфигурацию сервераmax degree of parallelism
. Дополнительные сведения см. в разделе Конфигурация сервера: максимальная степень параллелизма. - Группа рабочей нагрузки
MAX_DOP
переопределяет конфигурацию сервераmax degree of parallelism
и конфигурациюMAXDOP
базы данных,.
Ограничение MAXDOP
устанавливается на задачи. Это не запрос или ограничение на запрос. Во время выполнения параллельного запроса один запрос может создать несколько задач, назначенных планировщику . Дополнительные сведения см. в руководстве по архитектуре потоков и задач.
Если запрос помечается как последовательный во время компиляции (MAXDOP = 1
), он не может выполняться с параллелизмом во время выполнения независимо от группы рабочей нагрузки или параметра конфигурации сервера. После определения MAXDOP
для запроса его можно уменьшить только из-за нехватки памяти. Перенастройка группы рабочей нагрузки не влияет на запросы, ожидающие в очереди предоставления памяти.
Кэшированные планы
При изменении плана, влияющего на настройку, например MAX_DOP
, новый параметр вступает в силу только после выполнения DBCC FREEPROCCACHE (<pool_name>)
, где <pool_name>
— это имя пула ресурсов регулятора ресурсов, используемого текущей группой рабочей нагрузки.
- При изменении
MAX_DOP
на 1 выполнениеDBCC FREEPROCCACHE
не требуется, так как параллельные планы могут выполняться в последовательном режиме. Однако такой план может быть менее эффективным, чем план, скомпилированный как последовательный план. - Если изменение
MAX_DOP
от 1 до 0 или значение больше 1, выполнениеDBCC FREEPROCCACHE
не требуется. Однако последовательные планы не могут выполняться параллельно, поэтому очистка соответствующего кэша позволяет скомпилировать новые планы потенциально с помощью параллелизма.
Предупреждение
Очистка кэшированных планов из пула ресурсов, связанного с несколькими группами рабочих нагрузок, влияет на все группы рабочих нагрузок с помощью определяемого пользователем пула ресурсов, определяемого <pool_name>
.
Создание индекса
По соображениям производительности создание индекса может использовать большую рабочую область памяти, чем первоначально предоставлено. Регулятор ресурсов поддерживает эту специальную обработку. Однако первоначальный грант и любые дополнительные гранты памяти ограничены параметрами группы рабочих нагрузок и пула ресурсов.
Память, потребляемая для создания неуклюжимого индекса в секционированной таблице, пропорциональна количеству участвующих секций. Если общий объем требуемой памяти превышает ограничение на запрос, примененное параметром группы рабочей нагрузки REQUEST_MAX_MEMORY_GRANT_PERCENT
, создание индекса может завершиться ошибкой. Так как группа рабочих нагрузок default
позволяет запросу превышать ограничение на запрос с минимальной требуемой памятью для начала обратной совместимости, вы можете создать тот же индекс, используя группу рабочих нагрузок default
, если пул ресурсов default
имеет достаточно общего объема памяти.
Разрешения
Требуется разрешение CONTROL SERVER
.
Примеры
В следующем примере показано, как изменить важность запросов в группе по умолчанию с MEDIUM
на LOW
.
ALTER WORKLOAD GROUP [default]
WITH (IMPORTANCE = LOW);
ALTER RESOURCE GOVERNOR RECONFIGURE;
В следующем примере показано, как переместить группу рабочей нагрузки из пула, в настоящее время в пул default
.
ALTER WORKLOAD GROUP adHoc
USING [default];
ALTER RESOURCE GOVERNOR RECONFIGURE;
Связанное содержимое
- регулятора ресурсов
- группа рабочей нагрузки регулятора ресурсов
- Создание группы рабочей нагрузки
- Перемещение группы рабочей нагрузки
- CREATE WORKLOAD GROUP
- ГРУППЫ РАБОЧЕЙ НАГРУЗКИ
DROP - CREATE RESOURCE POOL
- ALTER RESOURCE POOL
- DROP RESOURCE POOL
- ALTER RESOURCE GOVERNOR
управляемого экземпляра SQL
* Azure Synapse
Аналитика *
Azure Synapse Analytics
Изменяет существующую группу рабочей нагрузки.
Дополнительные сведения о том, как ALTER WORKLOAD GROUP
ведет себя в системе с выполнением и очередными запросами, см. в разделе ALTER WORKLOAD GROUP
поведения.
Ограничения для CREATE WORKLOAD GROUP также применяются к ALTER WORKLOAD GROUP
. Перед изменением параметров запрос sys.workload_management_workload_groups, чтобы убедиться, что значения находятся в допустимых диапазонах.
Синтаксис
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 ] )
[ ; ]
Аргументы
group_name
Имя существующей определяемой пользователем группы рабочей нагрузки. group_name не изменяется.
MIN_PERCENTAGE_RESOURCE = значение
значение — это целочисленный диапазон от 0 до 100. При изменении MIN_PERCENTAGE_RESOURCE сумма MIN_PERCENTAGE_RESOURCE для всех групп рабочих нагрузок не может превышать 100. Для изменения MIN_PERCENTAGE_RESOURCE требуется выполнение всех выполняемых запросов в группе рабочей нагрузки до завершения команды. Дополнительные сведения см. в разделе поведение ALTER WORKLOAD GROUP в этой статье.
CAP_PERCENTAGE_RESOURCE = значение
значение — это целочисленный диапазон от 1 до 100. Значение CAP_PERCENTAGE_RESOURCE должно быть больше MIN_PERCENTAGE_RESOURCE. Для изменения CAP_PERCENTAGE_RESOURCE требуется, чтобы все выполняемые запросы выполнялись в группе рабочих нагрузок, прежде чем команда завершится. Дополнительные сведения см. в разделе поведение ALTER WORKLOAD GROUP в этой статье.
REQUEST_MIN_RESOURCE_GRANT_PERCENT = значение
значение — это десятичное значение с диапазоном от 0,75 до 100,00. Значение REQUEST_MIN_RESOURCE_GRANT_PERCENT должно быть фактором MIN_PERCENTAGE_RESOURCE и меньше CAP_PERCENTAGE_RESOURCE.
REQUEST_MAX_RESOURCE_GRANT_PERCENT = значение
значение равно десятичному и должно быть больше REQUEST_MIN_RESOURCE_GRANT_PERCENT.
ВАЖНОСТЬ = { LOW | BELOW_NORMAL | NORMAL | ABOVE_NORMAL | HIGH }
Изменяет значение по умолчанию запроса для группы рабочей нагрузки.
QUERY_EXECUTION_TIMEOUT_SEC = значение
Изменяет максимальное время в секундах, которое может выполняться запросом до его отмены. Значение должно иметь значение 0 или положительное целое число. Значение по умолчанию равно 0, что означает неограниченное значение.
Разрешения
Требуется разрешение CONTROL DATABASE.
Пример
В приведенном ниже примере проверяются значения в представлении каталога для группы рабочей нагрузки с именем wgDataLoadsи изменяются значения.
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 )
Поведение ALTER WORKLOAD GROUP
В любой момент времени в системе есть три типа запросов:
- Запросы, которые еще не были классифицированы.
- Запросы, классифицируемые и ожидающие блокировки объектов или системные ресурсы.
- Запросы, которые классифицируются и выполняются.
В зависимости от свойств изменяемой группы рабочей нагрузки время действия параметров будет отличаться.
Важность или query_execution_timeout
Для важности и query_execution_timeout свойств неклассифицированные запросы собирают новые значения конфигурации. Ожидание и выполнение запросов выполняется со старой конфигурацией. Запрос ALTER WORKLOAD GROUP
выполняется немедленно независимо от наличия запросов в группе рабочей нагрузки.
REQUEST_MIN_RESOURCE_GRANT_PERCENT или REQUEST_MAX_RESOURCE_GRANT_PERCENT
Для REQUEST_MIN_RESOURCE_GRANT_PERCENT и REQUEST_MAX_RESOURCE_GRANT_PERCENT выполнение запросов выполняется со старой конфигурацией. Ожидающие запросы и неклассифицированные запросы собирают новые значения конфигурации. Запрос ALTER WORKLOAD GROUP
выполняется немедленно независимо от наличия запросов в группе рабочей нагрузки.
MIN_PERCENTAGE_RESOURCE или CAP_PERCENTAGE_RESOURCE
Для MIN_PERCENTAGE_RESOURCE и CAP_PERCENTAGE_RESOURCE выполнение запросов выполняется со старой конфигурацией. Ожидающие запросы и неклассифицированные запросы собирают новые значения конфигурации.
Изменение MIN_PERCENTAGE_RESOURCE и CAP_PERCENTAGE_RESOURCE требует очистки выполняемых запросов в группе рабочей нагрузки, которая изменяется. При уменьшении MIN_PERCENTAGE_RESOURCE освобожденные ресурсы возвращаются в пул общих ресурсов, позволяя запросам из других групп рабочих нагрузок использовать возможность использования. И наоборот, увеличение MIN_PERCENTAGE_RESOURCE будет ожидать завершения запросов, использующих только необходимые ресурсы из общего пула. Операция ALTER WORKLOAD GROUP
будет иметь приоритетный доступ к общим ресурсам по сравнению с другими запросами, ожидающих выполнения в общем пуле. Если сумма MIN_PERCENTAGE_RESOURCE превышает 100%, запрос ALTER WORKLOAD GROUP
немедленно завершается ошибкой.
Поведение блокировки
Для изменения группы рабочей нагрузки требуется глобальная блокировка для всех групп рабочей нагрузки. Запрос на изменение группы рабочей нагрузки будет ставиться за уже отправленными запросами на создание или удаление групп рабочей нагрузки. Если пакет инструкций alter отправляется одновременно, они обрабатываются в том порядке, в котором они отправлены.