리소스 관리자 상태
SQL Server에서 리소스 관리자는 사용과 사용 안 함의 두 가지 상태를 갖습니다. 이러한 상태는 구성을 변경할 때 기본 작업뿐 아니라 작업 처리에도 영향을 줍니다. 이 항목에서는 다음과 같이 경우에 따라 리소스 관리자 상태가 어떻게 설정되고 어떤 동작이 발생하는지에 대해 설명합니다.
리소스 관리자가 설치될 때의 초기 구성 및 상태
리소스 관리자를 사용하거나 사용하지 않도록 설정합니다.
리소스 관리자 구성을 변경합니다.
초기 구성
리소스 관리자를 설치하면 다음과 같은 작업 그룹과 해당 리소스 풀이 만들어집니다.
내부 그룹 및 내부 풀
기본 그룹 및 기본 풀
이때 리소스 관리자는 사용할 수 없습니다.
리소스 관리자 사용 또는 사용 안 함
다음은 리소스 관리자를 사용하거나 사용하지 않도록 설정할 때 일반적으로 수행되는 동작입니다.
리소스 관리자 사용
리소스 관리자를 사용하도록 설정하려면 ALTER RESOURCE GOVERNOR RECONFIGURE를 실행합니다. 리소스 관리자를 사용하도록 설정하면 다음과 같은 결과가 나타납니다.
작업 그룹에 해당 작업을 할당할 수 있도록 새 연결에 대해 분류자 함수가 실행됩니다.
리소스 관리자 구성에 지정된 리소스 제한이 강제로 적용됩니다.
리소스 관리자를 사용하도록 설정하기 전부터 있던 요청이 리소스 관리자가 사용되지 않을 때 수행된 변경 내용의 영향을 받습니다.
리소스 관리자 사용 안 함
리소스 관리자를 사용하지 않도록 설정하려면 ALTER RESOURCE GOVERNOR DISABLE을 실행합니다. 리소스 관리자를 사용하지 않도록 설정하면 다음과 같은 결과가 나타납니다.
분류자 함수가 실행되지 않습니다.
모든 새 연결이 자동으로 기본 그룹으로 분류됩니다.
시스템에서 시작한 요청이 내부 작업 그룹으로 분류됩니다.
기존의 모든 작업 그룹 및 리소스 풀 설정이 해당 기본값으로 다시 설정됩니다. 이 경우 제한에 도달해도 이벤트가 발생하지 않습니다.
정상적인 시스템 모니터링은 영향을 받지 않습니다.
리소스 관리자를 사용하지 않을 때 리소스 관리자 구성을 변경할 수는 있지만 리소스 관리자를 사용하도록 설정할 때까지는 변경 내용이 적용되지 않습니다.
SQL Server를 다시 시작할 때 리소스 관리자는 구성을 로드하지 않고 대신 기본 및 내부 그룹과 풀만 사용합니다.
리소스 관리자 구성 변경
리소스 관리자 구성 변경 내용은 즉시 적용되지 않습니다. 구성 변경은 다음 두 단계로 수행됩니다.
적절한 ALTER 문을 실행하여 리소스 풀 또는 작업 그룹 설정을 변경합니다. 이렇게 하면 구성 메타데이터가 업데이트됩니다.
ALTER RESOURCE GOVERNOR 문을 실행합니다. 이렇게 하면 업데이트된 메타데이터가 메모리 내 구성에 복사됩니다. 다음 표에서는 구성 변경 내용이 리소스 관리자 세션에 적용되고 표시되는 시기에 대해 설명합니다.
구성 요소 |
설명 |
---|---|
사용자 정의 분류 |
새 세션이 연결될 때마다 변경 내용이 적용됩니다. |
리소스 풀 |
장기 실행 세션이 변경 내용의 영향을 받을 수 있으므로 변경 내용이 적용되기 전에 장기 실행 세션이 종료될 수 있습니다. |
작업 그룹 |
현재 세션은 변경 내용의 영향을 받지 않지만 새 연결은 영향을 받습니다. |
리소스 관리자 DDL 문을 실행할 때의 일반적인 세션 동작 외에도 리소스 풀 또는 작업 그룹의 개별 설정에 예측 가능한 결과가 포함되고 이러한 설정을 변경하면 처리에 구체적인 영향을 줍니다.
리소스 풀 설정
리소스 풀을 구성하는 데 네 가지 설정을 사용할 수 있습니다. 이러한 설정은 다음과 같습니다.
최소 및 최대 CPU 사용 비율
최소 및 최대 메모리 사용 비율
리소스 풀 구성에 변경 내용을 적용하면 활성 또는 대기 중인 요청을 처리하는 전환 기간이 발생합니다. 다음 표에서는 리소스 풀 설정에 변경 내용을 적용할 때의 세션 요구 사항과 세션 동작에 대해 설명합니다.
설정 |
동작 |
설명 |
---|---|---|
최소 백분율 |
증가 또는 감소 |
|
최대 백분율 |
증가 또는 감소 |
|
작업 그룹 설정
작업 그룹을 구성하는 데 일곱 가지 설정을 사용할 수 있습니다. 이러한 설정은 다음과 같습니다.
요청에 대한 최대 메모리 할당
요청에 대한 최대 CPU 시간
요청에 대한 리소스 제한 시간
요청의 상대적 중요도 설정
요청 수에 대한 작업 그룹 제한
최대 병렬 처리 수준
지정된 리소스 풀
설정 |
동작 |
설명 |
---|---|---|
최대 메모리 |
증가 또는 감소 |
|
최대 CPU 시간 |
증가 또는 감소 |
|
리소스 제한 시간 |
증가 또는 감소 |
큐에 이미 대기 중인 쿼리는 영향을 받지 않습니다. 새 쿼리는 새 설정을 사용합니다. |
중요도 |
증가 또는 감소 |
작업 그룹에 있는 쿼리에 대한 CPU 배포에만 영향을 줍니다. |
최대 요청 수 |
증가 또는 감소 |
|
최대 병렬 처리 수준 |
증가 또는 감소 |
새 쿼리의 컴파일 및 실행에만 영향을 줍니다. |
지정된 리소스 풀 |
변경 |
활성 요청은 기존 리소스 풀과 해당 설정을 계속 사용하고 새 요청은 새 풀과 해당 설정을 사용합니다. |
리소스 관리자 설정
리소스 관리자 구성을 변경하거나 리소스 관리자의 현재 상태를 변경하는 것 외에도 ALTER RESOURCE GOVERNOR RECONFIGURE 문을 사용하면 분류자 함수를 만들거나 변경할 수 있습니다.
새 분류자 함수를 등록하면 새 연결을 다른 작업 그룹에 라우팅하는 데 사용되는 규칙이 변경됩니다. 이 변경 내용은 이미 분류된 쿼리에는 영향을 주지 않고 새 쿼리에만 영향을 줍니다.