ALTER RESOURCE GOVERNOR(Transact-SQL)
이 명령은 다음과 같은 동작을 수행하는 데 사용됩니다.
CREATE|ALTER|DROP WORKLOAD GROUP 또는 CREATE|ALTER|DROP RESOURCE POOL 문이 발행될 때 지정된 구성 변경 내용을 적용합니다.
리소스 관리자를 사용하거나 사용하지 않도록 설정합니다.
들어오는 요청에 대한 분류를 구성합니다.
작업 그룹 및 리소스 풀 통계를 다시 설정합니다.
구문
ALTER RESOURCE GOVERNOR
{ DISABLE | RECONFIGURE }
|
WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
RESET STATISTICS
[ ; ]
인수
용어 |
정의 |
DISABLE | RECONFIGURE |
DISABLE은 리소스 관리자를 사용하지 않도록 설정합니다. 리소스 관리자를 사용하지 않도록 설정하면 다음과 같은 결과가 나타납니다.
리소스 관리자가 사용되지 않는 경우 RECONFIGURE가 리소스 관리자를 사용하도록 설정합니다. 리소스 관리자를 사용하도록 설정하면 다음과 같은 결과가 나타납니다.
리소스 관리자가 실행되고 있을 때 RECONFIGURE 옵션은 CREATE|ALTER|DROP WORKLOAD GROUP 또는 CREATE|ALTER|DROP RESOURCE POOL 문이 실행될 때 요청된 구성 변경 내용을 적용합니다.
중요
구성 변경 내용을 적용하려면 ALTER RESOURCE GOVERNOR RECONFIGURE를 발행해야 합니다.
|
CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } |
schema_name.function_name으로 지정한 분류 함수를 등록합니다. 이 함수는 모든 새 세션을 분류하고 세션 요청 및 쿼리를 작업 그룹에 할당합니다. NULL이 사용되면 새 세션이 기본 작업 그룹에 자동으로 할당됩니다. |
RESET STATISTICS |
모든 작업 그룹 및 리소스 풀에 대한 통계를 다시 설정합니다. 자세한 내용은 sys.dm_resource_governor_workload_groups(Transact-SQL) 및 sys.dm_resource_governor_resource_pools(Transact-SQL)를 참조하십시오. |
주의
사용자 트랜잭션 내에서는 ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVERNOR RECONFIGURE 및 ALTER RESOURCE GOVERNOR RESET STATISTICS를 사용할 수 없습니다.
RECONFIGURE 매개 변수는 리소스 관리자 구문의 일부이며 별도의 DLL 문인 RECONFIGURE와 혼동해서는 안 됩니다.
DDL 문을 실행하기 전에 리소스 관리자 상태에 대해 잘 알고 있는 것이 좋습니다. 자세한 내용은 리소스 관리자 상태를 참조하십시오.
사용 권한
CONTROL SERVER 권한이 필요합니다.
예
1. 리소스 관리자 시작
SQL Server를 처음 설치하면 리소스 관리자를 사용할 수 없습니다. 다음 예에서는 리소스 관리자를 시작합니다. 이 문이 실행된 후에 리소스 관리자가 실행되면 미리 정의된 작업 그룹과 리소스 풀을 사용할 수 있습니다.
ALTER RESOURCE GOVERNOR RECONFIGURE;
2. 기본 그룹에 새 세션 할당
다음 예에서는 리소스 관리자 구성에서 기존 분류자 함수를 제거하여 기본 작업 그룹에 모든 새 세션을 할당합니다. 분류자 함수로 지정된 함수가 없으면 모든 새 세션이 기본 작업 그룹에 할당됩니다. 이 변경 내용은 새 세션에만 적용되고 기존 세션에는 적용되지 않습니다.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
3. 분류자 함수 작성 및 등록
다음 예에서는 dbo.rgclassifier_v1이라는 분류자 함수를 만듭니다. 이 함수는 사용자 이름이나 응용 프로그램 이름을 기반으로 모든 새 세션을 분류하고 특정 작업 그룹에 세션 요청과 쿼리를 할당합니다. 지정한 사용자 또는 응용 프로그램으로 매핑되지 않는 세션은 기본 작업 그룹에 할당됩니다. 그런 다음 분류자 함수가 등록되고 구성 변경 내용이 적용됩니다.
-- Store the classifier function in the master database.
USE master;
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE FUNCTION dbo.rgclassifier_v1() RETURNS sysname
WITH SCHEMABINDING
AS
BEGIN
-- Declare the variable to hold the value returned in sysname.
DECLARE @grp_name AS sysname
-- If the user login is 'sa', map the connection to the groupAdmin
-- workload group.
IF (SUSER_NAME() = 'sa')
SET @grp_name = 'groupAdmin'
-- Use application information to map the connection to the groupAdhoc
-- workload group.
ELSE IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')
OR (APP_NAME() LIKE '%QUERY ANALYZER%')
SET @grp_name = 'groupAdhoc'
-- If the application is for reporting, map the connection to
-- the groupReports workload group.
ELSE IF (APP_NAME() LIKE '%REPORT SERVER%')
SET @grp_name = 'groupReports'
-- If the connection does not map to any of the previous groups,
-- put the connection into the default workload group.
ELSE
SET @grp_name = 'default'
RETURN @grp_name
END
GO
-- Register the classifier user-defined function and update the
-- the in-memory configuration.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION=dbo.rgclassifier_v1);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
4. 통계 다시 설정
다음 예에서는 모든 작업 그룹 및 풀 통계를 다시 설정합니다.
ALTER RESOURCE GOVERNOR RESET STATISTICS;
참고 항목