ALTER EXTERNAL RESOURCE POOL(Transact-SQL)

적용 대상: SQL Server 2016(13.x) 이상 Azure SQL Managed Instance

외부 프로세스에서 사용할 수 있는 리소스를 지정하는 Resource Governor 외부 풀을 변경합니다.

SQL Server 2016(13.x)의 R Services (In-Database)의 경우 외부 풀은 rterm.exe, BxlServer.exe 및 이에 의해 생성된 기타 프로세스를 제어합니다.

Machine Learning Services에 대해 외부 풀은 rterm.exe, python.exe, BxlServer.exe 및 이에 의해 생성된 기타 프로세스를 제어합니다.

Transact-SQL 구문 표기 규칙

Syntax

ALTER EXTERNAL RESOURCE POOL { pool_name | "default" }
[ WITH (
    [ MAX_CPU_PERCENT = value ]
    [ [ , ] MAX_MEMORY_PERCENT = value ]
    [ [ , ] MAX_PROCESSES = value ]
    )
]
[ ; ]

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

ALTER EXTERNAL RESOURCE POOL { pool_name | "default" }
[ 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 ]

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

{ pool_name | "기본값" }
SQL Server가 설치될 때 만들어지는 기본 외부 리소스 풀이나 기존 사용자 정의 외부 리소스 풀의 이름입니다. "default"는 시스템 예약어인 DEFAULT와의 충돌을 피하기 위해 ALTER EXTERNAL RESOURCE POOL과 함께 사용될 경우 따옴표("") 또는 대괄호([])로 묶어야 합니다.

MAX_CPU_PERCENT =value
CPU 경합이 있을 때 이 외부 리소스 풀의 모든 요청이 받을 수 있는 최대 평균 CPU 대역폭을 지정합니다. 은 정수입니다. 허용되는 value의 범위는 1에서 100까지입니다.

MAX_MEMORY_PERCENT =value
이 외부 리소스 풀의 요청에서 사용할 수 있는 총 서버 메모리를 지정합니다. 은 정수입니다. 허용되는 value의 범위는 1에서 100까지입니다.

MAX_PROCESSES =value
이 외부 리소스 풀에 허용되는 프로세스의 최대 수를 지정합니다. 이후에 컴퓨터 리소스에 의해서만 바인딩되는 풀에 대 한 무제한 임계값을 설정하려면 0을 지정합니다.

MAX_CPU_PERCENT =value
CPU 경합이 있을 때 이 외부 리소스 풀의 모든 요청이 받을 수 있는 최대 평균 CPU 대역폭을 지정합니다. 은 정수입니다. 허용되는 value의 범위는 1에서 100까지입니다.

AFFINITY {CPU = AUTO | ( <CPU_range_spec> ) | NUMANODE = (<NUMA_node_range_spec>)}
외부 리소스 풀을 특정 UPU에 연결합니다.

AFFINITY CPU = (<CPU_range_spec>)는 외부 리소스 풀을 지정된 CPU_ID로 식별된 SQL Server CPU에 매핑합니다. AFFINITY NUMANODE = (<NUMA_node_range_spec>)를 사용하는 경우 외부 리소스 풀의 선호도가 지정된 NUMA 노드 또는 노드 범위에 해당하는 SQL Server 물리적 CPU로 설정됩니다.

MAX_MEMORY_PERCENT =value
이 외부 리소스 풀의 요청에서 사용할 수 있는 총 서버 메모리를 지정합니다. 은 정수입니다. 허용되는 value의 범위는 1에서 100까지입니다.

MAX_PROCESSES =value
이 외부 리소스 풀에 허용되는 프로세스의 최대 수를 지정합니다. 이후에 컴퓨터 리소스에 의해서만 바인딩되는 풀에 대 한 무제한 임계값을 설정하려면 0을 지정합니다.

설명

데이터베이스 엔진은 ALTER RESOURCE GOVERNOR RECONFIGURE 문을 실행할 때 리소스 풀을 구현합니다.

리소스 풀에 대한 일반 정보는 Resource Governor 리소스 풀, sys.resource_governor_external_resource_pools(Transact-SQL)sys.dm_resource_governor_external_resource_pool_affinity(Transact-SQL)를 참조하세요.

컴퓨터 학습 작업을 제어하는 외부 리소스 풀의 사용 관련 정보는 SQL Server에서의 기계 학습에 대한 리소스 관리를 참조 하십시오...

사용 권한

CONTROL SERVER 권한이 필요합니다.

예제

다음 명령문은 CPU 사용량을 50% 및 최대 메모리를 컴퓨터에서 사용 가능한 메모리의 25%로 제한하는 외부 풀을 변경합니다.

ALTER EXTERNAL RESOURCE POOL ep_1
WITH (
    MAX_CPU_PERCENT = 50
    , MAX_MEMORY_PERCENT = 25
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
ALTER EXTERNAL RESOURCE POOL ep_1
WITH (
    MAX_CPU_PERCENT = 50
    , AFFINITY CPU = AUTO
    , MAX_MEMORY_PERCENT = 25
);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

참고 항목