리소스 관리자 소개

리소스 관리자는 리소스 소비량에 대한 제한을 들어오는 요청별로 지정하여 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 사용량(%)으로 반환되는 통계가 왜곡될 수 있습니다.

참고 항목

개념