Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Изменяет существующую конфигурацию регулятора ресурсов пула ресурсов для экземпляра ядра СУБД.
Примечание.
Для Управляемого экземпляра SQL Azure необходимо быть в контексте базы данных master для изменения конфигурации регулятора ресурсов.
Соглашения о синтаксисе Transact-SQL
Синтаксис
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 ]
[ [ , ] 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]
Аргументы
{ pool_name | [по умолчанию] }
Имя существующего пользовательского пула ресурсов или встроенного пула ресурсов default.
default должны находиться в скобках ([]) или кавычках ("") при использовании с ALTER RESOURCE POOL, чтобы избежать конфликта с DEFAULT, который является системным зарезервированным словом. Дополнительные сведения см. в разделе Идентификаторы базы данных.
Встроенные пулы ресурсов и группы рабочих нагрузок используют все строчные имена, например default. Используйте нижний регистр default на серверах, использующих параметры сортировки с учетом регистра. Серверы с нечувствительными параметрами сортировки регистра обрабатывают default, Defaultи DEFAULT с тем же значением.
MIN_CPU_PERCENT = значение
Указывает гарантированную среднюю пропускную способность ЦП для всех запросов в пуле ресурсов при возникновении состязания использования ЦП. value имеет тип integer и значение по умолчанию 0. Диапазон допустимых значений для value — от 0 до 100.
MAX_CPU_PERCENT = значение
Указывает максимальную среднюю пропускную способность ЦП, которую получают все запросы в пуле ресурсов при возникновении спорных данных ЦП. value имеет тип integer и значение по умолчанию 100. Диапазон допустимых значений для value — от 1 до 100.
CAP_CPU_PERCENT = значение
Область применения: SQL Server 2012 (11.x) и более поздних версий.
Указывает жесткое ограничение пропускной способности ЦП, которое получают все запросы в пуле ресурсов. Ограничивает максимальный уровень пропускной способности ЦП таким же, как и указанное значение. value имеет тип integer и значение по умолчанию 100. Диапазон допустимых значений для value — от 1 до 100.
Примечание.
Из-за статистической природы управления ЦП вы можете заметить случайные короткие пики, превышающие значение, указанное в CAP_CPU_PERCENT.
AFFINITY {SCHEDULER = AUTO | ( <scheduler_range_spec> ) | NUMANODE = (<NUMA_node_range_spec>)}
Область применения: SQL Server 2012 (11.x) и более поздних версий.
Подключает пул ресурсов к заданным планировщикам. Значение по умолчанию — AUTO.
Указание <scheduler_range_spec> для AFFINITY SCHEDULER сходства пула ресурсов с планировщиками ядра СУБД, определенными указанными идентификаторами. Эти идентификаторы сопоставляются со значениями в столбце scheduler_id в sys.dm_os_schedulers.
Указание <NUMA_node_range_spec> для AFFINITY NUMANODE сопоставляет пул ресурсов с планировщиками ядра СУБД, которые сопоставляются с логическими ЦП, соответствующими заданному узлу NUMA или диапазону узлов. Следующий Transact-SQL запрос можно использовать для обнаружения сопоставления между физической конфигурацией NUMA и идентификаторами планировщика ядра СУБД.
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 имеет тип integer и значение по умолчанию 0. Допустимый диапазон для значения составляет от 0 до 100.
MAX_MEMORY_PERCENT = значение
Указывает максимальный объем памяти рабочей области запроса, которую могут использовать запросы в этом пуле ресурсов. value имеет тип integer и значение по умолчанию 100. Диапазон допустимых значений для value — от 1 до 100.
MIN_IOPS_PER_VOLUME = значение
Область применения: SQL Server 2014 (12.x) и более поздних версий.
Указывает минимальный объем операций ввода-вывода в секунду (IOPS) на дисковый том, который следует резервировать для пула ресурсов. Диапазон допустимых значений для value — от 0 до 2^31-1 (2 147 483 647). Укажите значение 0, чтобы указать не минимальное значение для пула. По умолчанию установлено значение 0.
MAX_IOPS_PER_VOLUME = значение
Область применения: SQL Server 2014 (12.x) и более поздних версий.
Указывает максимальный объем операций ввода-вывода в секунду (IOPS) на дисковый том, при котором поддерживается пул ресурсов. Диапазон допустимых значений для value — от 0 до 2^31-1 (2 147 483 647). Укажите значение 0, чтобы удалить ограничение операций ввода-вывода в секунду для пула. По умолчанию установлено значение 0.
Если MAX_IOPS_PER_VOLUME для пула имеет значение 0, пул не управляется операцией ввода-вывода вообще и может принимать все операции ввода-вывода в систему, даже если другие пулы имеют MIN_IOPS_PER_VOLUME набор. В этом случае рекомендуется задать для этого пула значение MAX_IOPS_PER_VOLUME большое число (например, максимальное значение 2^31-1), чтобы сделать этот пул управляемым операцией ввода-вывода и учитывать резервирования операций ввода-вывода в секунду, которые могут существовать для других пулов.
Замечания
Сумма MIN_CPU_PERCENT или MIN_MEMORY_PERCENT для всех пулов ресурсов не может превышать 100 процентов.
MIN_IOPS_PER_VOLUME и MAX_IOPS_PER_VOLUME укажите минимальные и максимальные IOS в секунду. IOs может быть либо чтением, либо записью, и может иметь любой размер. Поэтому с одинаковыми ограничениями операций ввода-вывода в секунду минимальная и максимальная пропускная способность ввода-вывода может отличаться в зависимости от размера операций ввода-вывода в рабочей нагрузке.
Значения MAX_CPU_PERCENT и MAX_MEMORY_PERCENT должны быть больше или равно значениям MIN_CPU_PERCENT и MIN_MEMORY_PERCENTсоответственно.
CAP_CPU_PERCENT отличается от MAX_CPU_PERCENT в том, что рабочие нагрузки, связанные с пулом, могут использовать емкость ЦП выше значения MAX_CPU_PERCENT, если она доступна, но не выше значения CAP_CPU_PERCENT. Хотя в течение длительного периода времени рабочие нагрузки не могут превышать CAP_CPU_PERCENT более коротких пиков выше CAP_CPU_PERCENT, даже если дополнительная емкость ЦП доступна.
Общий процент ЦП для каждого сходного компонента (планировщиков) или узлов NUMA не может превышать 100 процентов.
Дополнительные сведения см. в
Кэшированные планы
При изменении плана, влияющего на параметр, новый параметр вступает в силу ранее кэшированных планов только после выполнения DBCC FREEPROCCACHE (<pool_name>), где <pool_name> — это имя пула ресурсов регулятора ресурсов.
- Если вы изменяете
AFFINITYс нескольких планировщиков на один планировщик, выполнениеDBCC FREEPROCCACHEне требуется, так как параллельные планы могут выполняться в последовательном режиме. Однако такой план может быть менее эффективным, чем план, скомпилированный как последовательный план. - Если вы изменяете
AFFINITYс одного планировщика на несколько планировщиков, выполнениеDBCC FREEPROCCACHEне требуется. Однако последовательные планы не могут выполняться параллельно, поэтому очистка соответствующего кэша позволяет скомпилировать новые планы потенциально с помощью параллелизма.
Предупреждение
Очистка кэшированных планов из пула ресурсов, связанного с несколькими группами рабочих нагрузок, влияет на все группы рабочих нагрузок с помощью определяемого пользователем пула ресурсов, определяемого <pool_name>.
Разрешения
Требуется разрешение CONTROL SERVER.
Примеры
В следующем примере сохраняются все текущие параметры пула ресурсов для пула default, за исключением MAX_CPU_PERCENT, который изменяется на 25 процентов.
ALTER RESOURCE POOL [default] WITH (MAX_CPU_PERCENT = 25);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Следующий пример изменяет пул ресурсов adhocPool следующим образом:
- Резервирует 10 процентов ЦП и 5 процентов памяти рабочей области запросов, используя
MIN_CPU_PERCENTиMIN_MEMORY_PERCENTсоответственно. - Задает ограничение памяти рабочей области запроса на 15 процентов с помощью
MAX_MEMORY_PERCENT. - Задает 20 процентов обратимой загрузки ЦП в 30 процентов жесткой крышки ЦП с помощью
MAX_CPU_PERCENTиCAP_CPU_PERCENTсоответственно. - Сопоставление пула с двумя диапазонами логических ЦП (от 0 до 63 и 128 до 191) с помощью
AFFINITY SCHEDULER.
Область применения: SQL Server 2012 (11.x) и более поздних версий.
ALTER RESOURCE POOL adhocPool
WITH (
MIN_CPU_PERCENT = 10,
MAX_CPU_PERCENT = 20,
CAP_CPU_PERCENT = 30,
MIN_MEMORY_PERCENT = 5,
MAX_MEMORY_PERCENT = 15,
AFFINITY SCHEDULER = (0 TO 63, 128 TO 191)
);
ALTER RESOURCE GOVERNOR RECONFIGURE;
Связанное содержимое
- регулятора ресурсов
- пул ресурсов регулятора ресурсов
- Изменение параметров пула ресурсов
- CREATE RESOURCE POOL
- DROP RESOURCE POOL
- CREATE WORKLOAD GROUP
- ALTER WORKLOAD GROUP
- ГРУППЫ РАБОЧЕЙ НАГРУЗКИ
DROP - ALTER RESOURCE GOVERNOR