변수 – 다양한 사용자 변수를 만들어 보자
안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida)
이번 시간에는 [변수]에 대해서 알아 보도록 하겠습니다.
지금까지 [데이터 흐름]에 대한 강좌를 하면서 중간 중간에 변수 사용에 대한 실습을 진행하였습니다. 이번 시간에는 변수에 대해서 좀더 자세히 알아보고 각 항목에 대한 특성을 알아 보도로 합니다.
SSIS에는 크게 두 가지 유형의 변수가 있습니다.
- 시스템 변수 – 패키지 생성일자, 패키지 GUID, Version GUID, Machine Name 등 패키지 수행 환경에 대한 정보가 저장되는 변수.
- 사용자 변수 – 패키지 내에서 작업을 수행할 때 사용되는 변수로 사용자가 필요에 따라 추가하며 값을 변경 할 수 있음
SSIS의 변수 범위는 컨테이너 개체를 기준으로 범위가 결정 됩니다. 작업 개체 역시 하나의 작업 호스트 컨테이너이기 때문에 변수의 범위로 정의 될 수 있습니다.
사용자 변수를 추가하는 방법을 알아 보도로 하겠습니다.
[BIDS]를 실행하여 [Integration Services 프로젝트]를 생성 합니다.
[변수] 탭을 실행하는 방법은 두 가지가 있습니다.
[보기] – [다른 창] –[변수]
또는 빈 공간에서 마우스 오른쪽을 클릭하여 [변수]를 선택 합니다.
[변수]탭을 활성화 시키면 다음 그림과 같이 [변수]탭이 나타나고 변수를 생성 할 수 있는 메뉴가 나타 납니다.
변수를 추가한다
변수를 삭제 한다
시스템 변수 목록 보기
현재 패키지에 정의된 모든 사용자 변수 보기
변수 열 선택
변수의 범위는 변수를 추가할 때 지정할 수 있는 것이 아니며 변수 추가 할 때 선택되어 있는 컨테이너가 자동으로 변수 범위를 설정 합니다.
아래 그림은 각 컨테이너 별로 변수를 생성한 화면 입니다.
컨테이너에 따라 범위가 자동으로 지정되는 것을 확인 할 수 있습니다.
만약 상위 범위의 변수를 추가하고 싶으면 상위 영역으로 이동하여 변수를 추가 합니다.
[제어 흐름 영역], [데이터 흐름 영역], [이벤트 처리기 작업 영역] 에서의 시스템 변수는 조금 차이가 있습니다.
[패키지 수준의 시스템 변수]
시스템 변수 | 데이터 형식 | 이벤트 처리기 |
CalcelEvent | Int32 | 0이 아닌 값으로 설정되는 경우 작업 실행이 중지됨을 나타내는 이벤트 핸들 |
CreationDate | DateTime | 패키지를 만든 날짜 |
CreatorComputerName | String | 패키지를 만든 컴퓨터 |
CreatorName | String | 패키지를 만든 사용자의 이름 |
ExecutionInstanceGUID | String | 실행 중인 패키지의 고유 식별자 |
InteractiveMode | Boolean | 패키지가 대화형 모드에서 실행 중인지 여부를 나타냄. SSIS디자이너에서 패키지를 실행 중인 경우 이 속성은 True로 설정. |
LocaleID | Int32 | 패지지에서 사용되는 LocaleID |
MachineName | String | 패키지가 실행 중인 컴퓨터 이름 |
OfflineMode | Boolean | 패키지가 오프라인 모드인지 여부를 나타냄. 오프라인 모드에서는 데이터 원본에 연결하지 않음. |
PackageID | String | 패키지의 고유 식별자 |
PackageName | String | 패키지의 이름 |
StartTime | DateTime | 패키지 실행을 시작한 시간 |
UserName | String | 패키지를 시작한 사용자의 계정. 사용자 이름은 도메인 이름에 의해 한정 됨. |
VersionBuild | Int32 | 패키지 버전 |
VersionComment | String | 패키지 버전에 대한 설명 |
VersionGUID | String | 버전의 고유 식별자 |
VersionMajor | Int32 | 패키지의 주 버전 |
VersionMinor | Int32 | 패키지의 부 버전 |
[컨테이너의 시스템 변수]
시스템 변수 | 데이터 형식 | 설명 |
LocalID | Int32 | 컨테이너에 사용되는 LocalID |
[작업 수준의 시스템 변수]
시스템 변수 | 데이터 형식 | 설명 |
CreationName | String | 작업 이름 |
LocaleID | Int32 | 작업에서 사용되는 LocalID |
TaskID | String | 작업의 고유 식별자 |
TaskName | String | 작업 이름 |
TaskTransactionOption | Int32 | 작업에서 사용되는 트랜잭션 옵션 |
[이벤트 처리기의 시스템 변수]
시스템 변수 | 이벤트 처리기 | 설명 |
Cancel | OnError OnWarning OnQueryCancel | 오류, 경고 또는쿼리 취소가 발생할 때 이벤트 처리기 실행이 중지되는지 여부를 나타 냄 |
ErrorCode | OnError OnInformation OnWarining | 오류 식별자 |
ErrorDescription | OnError OnInformation OnWarining | 오류에 대한 설명 |
ExecutionStatus | OnExecStatusChanged | 현재 실행 상태 |
ExecutionValue | OnTaskFailed | 실행 값 |
LocaleID | All | 이번트 처리에서 사용되는 LocalD |
PercentComplete | OnProgress | 완료된 작업의 백분율 |
ProgressCountHigh | OnPregress | OnProgress이벤트에 의해 처리된 전체 작업 개수를 나타내는 64비트 값의 상위 부분 |
ProgressCountLow | OnPregress | OnProgress 이벤트에 의해 처리된 전체 작업 개수를 나타내는 64비트 하위 부분. |
ProgressDescription | OnPregress | 진행률에 대한 설명 |
Propagate | All | 이벤트가 상위 수준의 이벤트 처리기로 전달되는지 여부 |
SourceDescription | All | 이벤트 처리기에서 이벤트를 발생 시킨 실행 개체에 대한 설명 |
SourceID | All | 이벤트 처리기에서 이벤트를 발생 시킨 실행 개체의 고유 식별자 |
SourceName | All | 이벤트 처리기에서 이벤트를 발생시킨 시행 개체의 이름 |
VariableDescription | OnVariableValueChanged | 변수 설명 |
VariabeID | OnVariableValueChanged | 변수의 고유 식별자 |
'SQL Server > SSIS 강좌' 카테고리의 다른 글
패키지 구성 (0) | 2015.07.16 |
---|---|
프로세스 실행 태스크 (0) | 2015.07.16 |
스크립트 구성 요소 – [데이터 대상] 사용 (2) | 2015.07.16 |
스크립트 구성 요소 – [데이터 변환] 사용 (0) | 2015.07.16 |
스크립트 구성 요소 – [데이터 원본] 사용 (6) | 2015.07.16 |