ALTER RESOURCE POOL(Transact-SQL)

기존 리소스 관리자 리소스 풀 구성을 변경합니다.

항목 링크 아이콘 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 ] )
] 
[;]

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 2012가 설치될 때 만들어지는 기본 리소스 풀이나 기존 사용자 정의 리소스 풀의 이름입니다.

    "default"는 시스템 예약어인 DEFAULT와의 충돌을 피하기 위해 ALTER RESOURCE POOL과 함께 사용될 경우 따옴표("") 또는 대괄호([])로 묶어야 합니다. 자세한 내용은 데이터베이스 식별자를 참조하십시오.

    [!참고]

    미리 정의된 작업 그룹과 리소스 풀의 이름은 "default"와 같이 소문자를 사용합니다. 대/소문자 구분 데이터 정렬을 사용하는 서버의 경우 이러한 사항을 고려해야 합니다. 대/소문자 구분 데이터 정렬(예: SQL_Latin1_General_CP1_CI_AS)을 사용하는 서버는 "default"와 "Default"를 똑같이 처리합니다.

  • MIN_CPU_PERCENT =value
    CPU 경합이 있을 때 리소스 풀의 모든 요청에 대해 보장되는 평균 CPU 대역폭을 지정합니다. value는 기본값이 0인 정수입니다. value의 허용 범위는 0에서 100까지입니다.

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

  • CAP_CPU_PERCENT =value
    리소스 풀의 모든 요청에서 받을 CPU 대역폭의 하드 캡을 지정합니다. 최대 CPU 대역폭 수준을 지정된 값과 동일하게 제한합니다. value는 기본 설정이 100인 정수입니다. value의 허용 범위는 1에서 100까지입니다.

  • AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)}
    리소스 풀을 특정 스케줄러에 연결합니다. 기본값은 AUTO입니다.

    AFFINITY SCHEDULER = (Scheduler_range_spec)은 리소스 풀을 지정된 ID로 식별된 SQL Server 일정으로 매핑합니다. 이러한 ID는 sys.dm_os_schedulers(Transact-SQL)의 scheduler_id 열에 있는 값으로 매핑됩니다.

    AFFINITY NAMANODE = (NUMA_node_range_spec)을 사용하면 리소스 풀의 선호도가 지정된 NUMA 노드 또는 노드 범위에 해당하는 물리적 CPU에 매핑되는 SQL Server 스케줄러로 설정됩니다. 다음 Transact-SQL 쿼리를 사용하여 물리적 NUMA 구성과 SQL Server 스케줄러 ID 간의 매핑을 검색할 수 있습니다.

    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는 기본값이 0인 정수입니다. value의 허용 범위는 0에서 100까지입니다.

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

주의

MAX_CPU_PERCENT 및 MAX_MEMORY_PERCENT는 MIN_CPU_PERCENT 및 MIN_MEMORY_PERCENT 각각보다 크거나 같아야 합니다.

CAP_CPU_PERCENT는 풀에 연결된 작업이 CAP_CPU_PERCENT 값보다 큰 값이 아닌 MAX_CPU_PERCENT 값보다 큰 CPU 용량(사용 가능한 경우)을 사용할 수 있다는 점에서 MAX_CPU_PERCENT와 다릅니다.

선호도가 설정된 각 구성 요소(스케줄러 또는 NUMA 모드)에 대한 총 CPU 비율은 100%를 초과하면 안 됩니다.

DDL 문을 실행할 경우 리소스 관리자 상태에 대해 잘 알고 있는 것이 좋습니다. 자세한 내용은 리소스 관리자를 참조하십시오.

사용 권한

CONTROL SERVER 권한이 필요합니다.

다음 예에서는 25로 변경되는 MAX_CPU_PERCENT를 제외한 default 풀의 모든 기본 리소스 풀 설정을 유지합니다.

ALTER RESOURCE POOL "default"
WITH
     ( MAX_CPU_PERCENT = 25)
GO
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

다음 예에서는 CAP_CPU_PERCENT가 하드 캡을 80%로 설정하고 AFFINITY SCHEDULER가 개별 값 8과 12-16 범위로 설정됩니다.

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)

개념

리소스 관리자