리소스 관리자 소개
리소스 관리자는 리소스 소비량에 대한 제한을 들어오는 요청별로 지정하여 SQL Server 작업과 리소스를 관리할 수 있도록 하는 SQL Server 2008의 새로운 기술입니다. 리소스 관리자 컨텍스트에서 작업이란 단일 엔터티로 취급해야 하거나 취급할 수 있는 비슷한 크기의 쿼리 또는 요청 집합입니다. 반드시 그래야 하는 것은 아니지만 작업의 리소스 사용 패턴이 균일할수록 리소스 관리자를 통해 얻을 수 있는 이점이 많아집니다. 리소스 제한은 실행 중인 작업에 미치는 영향을 최소화하면서 실시간으로 다시 구성할 수 있습니다.
같은 서버에 고유 작업이 여러 개 있는 환경에서 리소스 관리자를 사용하면 이러한 여러 작업을 구별할 수 있으며 지정한 제한에 따라 요청된 공유 리소스를 할당할 수 있습니다. CPU와 메모리가 이러한 리소스에 해당합니다.
리소스 관리자는 SQL Server Enterprise, Developer 및 Evaluation Edition에서만 사용할 수 있습니다.
리소스 문제의 유형
리소스 관리자는 데이터베이스 환경에서 일반적으로 접할 수 있는 다음 유형의 리소스 문제를 해결하도록 설계되었습니다.
서버의 런어웨이 쿼리. 이 시나리오에서는 리소스를 많이 사용하는 쿼리가 서버 리소스의 대부분 또는 모두를 차지합니다.
예기치 않은 작업 실행. 이 시나리오에서는 같은 서버에 있는 동시 응용 프로그램일지라도 작업의 크기와 유형이 각기 다릅니다. 예를 들면 두 개의 데이터 웨어하우스 응용 프로그램이나 OLTP 및 데이터 웨어하우스 응용 프로그램 조합이 이에 해당합니다. 이러한 응용 프로그램은 서로에게 의존적입니다. 따라서 이로 인한 리소스 충돌이 예기치 않은 작업 실행을 일으킵니다.
작업 우선 순위 설정. 이 시나리오에서는 리소스 충돌이 발생할 경우 특정 작업이 다른 작업보다 우선적으로 수행되거나 완료되도록 합니다. 리소스 관리자를 사용하여 상대적인 중요도를 작업에 할당할 수 있습니다.
위 시나리오 모두 어떤 방식으로든 작업을 구별할 수 있어야 합니다. 리소스 관리자가 제공하는 기능은 다음과 같습니다.
들어오는 연결을 분류하여 해당 연결의 작업을 특정 그룹에 라우팅할 수 있습니다.
그룹의 각 작업에 대한 리소스 사용량을 모니터링할 수 있습니다.
리소스를 풀링하고 CPU 사용량 및 메모리 할당에 대한 풀별 제한을 설정할 수 있습니다. 따라서 런어웨이 쿼리가 발생할 가능성이 없어지거나 최소화됩니다.
그룹화된 작업을 특정 리소스 풀과 연결할 수 있습니다.
작업 우선 순위를 식별하고 설정할 수 있습니다.
리소스 관리자 제약 사항
이 리소스 관리자 릴리스의 제약 사항은 다음과 같습니다.
리소스 관리가 SQL Server 데이터베이스 엔진으로 제한되며 리소스 관리자를 Analysis Services, Integration Services 및 Reporting Services에 사용할 수 없습니다.
SQL Server 인스턴스 간 작업 모니터링 또는 작업 관리가 없습니다.
제한 지정이 CPU 대역폭과 SQL Server에서 관리하는 메모리에 적용됩니다.
OLTP 작업. 리소스 관리자는 OLTP 작업을 관리할 수는 있지만 이러한 유형의 쿼리는 일반적으로 지속 시간이 매우 짧으므로 대역폭 제어를 적용할 수 있을 정도로 오래 CPU에 항상 상주하지 않습니다. 이로 인해 CPU 사용량(%)으로 반환되는 통계가 왜곡될 수 있습니다.