다음을 통해 공유


리소스 관리자 분류자 함수

적용 대상: SQL Server Azure SQL Managed Instance

SQL Server 리소스 관리자 분류 프로세스는 세션 특징에 기초하여 들어오는 세션을 작업 그룹에 할당합니다. 분류자 함수라고 하는 사용자 정의 함수를 작성하여 분류 논리를 조정할 수 있습니다.

분류

리소스 관리자는 들어오는 세션의 분류를 지원합니다. 분류는 함수에 포함된 사용자 작성 조건 집합을 기준으로 합니다. 함수 논리의 결과를 통해 리소스 관리자는 세션을 기존 워크로드 그룹으로 분류할 수 있습니다.

참고 항목

내부 워크로드 그룹은 내부 전용 요청으로 채워집니다. 이러한 요청을 라우팅하는 데 사용되는 조건을 변경할 수 없으며 내부 워크로드 그룹으로 요청을 분류할 수 없습니다.

들어오는 세션을 작업 그룹에 할당하는 데 사용되는 논리가 포함된 스칼라 함수를 작성할 수 있습니다. 이 함수를 사용하려면 먼저 다음 작업을 완료해야 합니다.

  • ALTER RESOURCE GOVERNOR 문을 사용하여 함수를 만들고 등록합니다. 자세한 내용은 ALTER RESOURCE GOVERNOR(Transact-SQL)를 참조하세요.

  • RECONFIGURE 매개 변수와 함께 ALTER RESOURCE GOVERNOR 문을 사용하여 리소스 관리자 구성을 업데이트합니다.

함수를 만들고 구성 변경 내용을 적용하면 리소스 관리자 분류자는 함수에서 반환한 작업 그룹 이름을 사용하여 적절한 작업 그룹으로 새 요청을 보냅니다.

Important

지정된 로그인 제한 시간 내에 분류 함수가 완료되지 않으면 클라이언트 세션이 시간 초과될 수 있습니다. 로그인 제한 시간은 클라이언트 속성이므로 서버에서 시간 초과를 인식하지 못합니다. 장기 실행 분류자 함수는 오랫동안 분리된 연결로 서버를 떠날 수 있습니다. 연결 제한 시간 전에 실행을 완료하는 분류자 함수를 만드는 것이 중요합니다.

사용자 정의 함수에는 다음과 같은 특징과 동작이 있습니다.

  • 연결 풀링을 사용하는 경우에도 사용자 정의 함수는 모든 새 세션에 대해 평가됩니다.

  • 사용자 정의 함수는 세션에 작업 그룹 컨텍스트를 제공합니다. 그룹 멤버 자격이 결정되면 세션은 세션의 수명 동안 워크로드 그룹에 바인딩됩니다.

  • 사용자 정의 함수가 NULL, 기본값 또는 존재하지 않는 그룹의 이름을 반환하는 경우 세션에 기본 작업 그룹 컨텍스트가 지정됩니다. 어떤 이유로든 함수가 실패하는 경우에도 세션에 기본 컨텍스트가 제공됩니다.

  • 함수는 서버 범위(master 데이터베이스)로 정의되어야 합니다.

  • 분류자 사용자 정의 함수 지정은 ALTER RESOURCE GOVERNOR RECONFIGURE가 실행된 후에만 적용됩니다.

  • 한 번에 하나의 사용자 정의 함수만 분류자로 지정될 수 있습니다.

  • 분류자 상태를 제거하지 않으면 분류자 사용자 정의 함수를 삭제하거나 변경할 수 없습니다.

  • 분류자 사용자 정의 함수가 없으면 모든 세션이 기본 그룹으로 분류됩니다.

  • 분류자 함수에서 반환한 작업 그룹은 스키마 바인딩 제한의 범위를 벗어납니다. 예를 들어 테이블은 삭제할 수 없지만 작업 그룹은 삭제할 수 있습니다.

Important

서버에서 DAC(전용 관리자 연결)를 사용하도록 설정하는 것이 좋습니다. DAC는 리소스 관리자 분류의 적용을 받지 않으며 분류자 함수를 모니터링하고 문제를 해결하는 데 사용할 수 있습니다. 자세한 내용은 데이터베이스 관리자를 위한 진단 연결을 참조하세요. DAC를 문제 해결에 사용할 수 없는 경우 다른 옵션은 단일 사용자 모드로 시스템을 다시 시작하는 것입니다. 단일 사용자 모드는 분류의 적용을 받지 않지만 실행되는 동안 리소스 관리자 분류를 진단할 수 있는 기능을 제공하지는 않습니다.

분류 프로세스

리소스 관리자의 컨텍스트에서 세션에 대한 로그인 프로세스는 다음 단계로 구성됩니다.

  1. 로그인 인증

  2. LOGON 트리거 실행(로그온 트리거가 인스턴스에 있는 경우에만 발생합니다.)

  3. 분류

분류가 시작되면 리소스 관리자는 분류자 함수를 실행하고 함수에서 반환된 값을 사용하여 적절한 워크로드 그룹에 요청을 보냅니다.

참고 항목

분류자 함수 및 LOGON 트리거의 실행에 대한 정보는 sys.dm_exec_sessionssys.dm_exec_requests에 표시됩니다.

분류 함수 작업

작업 설명 항목
분류자 사용자 정의 함수를 만들고 테스트하는 방법에 대해 설명합니다. 분류자 사용자 정의 함수 만들기 및 테스트

참고 항목

리소스 관리자
리소스 관리자 사용
리소스 관리자 리소스 풀
리소스 관리자 작업 그룹
템플릿을 사용하여 리소스 관리자 구성
리소스 관리자 속성 보기