ALTER RESOURCE GOVERNOR(Transact-SQL)
적용 대상:SQL ServerAzure SQL Managed Instance
이 문은 다음 리소스 관리자 작업을 수행합니다.
- 리소스 관리자를 사용하거나 사용하지 않도록 설정합니다.
-
CREATE | ALTER | DROP WORKLOAD GROUP
또는CREATE | ALTER | DROP RESOURCE POOL
또는CREATE | ALTER | DROP EXTERNAL RESOURCE POOL
문이 실행될 때 지정된 구성 변경 내용을 적용합니다. - 들어오는 세션에 대한 분류를 구성합니다.
- 작업 그룹 및 리소스 풀 통계를 다시 설정합니다.
- 디스크 볼륨당 대기하는 최대 I/O 작업을 설정합니다.
구문
ALTER RESOURCE GOVERNOR
{ RECONFIGURE
[ WITH
( [ CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } ]
[ [ , ] MAX_OUTSTANDING_IO_PER_VOLUME = value ]
)
]
| DISABLE
| RESET STATISTICS
}
[ ; ]
인수
RECONFIGURE
리소스 관리자를 사용하도록 설정하지 않으면 RECONFIGURE
리소스 관리자를 사용하도록 설정합니다. 리소스 관리자를 사용하도록 설정하면 다음과 같은 결과가 발생합니다.
- 분류자 함수(있는 경우)는 새 세션에 대해 실행되어 워크로드 그룹에 할당합니다.
- 리소스 관리자 구성에 지정된 리소스 예약 및 제한이 적용됩니다.
- 리소스 관리자를 사용하도록 설정하기 전에 존재했던 요청은 리소스 관리자를 사용하도록 설정할 때 변경된 구성의 영향을 받을 수 있습니다.
리소스 관리자를 사용하도록 설정하면 RECONFIGURE
이전에 RECONFIGURE
사용한 후 또는 데이터베이스 엔진을 마지막으로 다시 시작한 후 CREATE | ALTER | DROP WORKLOAD GROUP
또는 CREATE | ALTER | DROP RESOURCE POOL
또는 CREATE | ALTER | DROP EXTERNAL RESOURCE POOL
문의 구성 변경 내용을 적용합니다.
중요
리소스 관리자 구성 변경 내용을 적용하려면 ALTER RESOURCE GOVERNOR RECONFIGURE
실행해야 합니다.
CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }
schema_name.function_name으로 지정한 분류 함수를 등록합니다. 이 함수는 모든 새 세션을 분류하고 워크로드 그룹에 세션을 할당합니다.
NULL
사용하면 새 세션이 default
워크로드 그룹에 자동으로 할당됩니다.
MAX_OUTSTANDING_IO_PER_VOLUME = value
적용 대상: SQL Server 2014(12.x) 이상
디스크 볼륨당 최대 지연 I/O 작업을 설정합니다. 모든 크기의 읽기 또는 쓰기가 여기에 해당합니다.
MAX_OUTSTANDING_IO_PER_VOLUME
최대값은 100입니다. 값은 백분율이 아닙니다. 이 설정은 디스크 볼륨의 IO 특성에 맞게 IO 리소스 관리를 튜닝하도록 디자인되었습니다. 다른 풀에 MAX_IOPS_PER_VOLUME
설정이 무제한으로 설정된 경우에도 데이터베이스 엔진이 리소스 풀에 대해 지정된 MIN_IOPS_PER_VOLUME
설정을 충족할 수 있도록 하는 시스템 수준 안전 검사를 제공합니다. 자세한 내용은 CREATE RESOURCE POOL참조하세요.
DISABLE
리소스 관리자를 사용하지 않도록 설정합니다. 리소스 관리자를 사용하지 않도록 설정하면 다음과 같은 결과가 발생합니다.
- 분류자 함수가 실행되지 않습니다.
- 모든 새 사용자 세션은 자동으로
default
워크로드 그룹으로 분류됩니다. - 시스템 세션은
internal
워크로드 그룹으로 분류됩니다. - 기존의 모든 작업 그룹 및 리소스 풀 설정이 해당 기본값으로 다시 설정됩니다. 제한에 도달하면 이벤트가 발생하지 않습니다.
- 일반 시스템 모니터링은 영향을 받지 않습니다.
- 리소스 관리자 구성을 변경할 수 있지만 리소스 관리자를 사용하도록 설정할 때까지 변경 내용이 적용되지 않습니다.
- 데이터베이스 엔진을 다시 시작한 후 리소스 관리자는 구성을 로드하지 않고 대신
default
및internal
워크로드 그룹 및 리소스 풀만 사용합니다.
RESET STATISTICS
sys.dm_resource_governor_workload_groups 및 sys.dm_resource_governor_resource_pools노출된 모든 워크로드 그룹 및 리소스 풀에 대한 통계를 다시 설정합니다.
설명
ALTER RESOURCE GOVERNOR
사용자 트랜잭션 내에서 사용할 수 없습니다.
RECONFIGURE
매개 변수는 리소스 관리자 구문의 일부입니다. 별도의 DDL 문인 RECONFIGURE혼동해서는 안 됩니다.
자세한 내용은 Resource Governor참조하세요.
사용 권한
CONTROL SERVER
권한이 필요합니다.
예
리소스 관리자 사용
SQL Server가 설치되면 리소스 관리자를 사용할 수 없습니다. 다음 예제에서는 리소스 관리자를 사용하도록 설정합니다. 문이 실행되면 리소스 관리자를 사용하도록 설정하고 기본 제공 워크로드 그룹 및 리소스 풀을 사용합니다.
ALTER RESOURCE GOVERNOR RECONFIGURE;
기본 그룹에 새 세션 할당
다음 예제에서는 리소스 관리자 구성에서 기존 분류자 함수를 제거하여 모든 새 세션을 default
워크로드 그룹에 할당합니다. 분류자 함수로 지정된 함수가 없으면 모든 새 사용자 세션이 default
워크로드 그룹에 할당됩니다. 이 변경 내용은 새 세션에만 적용되고 기존 세션은 영향을 받지 않습니다.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
ALTER RESOURCE GOVERNOR RECONFIGURE;
분류자 함수 만들기 및 등록
다음 예제에서는 master
데이터베이스에 dbo.rg_classifier
명명된 분류자 함수를 만듭니다. 이 함수는 사용자 이름이나 애플리케이션 이름을 기반으로 모든 새 세션을 분류하고 특정 작업 그룹에 세션 요청과 쿼리를 할당합니다. 지정한 사용자 또는 애플리케이션으로 매핑되지 않는 세션은 기본 작업 그룹에 할당됩니다. 그런 다음 분류자 함수가 등록되고 구성 변경 내용이 적용됩니다.
USE master;
GO
CREATE FUNCTION dbo.rg_classifier()
RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
-- Declare the variable for the function return value.
DECLARE @grp_name AS sysname;
-- If the login name is 'sa', classify the session into the groupAdmin workload group
IF (SUSER_NAME() = 'sa')
SET @grp_name = 'groupAdmin';
-- Classify SSMS sessions into the groupAdhoc workload group
ELSE IF UPPER(APP_NAME()) LIKE '%MANAGEMENT STUDIO%'
SET @grp_name = 'groupAdhoc';
-- Classify SSRS sessions into groupReports workload group
ELSE IF UPPER(APP_NAME()) LIKE '%REPORT SERVER%'
SET @grp_name = 'groupReports';
-- Otherwise, classify the session into the default workload group
ELSE
SET @grp_name = 'default';
-- Return the name of the workload group
RETURN @grp_name;
END;
GO
-- Register the classifier function and update resource governor configuration
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = dbo.rg_classifier);
ALTER RESOURCE GOVERNOR RECONFIGURE;
리소스 관리자 통계 다시 설정
다음 예에서는 모든 작업 그룹 및 리소스 풀 통계를 다시 설정합니다.
ALTER RESOURCE GOVERNOR RESET STATISTICS;
MAX_OUTSTANDING_IO_PER_VOLUME 설정 구성
다음 예제에서는 MAX_OUTSTANDING_IO_PER_VOLUME
설정을 20IO로 설정합니다.
ALTER RESOURCE GOVERNOR WITH (MAX_OUTSTANDING_IO_PER_VOLUME = 20);
관련 콘텐츠
- 리소스 관리자
- Resource Governor 구성 예제 및 모범 사례
- 리소스 풀 만들기
- ALTER RESOURCE POOL
- 리소스 풀 삭제
- 외부 리소스 풀 만들기
- DROP EXTERNAL RESOURCE POOL
- ALTER EXTERNAL RESOURCE POOL
- CREATE WORKLOAD GROUP
- ALTER WORKLOAD GROUP
- 워크로드 그룹 삭제
- sys.dm_resource_governor_workload_groups
- sys.dm_resource_governor_resource_pools