Share via


AdventureWorks DW 파티션 동기화 패키지 예제

Analysis Services 큐브 내에서 파티션 생성 작업을 어떻게 자동화할 것인가는 개발자가 공통으로 겪는 문제입니다. 파티션은 보통 시간과 같은 차원으로 분리됩니다. 예를 들어 Adventure Works DW 데이터베이스에서 영업 데이터 파티션이 2001년부터 2004년까지 4년 동안 정적으로 생성된 경우 팩트 테이블에서 이 시간 범위 밖의 데이터를 누적하기 시작하면 어떻게 될까요? 영업 데이터가 2005, 2006년에 도달한다면 개발자가 수동으로 새 파티션을 만들어야 할까요? 아니면 자동으로 새 파티션을 만드는 방법이 있을까요?

Adventure Works DW 파티션 동기화 예제 패키지는 새 파티션의 식별 및 생성을 자동화하는 방법을 보여 주는 예제 패키지입니다. 이 예제는 Adventure Works DW 개체용으로 작성되었지만 유사한 환경으로 쉽게 확장하여 사용할 수 있습니다. 이 예제는 Itanium 기반 운영 체제에서 지원되지 않습니다.

ms161545.note(ko-kr,SQL.90).gif중요:
예제는 교육용으로만 제공되므로 프로덕션 환경에서 사용하기에 적합하지 않으며 프로덕션 환경에서 테스트를 수행하지 않았습니다. Microsoft에서는 이러한 예제에 대해 기술 지원을 제공하지 않습니다.

요구 사항

이 예제 패키지를 실행하려면 다음이 필요합니다.

  • 예제 패키지 및 사용되는 데이터 파일이 로컬 하드 디스크 드라이브에 설치되어야 합니다.
  • AdventureWorks OLTP 데이터베이스가 설치되고 이 데이터베이스에 대해 관리 권한이 있어야 합니다.
  • 명령줄에서만 예제 패키지를 실행하려는 경우 SQL Server 2005 Integration Services(SSIS)를 설치해야 합니다.
  • SSIS 디자이너에서 예제 패키지를 열어 실행하려는 경우 Business Intelligence Development Studio를 설치해야 합니다.
  • 64비트 컴퓨터에서 예제 패키지를 실행하려는 경우 스크립트 작업의 PreCompile 속성을 True로 설정해야 합니다. 디버깅 도구를 사용하여 스크립트를 단계별로 실행하려는 경우에는 이 속성을 False로 설정합니다.
  • 관계형 및 Analysis Services 데이터베이스가 로컬 컴퓨터에 없거나 이름이 바뀐 경우 올바른 데이터베이스 위치를 가리키도록 예제 패키지에서 적절히 연결을 수정해야 합니다. SSIS 디자이너에서 패키지를 직접 편집하거나 또는 패키지 구성을 편집할 수 있습니다.
  • 패키지의 스크립트를 실행하려면 Analysis Management Objects를 참조해야 합니다. 이를 위해 폴더 %windir%\Microsoft.net\framework\v2.0.xxxxx에는 Microsoft.AnalysisServices.dll 복사본이 포함되어 있고 Microsoft Visual Studio for Applications 프로젝트는 Analysis Management Objects에 대한 참조를 포함해야 합니다. 복사할 어셈블리가 있는 기본 위치는 C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.AnalysisServices.dll입니다.

예제를 설치하는 방법은 SQL Server 2005 온라인 설명서의 " 예제 Integration Services 패키지 설치"를 참조하십시오. SQL Server 2005 첫 릴리스 이후에 릴리스된 새 예제를 포함하여 최신 버전의 예제를 얻으려면 SQL Server 2005 예제 및 예제 데이터베이스(2006년 4월)를 참조하십시오.

예제 패키지의 위치

기본 설치 위치에 예제를 설치한 경우 Adventure Works DW 파티션 동기화 예제 패키지의 위치는 C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SyncAdvWorksPartitions Sample\SyncAdvWorksPartitions\입니다.

이 예제 패키지를 실행하려면 다음 파일이 필요합니다.

파일 설명

Sync Partitions.dtsx

예제 패키지

Get Partitions List.sql

RDBMS에서 파티션 메타데이터를 식별하고 반환하는 데 사용되는 Transact-SQL 쿼리입니다.

이 파일은 SQL 실행 작업에 사용된 SQL 쿼리의 복사본을 포함하며 패키지를 실행하는 데는 필요하지 않습니다. 그러나 이 텍스트 파일을 사용하면 SQL 문을 보다 쉽게 보고 편집할 수 있습니다.

예제 실행

패키지는 dtexec 유틸리티를 사용하여 명령줄에서 실행하거나 Business Intelligence Development Studio에서 실행할 수 있습니다.

