집계 관리자 예제 추가 정보
집계 관리자는 쿼리 로그에 수집된 정보를 기반으로 집계를 보고 디자인, 편집 및 추가할 수 있는 예제 응용 프로그램입니다.
집계와 관련된 성능 문제에 대한 자세한 내용은 SQL Server 2005 Analysis Services 성능 가이드(SQL Server 2005 Analysis Services Performance Guide)의 "효율적인 MDX 작성(Writing Efficient MDX)" 섹션을 참조하십시오. 쿼리 로그 설정 방법은 Analysis Services 쿼리 로그 구성(Configuring the Analysis Services Query Log)을 참조하십시오.
시나리오
집계 관리자 예제에서는 다양한 SQL Server 2005 Analysis Services 기능을 사용하여 집계 디자인을 처리하는 방법을 보여 줍니다.
이 예제를 Analysis Services 인스턴스에 연결하여 집계 디자인 집합을 표시하고 집계 디자인이 적용되는 파티션을 표시할 수 있습니다.
이 예제를 사용하여 특정 집계 디자인의 집계 집합을 표시하고 각 집계를 원하는 대로 변경할 수 있습니다. 집계 디자인은 측정값 그룹의 모든 파티션에 적용할 수 있습니다.
예제를 실행하고 쿼리 로그 테이블에 연결하여 MDX(Multidimensional Expressions) 쿼리에 대한 통계 정보를 가져오고, MDX 쿼리를 표시하고, 표시된 집합을 기반으로 새 집계를 추가합니다.
언어
C#(AMO 개체 모델 사용)
기능
집계 관리자 예제는 다음과 같은 SQL Server 2005 Analysis Services의 새 기능을 사용합니다.
응용 프로그램 영역 | 기능 |
---|---|
기존 집계 추가, 삭제 및 변경 |
AMO의 AggregationDesign 및 Aggregation 개체를 사용하여 집계를 관리할 수 있습니다. |
XMLA 스크립트 만들기 |
Scripter AMO 개체를 사용하여 Analysis Services 개체를 직렬화하고 XMLA(XML for Analysis) 스크립트를 만들 수 있습니다. |
QueryLog를 새 집계의 원본으로 사용 |
SQL Server 데이터베이스에 연결하고 집계 집합을 표시할 수 있습니다. 또한 쿼리 로그를 기반으로 새 집계를 추가할 수 있습니다. |
필수 구성 요소
이 예제를 실행하려면
- 개발자 컴퓨터에 다음 소프트웨어가 설치되어 있는지 확인합니다.
- .Net Framework 2.0 SDK 또는 C# 컴파일러가 있는 Visual Studio 2005
- SQL Server 2005 SP2 예제
- 로컬 컴퓨터나 사용자가 관리할 수 있는 다른 컴퓨터에서 다음 서비스가 시작되어 사용할 수 있는지 확인합니다.
- SQL Server Analysis Services
- SQL Server 엔진
- AggManager.snk라는 서명 파일이 있는지 확인합니다. 서명 파일을 만들려면 강력한 이름 도구(Sn.exe)의 단계를 따릅니다.
- 쿼리를 기록하도록 Analysis Services를 구성합니다. 자세한 내용은 Analysis Services 쿼리 로그 구성(Configuring the Analysis Services Query Log)을 참조하십시오. QueryLogSampling 값은 1로 설정합니다.
- 집계를 디자인할 큐브에 대해 일부 쿼리를 실행했는지 확인합니다. 쿼리를 실행할 적절한 큐브가 없는 경우 Adventure Works DW 데이터베이스를 배포하고 Adventure Works 큐브를 테스트 사례로 사용할 수 있습니다. 자세한 내용은 AdventureWorks 예제 및 예제 데이터베이스 설치를 위해 설치 프로그램 실행(Running Setup to Install AdventureWorks Sample Databases and Samples)을 참조하십시오.
예제 빌드
옵션 1: Visual Studio를 사용하여 예제를 빌드하려면
솔루션 파일 AggManager.sln이 저장된 폴더를 찾습니다.
서명 파일 AggManager.snk를 솔루션 폴더로 이동합니다.
Visual Studio를 엽니다.
최근에 사용한 프로젝트 탭의 아래쪽에 있는 열기에서 프로젝트를 클릭합니다.
AggManager.sln 파일을 저장한 폴더를 열고 파일을 선택한 다음 열기를 클릭합니다.
F6 키를 눌러 프로젝트를 빌드합니다.
옵션 2: .Net Framework SDK에서 msbuild.exe를 사용하여 예제를 빌드하려면
솔루션 파일 AggManager.sln이 저장된 폴더를 찾습니다.
서명 파일 AggManager.snk를 솔루션 폴더로 이동합니다.
명령 프롬프트를 열고 디렉터리를 솔루션 파일이 있는 위치로 변경합니다. 방법: 명령 프롬프트에서 컴파일(How to: Compile at the Command Prompt)의 지시에 따라 환경을 구성합니다.
msbuild.exe AggManager.sln을 입력한 다음 Enter 키를 누릅니다.
예제 실행
예제를 실행하려면 SQL 테이블에 일부 쿼리 로그가 기록되어 있어야 합니다. 자세한 내용은 필수 구성 요소 4 및 5를 참조하십시오.
1단계: Analysis Services에 연결
Visual Studio에서 AggManager.sln을 열고 F5 키 또는 CTRL+F5를 누르거나 명령 프롬프트 창에서 실행 파일이 있는 위치를 열고 AggManager.exe를 입력한 다음 Enter 키를 눌러 예제를 시작합니다.
실행 파일을 실행 중인 서버에 연결하려고 하며 사용 중인 인스턴스가 기본 인스턴스인 경우 localhost를 그대로 두고 Connect 단추를 클릭합니다. 다른 서버나 명명된 인스턴스에 연결하는 경우에는 localhost를 올바른 Server Name 또는 <Server Name>\<Instance> 값으로 바꾼 다음 Connect 단추를 클릭해야 합니다.
서버의 트리 뷰를 클릭하고 데이터베이스, 큐브 및 사용 가능한 다른 개체를 찾아볼 수 있는지 확인합니다.
2단계: 쿼리 로그에 연결
아직 연결하지 않은 경우 Analysis Services에 연결합니다. 자세한 내용은 1단계를 참조하십시오.
서버 이름 옆의 **+**를 클릭하여 서버 개체를 확장한 다음 Databases 폴더 개체를 확장합니다.
기록된 쿼리를 실행한 큐브가 들어 있는 데이터베이스 개체를 확장한 다음 Cubes 폴더 개체를 확장합니다.
쿼리가 실행 및 기록된 큐브 개체를 확장한 다음 Measure Groups 폴더 개체를 확장합니다.
집계가 분석 및 디자인될 측정값 그룹 개체를 확장합니다.
No Aggregation Design 폴더 개체를 마우스 오른쪽 단추로 클릭하고 Add from query log를 선택합니다. 새 창이 열립니다.
SQL Server Connect 입력란에 흐리게 표시되는 연결 문자열을 읽습니다.
3단계: 새 집계 디자인 생성, 집계 디자인 삭제, 집계 디자인에 파티션 연결
새 집계 디자인 생성을 시작하려면 쿼리 로그 데이터베이스에 연결되어 있어야 합니다. 자세한 내용은 이전 단계를 참조하십시오.
Add Aggregations from Query Log 창의 Aggregation Design Name 및 Aggregation Prefix에 이름을 지정합니다. Aggregation Design Name은 현재 집계 디자인 집합의 기본 이름입니다. Aggregation Prefix는 생성될 새 집계 디자인의 이름입니다.
데이터 표에 사용 가능한 레코드가 없으면 Execute SQL을 클릭합니다.
OK를 클릭하여 새 집계 디자인을 만들고 Aggregation Manager 창으로 돌아갑니다. Cancel을 클릭하면 현재 작업이 취소되고 창이 닫히며 Aggregation Manager 창으로 돌아가게 됩니다.
이제 새로 만든 집계 디자인이 확장 노드의 일부로 표시됩니다.
집계 디자인 하나를 삭제하려면 해당 집계 디자인을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 Delete를 선택합니다.
집계 디자인에 파티션을 연결하려면 해당 디자인 노드를 마우스 오른쪽 단추로 클릭하고 Change Partitions를 선택합니다.
파티션 창에서 원하는 디자인에 할당할 파티션을 선택한 다음 OK를 클릭합니다.
노드를 확장하면 선택한 파티션이 이제 해당 디자인 아래에 표시됩니다.
4단계: 집계 디자인 편집, 집계 정의 보기
편집할 집계 디자인을 선택합니다. 오른쪽 창의 Aggregation count에 값이 없으면 해당 디자인에 디자인된 집계가 없는 것입니다. 새 집계 디자인을 시작하려면 다음 단계를 따릅니다. 이미 집계가 디자인되어 있으면 8단계로 건너뛰어 편집을 계속할 수 있습니다.
집계 디자인을 마우스 오른쪽 단추로 클릭하면 열리는 바로 가기 메뉴에서 Add from query log를 선택합니다.
연결 문자열을 확인하고 적절하게 변경합니다.
이 디자인에 이름과 접두사를 추가합니다.
Execute SQL 단추를 클릭합니다.
쿼리에서 0과 쉼표만 포함된 하나의 레코드만 반환된 경우 해당 레코드를 클립보드로 복사합니다.
OK 단추를 클릭합니다. Aggregation Design '<Your Aggregation Design Name here**>' updated with** n aggregations라는 메시지가 표시된 상자가 나타납니다.
편집할 집계 디자인을 선택하고 마우스 오른쪽 단추를 클릭한 다음 바로 가기 메뉴에서 Edit을 선택합니다.
빈 데이터 표가 나타나면 클립보드에 저장되어 있는 번호 2-7의 문자열이 필요합니다. Name 열 아래의 행을 클릭하고 이 디자인의 이름을 입력한 다음 Aggregation Definition 아래의 행을 클릭하고 0과 쉼표가 포함된 행을 클립보드에서 붙여 넣습니다. 또한 Type 아래를 클릭하고 Flexible을 입력합니다. Tab 키를 눌러 새 행으로 이동합니다. 이제 빈 디자인이 생성되었습니다.
데이터 표에서 행을 선택합니다. 행 왼쪽에 표시되는 작은 아이콘으로 어떤 행이 선택되었는지 확인할 수 있습니다. 행 그룹을 선택하면 아이콘이 있는 행만 업데이트됩니다.
오른쪽 창에 현재 측정값 그룹에 대해 정의된 모든 차원 모음이 트리 집합으로 나타납니다. 각 최상위 노드는 차원을 나타냅니다. 차원 노드를 선택하거나 선택 취소해도 집계 디자인은 아무런 영향을 받지 않습니다. 이때 창의 제목 표시줄 바로 아래에 있는 Show Attribute Relationships가 선택되어 있는지 확인합니다. 트리 구조는 키 특성을 첫 번째 노드 수준으로 시작하여 특성 관계를 나타냅니다. 다음 특성 수준은 키에 직접 종속된 특성이나 키와 직접 관련된 특성입니다. 그 다음 수준에는 특성 관계 정의에 의해 부모 특성과 직접 관련된 특성이 포함됩니다. 나머지 하위 수준도 이와 마찬가지로 지정됩니다. 0, 1 및 쉼표가 포함된 문자열은 차원 트리 구조의 맵 표현입니다. 쉼표 문자는 차원 구분 기호이고 0과 1은 각각 차원 특성을 나타냅니다. 문자열은 왼쪽에서 오른쪽, 위에서 아래로 노드를 매핑합니다. 선택한 각 차원 특성 노드는 문자열에 1로 나타나고 선택하지 않은 노드는 문자열에 0으로 나타납니다. 세분성 수준이 낮을수록 트리 구조의 위쪽에 표시됩니다.
디자인을 수정하려면 오른쪽 창에서 지정된 행에 대해 노드를 선택하거나 선택 취소해야 합니다. 변경 내용은 문자열에 반영됩니다. 문자열 작업 내용은 트리 구조에도 반영됩니다.
[!참고] 문자열의 길이를 줄이면 응용 프로그램이 충돌합니다.
편집이 끝나면 OK를 눌러 작업 내용을 저장할 수 있습니다.
작업 내용이 메모리에 저장되지만 아직 서버에 적용되지는 않습니다. 측정값 그룹 이름에 추가된 접미사 modified를 통해 서버에 적용되기 위해 보류 중인 디자인을 구별할 수 있습니다.
서버에 변경 내용을 저장하려면 측정값 그룹을 마우스 오른쪽 단추로 클릭하고 Save to server를 선택합니다.
5단계: 집계 디자인의 집계에서 중복 특성 제거
디자인 노드를 마우스 오른쪽 단추로 클릭하고 Edit을 선택하여 Edit Aggregations Aggregation Design 창을 엽니다.
집계 디자인에서 중복 특성을 제거하려면 Eliminate Redundancy 단추를 클릭합니다. 이렇게 하면 현재 디자인에서 중복된 모든 특성이 제거되어 특성 수는 줄어들지만 중요한 특성만 남은 디자인이 됩니다.
6단계: 중복 집계 제거
디자인 노드를 마우스 오른쪽 단추로 클릭하고 Edit을 선택하여 Edit Aggregations Aggregation Design 창을 엽니다.
집계 디자인에서 중복 디자인을 제거하려면 Eliminate Duplicates 단추를 클릭합니다. 이렇게 하면 현재 디자인에서 중복된 모든 행이 제거되어 행 수는 줄어들지만 중요한 행만 남은 디자인이 됩니다.
예제 제거
집계 관리자 예제를 제거하려면
- 솔루션이 들어 있는 폴더와 모든 하위 폴더를 삭제합니다.