구성
SQL 2005 SSIS에서는 패키지의 속성값을 설정할 수 있는 구성(Configurations)이라는 기능을 제공합니다. 패키지에 포함되어 있는 컨테이너나 작업, 연결, 변환 등에 대한 속성뿐만 아니라 패키지의 격리 수준이나 검사점 파일명 등과 같은 패키지 수준의 전반적인 속성에 대해서도 값을 설정할 수 있습니다.
구성 기능은 SQL 2000 DTS에서의 동적 속성 작업과 상당히 유사하지만, 부모 패키지 변수 설정이나 SQL Server의 테이블에서의 정보 설정, XML 형태의 정보 파일 저장 등과 같이 기능들이 추가되었으며, 패키지 구성 마법사를 통해 쉽게 설정할 수 있도록 향상되었습니다.
동일한 패키지 작업을 여러 서버에서 수행해야 하거나 개발되는 다수의 패키지에서 사용하는 연결 속성 등을 일괄 관리하고자 할 때 구성을 이용할 수 있습니다. 또한, 부모 패키지에서 자식 패키지로 값을 지정해 주는 기능 등을 구현할 때에도 구성을 이용하여 설정할 수 있으며, 시스템 레지스트리의 항목을 읽어오거나 시스템 변수의 값을 사용해야 될 때에도 활용할 수 있습니다.
구성에서 설정된 값들은 패키지가 실제 실행이 되는 시점(런타임)에 적용 됩니다. 그리고, 구성이 설정되었더라도 해당 구성 파일 또는 테이블 정보가 없는 경우에도 패키지는 정상적으로 수행됩니다. 예를 들어 D:\package.config 라는 이름의 XML 형태의 구성 파일을 지정하였다 하더라도, 해당 파일이 없는 경우에도 패키지는 에러 없이 정상적으로 수행됩니다.
패키지 개발 화면의 상단에 있는 SSIS(S) à 패키지 구성(C)을 선택하여 구성 마법사를 수행할 수 있습니다.
구성 설정은 패키지 구성 마법사를 통해서 수행되며, 다음과 같은 유형으로 지정할 수 있습니다.
Ÿ XML 구성 파일
XML 파일 형태로 구성의 설정 값이 저장됩니다. 하나의 XML 구성 파일에는 여러 개의 설정 값이 저장될 수 있습니다.
XML 구성 파일은 크게 두 개의 부분으로 나눠집니다. 상단의 제목 부분은 구성 파일 자체에 대한 정보를 포함하는 부분이며, 파일을 만든 시간, 패키지 명, 패키지 ID 등과 같은 값 등이 저장됩니다. 하단의 내용은 구성으로 저장된 속성과 속성 값이 저장되는 부분입니다.
Ÿ 환경 변수
시스템의 환경 변수에 구성에서 사용할 값을 저장해서 사용할 수 있습니다. 또한, SSIS 패키지에서 시스템 환경 변수의 값을 참조해야 할 때에도 이용 가능합니다.
위의 그림에서와 같이 시스템의 환경 변수 설정 부분에서 변수를 추가한 후, 이를 SSIS의 패키지에서 사용하도록 지정할 수 있으며, 시스템에서 설정된 환경 변수들을 패키지의 작업 폴더의 경로나 다른 속성의 값으로 이용하도록 기본적으로 제공되는 환경 변수를 지정할 수 있습니다.
Ÿ 레지스트리 항목
구성에서 사용할 항목의 값을 시스템의 레지스트리에 저장한 후 이를 사용할 수 있습니다. 또한 환경 변수와 마찬가지로 시스템에 저장되어 있는 레지스트리 항목을 SSIS 패키지에서 사용할 수 있습니다.
예를 들어, 위의 그림에서와 같이 시스템 레지스트리에서 임의의 키 항목인 SSISPackages에 저장되어 있는 값을 구성에서 읽어오도록 지정합니다. 이 때, 읽어오거나 지정할 수 있는 레지스트리는 HKEY_CURRENT_USER 하위에 있는 키 값이어야 합니다.
Ÿ 부모 패키지 변수
부모 패키지에서 자식 패키지를 호출할 때, 자식 패키지에 있는 변수의 값 또는 개체의 속성 값을 지정할 수 있습니다. 자식 패키지에서는 부모 패키지의 변수 이름만 지정해 주면, 이렇게 설정된 자식 패키지를 부모 패키지에서 호출할 때 별 다른 설정 없이도 부모 패키지의 해당 변수의 값이 자식 패키지로 전달됩니다.
Ÿ SQL Server
SQL Server에 테이블 형태로 구성 정보를 저장하여 이용할 수 있습니다. 구성 정보를 저장하는 테이블은 다음과 같은 형태 입니다.
CREATE TABLE [dbo].[SSIS Configurations] ( ConfigurationFilter NVARCHAR(255) NOT NULL, ConfiguredValue NVARCHAR(255) NULL, PackagePath NVARCHAR(255) NOT NULL, ConfiguredValueType NVARCHAR(20) NOT NULL ) |
구성 필터(F)는 구성 테이블 중, 현재 사용할 속성의 ConfigurationFilter 열 값 입니다.
![](http://www.sqlleader.com/Pds/Board/SS2005SSIS/Editor/image009[0].gif)
구성을 저장하는 유형 중, XML 구성 파일과 SQL Server 유형의 경우, 다음과 같은 특징이 있습니다.
Ÿ XML 구성 파일이 없거나 구성 파일 정보를 저장하는 테이블에 해당 항목의 값이 없는 경우, 최초 실행인 경우에는 자동으로 생성합니다. 이 때 구성 파일 또는 테이블에 저장되는 값은 현재 패키지에 해당하는 항목의 값입니다.
Ÿ 하지만, 이미 구성 파일이 생성된 상태 또는 구성 정보가 테이블에 추가된 상태에서 해당 정보를 삭제할 경우, 구성 정보가 제대로 작동하지 않습니다. 구성 설정 메뉴에서는 해당 구성이 설정되어 있는 것으로 표시되지만, 더 이상 구성 기능이 수행되지 않으며 수정도 되지 않습니다. 이 경우, 수동으로 구성 정보를 만들어 주거나 구성 설정을 제거한 후 다시 설정해야 합니다.
'연구개발 > DTS & SSIS' 카테고리의 다른 글
따라하기 - 검사점 사용하기 (0) | 2009.06.20 |
---|---|
기본 강좌 42 - 검사점 (0) | 2009.06.20 |
기본 강좌 40 - 식 (0) | 2009.06.20 |
기본 강좌 39 - 변수 (0) | 2009.06.20 |
따라하기 - 스크립트 구성 요소 - 대상 (0) | 2009.06.20 |