dtexec를 사용하여 패키지를 실행하려면

  1. 명령 프롬프트 창을 엽니다.

  2. 디렉터리를 dtexec의 위치인 C:\Program Files\Microsoft SQL Server\90\DTS\Binn으로 변경합니다.

  3. 다음 명령을 입력합니다.

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SyncAdvWorksPartitions Sample\SyncAdvPartitions\Sync Partitions.dtsx"
    
  4. Enter 키를 누릅니다.

dtexec 유틸리티를 사용하여 패키지를 실행하는 방법은 SQL Server 2005 온라인 설명서의 "dtexec 유틸리티"를 참조하십시오.

Business Intelligence Development Studio에서 패키지를 실행하려면

  1. Business Intelligence Development Studio를 엽니다.

  2. 파일 메뉴에서 열기를 가리킨 다음 프로젝트/솔루션을 클릭합니다.

  3. 파일 형식: 옵션을 **Integration Services 프로젝트 파일(*.dtproj)**로 설정하고 SyncAdvWorksPartitions Sample 폴더를 찾은 다음 Sync Partitions.dtproj 파일을 두 번 클릭합니다.

  4. 솔루션 탐색기에서 SSIS 패키지 폴더에 있는 Sync Partitions.dtsx를 마우스 오른쪽 단추로 클릭한 다음 패키지 실행을 클릭합니다.

Business Intelligence Development Studio에서 패키지를 실행하는 방법은 SQL Server 2005 온라인 설명서의 "패키지 실행"을 참조하십시오.

예제의 구성 요소

다음 표에서는 예제에 사용된 작업, 원본 및 대상을 보여 줍니다.

요소 용도

SQL 실행 작업

Get Partition List SQL 실행 작업은 팩트 테이블에 대해 Transact-SQL 쿼리를 실행합니다. 쿼리는 시간으로 분리된 파티션을 정의하는 메타데이터를 식별하고 반환합니다. 결과 행 집합은 각 파티션당 한 개의 행을 포함합니다.

ForEach 루프 작업

Foreach Partition은 SQL 실행 작업에서 생성된 각 행 집합을 반복 처리합니다. 반복 처리의 각 단계에서 행 집합의 내용은 스크립트 및 Analysis Services DDL 실행 작업에서 사용되는 패키지 변수로 추출됩니다.

스크립트 작업

Foreach 루프 작업 내에서 Partition Already There? 스크립트 작업은 AMO(Analysis Management Object)를 사용하여 해당 파티션이 Analysis Services 데이터베이스에 이미 있는지 여부를 확인합니다. 확인 결과는 IsNotPresent 변수 설정에 사용됩니다. 또한 이 작업은 XMLA_Script 변수를 채웁니다. 이 변수를 사용하여 Analysis Services 데이터베이스에서 새 파티션을 만들 수 있습니다.

Analysis Services DDL 실행 작업

Create Partition로 명명된 Analysis Services DDL 실행 작업은 필요한 경우 XMLA_Script 변수 내에 있는 XMLA 스크립트를 실행하여 Analysis Services 데이터베이스에 새 파티션을 만듭니다. 이 작업은 IsNotPresent 변수가 true인 경우에만 작업을 실행하는 조건부 선행 제약 조건을 포함합니다.

Analysis Services 연결 관리자

DDL 실행 작업은 Internet Sales, Internet Orders 및 Customer Count 측정값 그룹에 파티션을 포함한 Analysis Services 데이터베이스에 연결하는 데 AS database 연결 관리자를 사용합니다.

OLE DB 연결 관리자

SQL 실행 작업은 FactInternetSales 팩트 테이블, FactResellerSales 팩트 테이블 및 DimTime 차원 테이블을 포함한 관계형 데이터베이스를 쿼리하는 데 RDBMS database 연결 관리자를 사용합니다.

예제 결과

Analysis Services 데이터베이스에 이미 파티션이 있으므로 패키지를 실행할 때 파티션이 생성되지 않습니다.

패키지가 Analysis Services 데이터베이스에 새 파티션을 만들도록 하려면 Adventure Works 큐브의 Internet Sales, Internet Orders, Reseller Sales, Reseller Orders 또는 Customer Count 측정값 그룹에서 파티션을 삭제하십시오. 패키지를 실행하면 측정값 그룹에서 삭제한 파티션이 다시 생성되어(집계는 없음) 파티션을 다시 처리할 수 있게 됩니다.

참고 Analysis Services Adventure Works DW 데이터베이스에서 개체를 삭제하고 다시 만들 경우 예제 패키지를 실행하기 전에 현재 데이터베이스의 백업을 만드는 것이 좋습니다.