CREATE EXTERNAL RESOURCE POOL (Transact-SQL)

Область применения: SQL Server 2016 (13.x) и более поздних версий

Создает внешний пул для определения ресурсов для внешних процессов. Пул ресурсов представляет подмножество физических ресурсов (память и ЦП) экземпляра ядра СУБД. Resource Governor может распределять ресурсы сервера по пулам ресурсов, используя до 64 пулов.

Для служб R (в базе данных) в SQL Server 2016 (13.x), внешний пул управляет rterm.exe, BxlServer.exe и всеми порожденными ими процессами.

Для Служб машинного обучения внешний пул управляет rterm.exe, python.exe, BxlServer.exe и другими процессами, порожденными ими.

Соглашения о синтаксисе Transact-SQL

Синтаксис

CREATE EXTERNAL RESOURCE POOL pool_name  
[ WITH (  
    [ MAX_CPU_PERCENT = value ]  
    [ [ , ] MAX_MEMORY_PERCENT = value ]  
    [ [ , ] MAX_PROCESSES = value ]   
    )   
]  
[ ; ]  

<CPU_range_spec> ::=    
{ CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ]  
CREATE EXTERNAL RESOURCE POOL pool_name  
[ WITH (  
    [ MAX_CPU_PERCENT = value ]  
    [ [ , ] AFFINITY CPU =    
            {  
                AUTO   
              | ( <cpu_range_spec> )   
              | NUMANODE = ( <NUMA_node_id> )   
            } ]   
    [ [ , ] MAX_MEMORY_PERCENT = value ]  
    [ [ , ] MAX_PROCESSES = value ]   
    )   
]  
[ ; ]  

<CPU_range_spec> ::=    
{ CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ]  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

pool_name
Определяемое пользователем имя внешнего пула ресурсов. pool_name является буквенно-цифровым и может содержать до 128 символов. Этот аргумент должен быть уникальным внутри экземпляра SQL Server и должен соответствовать правилам для идентификаторов.

MAX_CPU_PERCENT =value
Максимальная средняя пропускная способность ЦП для всех запросов, которую может получить внешний пул ресурсов при возникновении состязания за ресурсы ЦП. value — целое число. Диапазон допустимых значений для value — от 1 до 100.

MAX_MEMORY_PERCENT = значение
Указывает общий объем памяти сервера, который может использоваться для запросов в данном внешнем пуле ресурсов. value — целое число. Диапазон допустимых значений для value — от 1 до 100.

MAX_PROCESSES =value
Максимально допустимое количество процессов для внешнего пула ресурсов. Укажите 0, чтобы задать неограниченный порог для пула, который впоследствии ограничивается только ресурсами компьютера.

MAX_CPU_PERCENT =value
Максимальная средняя пропускная способность ЦП для всех запросов, которую может получить внешний пул ресурсов при возникновении состязания за ресурсы ЦП. value — целое число. Диапазон допустимых значений для value — от 1 до 100.

AFFINITY {CPU = AUTO | ( <CPU_range_spec>) | NUMANODE = (<NUMA_node_range_spec>)} Подключает внешний пул ресурсов к конкретным ЦП.

AFFINITY CPU = (<CPU_range_spec>) Сопоставляет внешний пул ресурсов с ЦП SQL Server, заданными с помощью CPU_ID.

При использовании AFFINITY NUMANODE = **(<NUMA_node_range_spec>) внешний пул ресурсов сопоставляется с физическими процессорами SQL Server, соответствующими заданному узлу NUMA или диапазону узлов.

MAX_MEMORY_PERCENT = значение
Указывает общий объем памяти сервера, который может использоваться для запросов в данном внешнем пуле ресурсов. value — целое число. Диапазон допустимых значений для value — от 1 до 100.

MAX_PROCESSES =value
Максимально допустимое количество процессов для внешнего пула ресурсов. Укажите 0, чтобы задать неограниченный порог для пула, который впоследствии ограничивается только ресурсами компьютера.

Замечания

Ядро СУБД реализует пул ресурсов при выполнении инструкции ALTER RESOURCE GOVERNOR RECONFIGURE.

Общие сведения о пулах ресурсов см. в статьях Пул ресурсов регулятора ресурсов, sys.resource_governor_external_resource_pools (Transact-SQL) и sys.dm_resource_governor_external_resource_pool_affinity (Transact-SQL).

Сведения об управлении внешними пулами ресурсов для машинного обучения см. в статье Resource governance for machine learning in SQL Server (Управление ресурсами для машинного обучения в SQL Server).

Разрешения

Требуется разрешение CONTROL SERVER.

Примеры

Для внешнего пула использование ЦП ограничено 75 процентами. Максимальный объем памяти — 30 процентов доступной памяти на компьютере.

CREATE EXTERNAL RESOURCE POOL ep_1
WITH (  
    MAX_CPU_PERCENT = 75
    , MAX_MEMORY_PERCENT = 30
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
CREATE EXTERNAL RESOURCE POOL ep_1
WITH (  
    MAX_CPU_PERCENT = 75
    , AFFINITY CPU = AUTO
    , MAX_MEMORY_PERCENT = 30
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

См. также