Инструкция ALTER RESOURCE POOL (Transact-SQL)
Изменяет существующую конфигурацию пула ресурсов регулятора ресурсов в SQL Server.
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Синтаксические обозначения в 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" }
Имя существующего определяемого пользователем пула ресурсов или пула ресурсов по умолчанию, создаваемого при установке SQL Server.Если слово "default" используется с инструкцией ALTER RESOURCE POOL, оно должно быть заключено в кавычки ("") или квадратные скобки ([]) во избежание конфликта с системным зарезервированным словом DEFAULT. Дополнительные сведения см. в разделе Идентификаторы баз данных.
Примечание
В стандартных группах рабочей нагрузки и пулах ресурсов используются имена со строчными буквами, такие как «default».Это необходимо учитывать при работе с серверами, где параметры сортировки учитывают регистр символов.Серверы, в которых параметры сортировки не учитывают регистр символов (например, SQL_Latin1_General_CP1_CI_AS), не различают имена «default» и «Default».
MIN_CPU_PERCENT =value
Указывает гарантированную среднюю пропускную способность ЦП для всех запросов в пуле ресурсов при возникновении состязания за ресурсы ЦП. Аргумент value имеет тип integer и значение по умолчанию 0. Диапазон допустимых значений value — от 0 до 100.MAX_CPU_PERCENT =value
Указывает максимальную среднюю пропускную способность ЦП для всех запросов в пуле ресурсов при возникновении состязания за ресурсы ЦП. Аргумент value имеет тип integer и значение по умолчанию 100. Диапазон допустимых значений для value — от 1 до 100.CAP_CPU_PERCENT =value
Применимо для следующих объектов: с SQL Server 2012 по SQL Server 2014 включительно.
Указывает целевую максимальную производительность ЦП для запросов в пуле ресурсов. Параметр value является целым числом, которому по умолчанию задано значение 100. Диапазон допустимых значений для value — от 1 до 100.
Примечание
В силу того, что управление ЦП основано на статистике, можно заметить возникающие время от времени пики, которые превышают значение, указанное в CAP_CPU_PERCENT.
AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)}
Применимо для следующих объектов: С SQL Server 2012 по SQL Server 2014 включительно.
Подключает пул ресурсов к заданным планировщикам. Значение по умолчанию — AUTO.
AFFINITY SCHEDULER = (Scheduler_range_spec) сопоставляет пул ресурсов с расписаниями SQL Server, обозначенными заданными идентификаторами. Эти идентификаторы сопоставляются со значениями в столбце scheduler_id из sys.dm_os_schedulers (Transact-SQL).
При использовании AFFINITY NAMANODE = (NUMA_node_range_spec) пул ресурсов приводится в соответствие с планировщиками SQL Server, которые сопоставляются с физическими процессорами, соответствующими данному узлу NUMA или диапазону узлов. Вы можете использовать следующий запрос Transact-SQL для обнаружения сопоставления между конфигурацией физического узла NUMA и идентификаторами планировщиков SQL Server.
SELECT osn.memory_node_id AS [numa_node_id], sc.cpu_id, sc.scheduler_id FROM sys.dm_os_nodes AS osn INNER JOIN sys.dm_os_schedulers AS sc ON osn.node_id = sc.parent_node_id AND sc.scheduler_id < 1048576;
MIN_MEMORY_PERCENT =value
Указывает минимальный объем памяти, резервируемый для данного пула ресурсов, который не подлежит использованию совместно с другими пулами ресурсов. Аргумент value имеет тип integer и значение по умолчанию 0. Диапазон допустимых значений value — от 0 до 100.MAX_MEMORY_PERCENT =value
Указывает общий объем памяти сервера, который может использоваться для запросов в данном пуле ресурсов. value имеет тип integer и значение по умолчанию 100. Диапазон допустимых значений для value — от 1 до 100.MIN_IOPS_PER_VOLUME =value
Применимо для следующих объектов: С SQL Server 2014 по SQL Server 2014 включительно.
Указывает минимальный объем операций ввода-вывода в секунду (IOPS) на дисковый том, который следует резервировать для пула ресурсов. Диапазон допустимых значений для value — от 0 до 2^31-1 (2 147 483 647). Укажите значение 0, чтобы не указывать минимальный порог для пула.
MAX_IOPS_PER_VOLUME =value
Применимо для следующих объектов: С SQL Server 2014 по SQL Server 2014 включительно.
Указывает максимальный объем операций ввода-вывода в секунду (IOPS) на дисковый том, при котором поддерживается пул ресурсов. Диапазон допустимых значений для value — от 0 до 2^31-1 (2 147 483 647). Укажите значение 0, чтобы задать неограниченный порог для пула. Значение по умолчанию — 0.
Если значение параметра MAX_IOPS_PER_VOLUME для пула установлено в 0, пул не регулируется вообще и может занять все IOPS в системе, даже если для остальных пулов задан параметр MIN_IOPS_PER_VOLUME. На этот случай рекомендуется устанавливать достаточно высокое значение MAX_IOPS_PER_VOLUME для этого пула (например, максимальное значение 2^31-1), если требуется, чтобы пул регулировался на ввод-вывод.
Замечания
Значения MAX_CPU_PERCENT и MAX_MEMORY_PERCENT должны быть больше либо равны значениям MIN_CPU_PERCENT и MIN_MEMORY_PERCENT соответственно.
MAX_CPU_PERCENT может использовать мощности ЦП, превышающие значение MAX_CPU_PERCENT, если они доступны. Несмотря на то что периодически могут возникать пики, превышающие значение CAP_CPU_PERCENT, рабочие нагрузки не должны превышать значение CAP_CPU_PERCENT на длительный промежуток времени, даже если имеются дополнительные мощности ЦП.
Общий процент ЦП для каждого соответствующего компонента (планировщики или узлы NUMA) не должен превышать 100 %.
При выполнении инструкций DDL рекомендуется иметь представление о состояниях регулятора ресурсов. Дополнительные сведения см. в разделе Регулятор ресурсов.
Разрешения
Необходимо разрешение CONTROL SERVER.
Примеры
В следующем примере сохраняются все параметры по умолчанию для пула ресурсов default, за исключением MAX_CPU_PERCENT, значение которого изменяется на 25.
ALTER RESOURCE POOL "default"
WITH
( MAX_CPU_PERCENT = 25);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
В следующем примере CAP_CPU_PERCENT задает жесткое ограничение 80 %, а AFFINITY SCHEDULER получает отдельное значение 8 и диапазон от 12 до 16.
Применимо для следующих объектов: С SQL Server 2012 по SQL Server 2014 включительно. |
ALTER RESOURCE POOL Pool25
WITH(
MIN_CPU_PERCENT = 5,
MAX_CPU_PERCENT = 10,
CAP_CPU_PERCENT = 80,
AFFINITY SCHEDULER = (8, 12 TO 16),
MIN_MEMORY_PERCENT = 5,
MAX_MEMORY_PERCENT = 15
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
См. также
Справочник
CREATE RESOURCE POOL (Transact-SQL)
DROP RESOURCE POOL (Transact-SQL)
CREATE WORKLOAD GROUP (Transact-SQL)
ALTER WORKLOAD GROUP (Transact-SQL)
DROP WORKLOAD GROUP (Transact-SQL)
ALTER RESOURCE GOVERNOR (Transact-SQL)