Инструкция 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)

Основные понятия

Регулятор ресурсов