데이터베이스 엔진 튜닝 관리자를 사용한 탐구 분석
데이터베이스 관리자는 데이터베이스 엔진 튜닝 관리자를 사용하여 탐구 분석을 수행할 수 있습니다. 탐구 분석에서는 수동 튜닝과 도구를 이용하는 튜닝을 함께 사용합니다. 데이터베이스 엔진 튜닝 관리자를 사용하여 탐구 분석을 수행하려면 사용자 지정 구성 기능을 사용하십시오. 사용자 지정 구성 기능을 사용하면 인덱스, 인덱싱된 뷰 및 분할과 같은 기존 및 가정의 물리적 설계 구조에 대한 튜닝 구성을 지정할 수 있습니다. 가상 구조를 지정하면 해당 구조를 먼저 구현할 때 오버헤드가 발생하지 않고 데이터베이스에 대한 영향을 평가할 수 있다는 이점이 있습니다.
데이터베이스 엔진 튜닝 관리자 GUI 및 dta 명령줄 유틸리티가 모두 탐구 분석을 지원하지만 dta는 XML 입력 파일을 사용할 수 있다는 점에서 더 뛰어난 유연성을 제공합니다. 이러한 XML 입력 파일은 데이터베이스 엔진 튜닝 관리자 XML 스키마를 사용합니다. 이 게시된 스키마는 Database Engine Tuning Advisor Schema에서 다운로드할 수 있습니다.
이 URL로 이동한 후 데이터베이스 엔진 튜닝 관리자 스키마에 대한 링크를 찾을 때까지 테이블 행 아래로 스크롤합니다. 이 스키마에 대한 정확한 URL이 인접한 열에 있습니다. 이 XML 스키마를 사용하면 격리된 상태에서 평가되는 분석 가상 구성이나 현재 구성에 관련하여 평가되는 가상 구성에 대해 지정할 수 있습니다. 이에 비해 데이터베이스 엔진 튜닝 관리자 GUI는 유일하게 데이터베이스 엔진 튜닝 관리자에서 생성한 권장 구성의 구조 하위 집합에 대한 평가를 완벽하게 지원합니다.
두 가지 탐구 분석 모드
탐구 분석은 데이터베이스 엔진 튜닝 관리자를 사용하여 다음 두 모드 중 하나로 수행할 수 있습니다.
평가 모드
평가 모드에서 데이터베이스 엔진 튜닝 관리자는 같은 작업에 대해 현재 구성(C)의 비용을 사용자 지정 구성(U)의 비용과 비교합니다. C는 현재 데이터베이스에 있는 물리적 설계 구조로 구성되어 있기 때문에 항상 실제 구성입니다. 이에 비해 U는 실제 및 가상의 물리적 설계 구조로 이뤄지는 구성입니다. 데이터베이스 엔진 튜닝 관리자가 U의 비용이 C의 비용보다 낮다고 보고하는 경우 U의 물리적 설계가 C보다 잘 수행됩니다.
예를 들어 평가 모드는 다음 상황에서 유용합니다.
관리자가 비클러스터형 인덱스를 테이블에 추가하는 데 따른 성능의 영향을 파악하려고 합니다.
관리자는 데이터베이스 엔진 튜닝 관리자를 사용하여 데이터베이스 튜닝을 마치고 권장 구성(R)을 얻었습니다. R을 검토한 후 관리자는 R을 수정하여 미세하게 조정하려고 합니다. 예를 들어 관리자가 두 개의 비클러스터형 인덱스를 추가하고 R의 일부였던 비클러스터형 인덱스를 하나 삭제하려고 합니다. R을 수정한 후 관리자는 수정된 권장 구성을 데이터베이스 엔진 튜닝 관리자에 입력하여 수정 작업에 따른 성능의 영향을 측정하도록 다시 튜닝합니다.
튜닝 모드
튜닝 모드에서 데이터베이스 관리자는 데이터베이스 물리적 설계의 일부가 수정되어야 함을 이미 알고 있지만 데이터베이스 엔진 튜닝 관리자를 통해 나머지 구성에 가장 적합한 물리적 설계 구조에 대한 권장 구성을 얻으려고 합니다.
예를 들어 튜닝 모드는 다음 상황에서 유용합니다.
데이터베이스 관리자는 팩트 테이블이 너무 커서 분할되어야 한다는 사실을 알고 있습니다. 관리자는 월별 또는 분기별로 팩트 테이블을 분할하도록 선택해야 합니다. 어느 방법으로든 테이블을 분할할 수 있지만 관리자는 지정된 작업에 최상의 성능을 제공하는 분할 방법을 선택하려고 합니다. 어떤 분할 방법이 가장 좋을지 판단하기 위해 관리자는 데이터베이스 엔진 튜닝 관리자를 사용하여 작업을 두 번 튜닝할 수 있습니다. 먼저 관리자는 월별로 가상 분할된 테이블로 사용자 지정 구성을 통해 작업을 튜닝합니다. 그런 다음 분기별로 가상 분할된 테이블로 작업을 튜닝합니다. 두 개의 가상 구성을 모두 사용하여 작업이 튜닝되면 관리자는 향상률을 비교하여 최상의 성능을 제공하는 분할 방법을 알아낼 수 있습니다.
Orders 테이블의 ship_date 열에는 클러스터형 인덱스가 있어야 합니다. 데이터베이스 관리자는 Orders 테이블에 대한 최상의 비클러스터형 인덱스 집합을 확인하려고 합니다. 데이터베이스 관리자는 Orders 테이블의 ship_date 열에 클러스터형 인덱스를 갖는 사용자 지정 구성을 지정하여 물리적 데이터베이스 설계를 부분적으로 수정할 수 있습니다. 그런 다음 관리자는 튜닝 모드에서 데이터베이스 엔진 튜닝 관리자를 사용하여 사용자 지정 구성에 따른 성능의 영향을 파악할 수 있습니다.
특정 작업에 대한 두 구성 비교 정보
공통 시나리오로 특정 작업에 대해 서로 다른 두 구성을 비교합니다. 예를 들어 데이터베이스 엔진 튜닝 관리자가 특정 구성을 권장하면 해당 관리자는 약간 다른 구성을 사용할 경우 어떤 영향이 있는지 확인하려고 합니다. 같은 작업을 사용하여 원래 구성과 새 구성을 비교하려면 GUI보다는 dta 명령줄 유틸리티를 사용해야 합니다. 명령줄 유틸리티를 사용하면 데이터베이스 엔진 튜닝 관리자가 튜닝해야 하는 작업 이벤트의 수를 지정(-n 옵션 사용)할 수 있기 때문입니다. 데이터베이스 엔진 튜닝 관리자가 각 구성에 대해 튜닝하는 이벤트의 수가 같도록 지정하는 경우에는 두 튜닝 세션이 동등하므로 비교가 가능합니다. 이것은 데이터베이스 엔진 튜닝 관리자가 지정된 시간 동안 전체 작업을 튜닝하지 못할 수도 있기 때문에 중요합니다. 자세한 내용은 dta 유틸리티 및 방법: dta 유틸리티를 사용하여 데이터베이스 튜닝을 참조하십시오.
사용자 지정 구성 사용에 대한 고려 사항
다음을 유의하십시오.
사용자 지정 구성은 인덱스, 인덱싱된 뷰, 인덱스 및 인덱싱된 뷰의 분할, 통계 등의 물리적 설계 개체로 구성될 수 있습니다.
데이터베이스 엔진 튜닝 관리자 GUI를 사용하여 사용자 지정 구성을 튜닝 세션으로 가져올 수 있습니다. 구성을 가져오려면 파일 메뉴에서 세션 정의 가져오기를 클릭합니다.
또한 데이터베이스 엔진 튜닝 관리자 GUI를 사용하여 권장 구성 중 하나에서 인덱스의 하위 집합을 선택하고 평가를 위해 선택한 권장 구성의 하위 집합으로 새 세션을 시작할 수도 있습니다.
사용자 지정 구성 제한 사항
사용자 지정 구성에는 다음과 같은 제한 사항이 있습니다.
구성 사양은 데이터베이스 엔진 튜닝 관리자 XML 스키마인 DTAschema.xsd에 맞아야 합니다. 이 스키마는 Microsoft 웹 사이트에서 찾을 수 있습니다.
구성에서 기존 인덱스나 인덱싱된 뷰를 데이터베이스에 추가하도록 지정하지 않아야 합니다.
구성에 인덱스를 만들 수 없는 뷰가 포함되지 않아야 합니다.
구성에서 존재하지 않는 인덱스나 제약 조건(예: UNIQUE 또는 PRIMARY KEY 제약 조건)을 적용하는 인덱스를 삭제하지 않아야 합니다.
구성에서 동일한 인덱스를 만들고 삭제할 수는 없습니다. 예를 들어 T 테이블에 I 인덱스를 만든 후 삭제할 수 없습니다. 반대의 경우도 마찬가지로, T 테이블에서 I 인덱스를 삭제한 후 다시 만들 수 없습니다.