Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Создает регулятор ресурсов пул ресурсов. Пул ресурсов представляет подмножество физических ресурсов (ЦП, памяти и операций ввода-вывода) экземпляра ядра СУБД. Регулятор ресурсов позволяет зарезервировать или ограничить ресурсы сервера между пулами ресурсов до 64 пулов.
Регулятор ресурсов недоступен в каждом выпуске SQL Server. Список функций, поддерживаемых выпусками SQL Server, см. в выпусках и поддерживаемых функциях SQL Server 2022.
Заметка
Для Управляемого экземпляра SQL Azure необходимо быть в контексте базы данных master для изменения конфигурации регулятора ресурсов.
Соглашения о синтаксисе Transact-SQL
Синтаксис
CREATE RESOURCE POOL pool_name
[ 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
Определяемое пользователем имя для пула ресурсов. pool_name является буквенно-цифровым, может быть до 128 символов, должен быть уникальным в экземпляре ядра СУБД и должен соответствовать правилам для идентификаторов базы данных .
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 | ( <указатель_диапазона_планировщика> ) | NUMANODE = (<указатель_диапазона_узла_NUMA>)}
Область применения: 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 процентов.
Дополнительные сведения см. в
Разрешения
Требуется разрешение CONTROL SERVER.
Примеры
Дополнительные примеры конфигурации регулятора ресурсов см. в примерах конфигурации регулятора ресурсов и рекомендациях.
Создание пула ресурсов
В этом примере создан пул ресурсов с именем bigPool. В этом пуле используются параметры регулятора ресурсов по умолчанию.
CREATE RESOURCE POOL bigPool;
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) и более поздних версий.
CREATE 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)
);
Настройка резервирования и ограничения операций ввода-вывода в секунду
В этом примере зарезервирует 200 операций ввода-вывода в секунду на том для пула с помощью MIN_IOPS_PER_VOLUMEи ограничивает количество операций ввода-вывода в секунду до 1000, используя MAX_IOPS_PER_VOLUME. Эти значения управляют общими операциями чтения и записи физических операций ввода-вывода, которые доступны для запросов с помощью пула ресурсов.
Область применения: SQL Server 2014 (12.x) и более поздних версий.
CREATE RESOURCE POOL PoolAdmin
WITH (
MIN_IOPS_PER_VOLUME = 200,
MAX_IOPS_PER_VOLUME = 1000
);
Связанное содержимое
- руководство по . Примеры конфигурации регулятора ресурсов и рекомендации
- регулятора ресурсов
- пул ресурсов регулятора ресурсов
- Создание пула ресурсов
- ALTER RESOURCE POOL
- DROP RESOURCE POOL
- CREATE WORKLOAD GROUP
- ALTER WORKLOAD GROUP
- ГРУППЫ РАБОЧЕЙ НАГРУЗКИ
DROP - ALTER RESOURCE GOVERNOR