시스템 변수
적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime
SQL Server Integration Services에서는 런타임 패키지 및 해당 개체에 대한 정보가 저장되는 일련의 시스템 변수를 제공합니다. 이러한 변수는 식 및 속성 식에서 패키지, 컨테이너, 태스크 및 이벤트 처리기를 사용자 지정하는 데 사용할 수 있습니다.
SQL 실행 태스크에서 변수를 SQL 매개 변수에 매핑하는 데 사용되는 매개 변수 바인딩에는 시스템 변수와 사용자 정의 변수를 포함한 모든 변수를 사용할 수 있습니다.
패키지에 대한 시스템 변수
다음 표에서는 Integration Services에서 패키지에 대해 제공하는 시스템 변수에 대해 설명합니다.
시스템 변수 | 데이터 형식 | 설명 |
---|---|---|
CancelEvent | Int32 | 태스크가 작업 실행을 중지해야 함을 나타내는 신호를 보낼 수 있는 Windows 이벤트 개체에 대한 핸들입니다. |
ContainerStartTime | DateTime | 컨테이너의 시작 시간입니다. |
CreationDate | DateTime | 패키지를 만든 날짜입니다. |
CreatorComputerName | 문자열 | 패키지가 생성된 컴퓨터입니다. |
CreatorName | 문자열 | 패키지를 빌드한 사람의 사용자 이름입니다. |
ExecutionInstanceGUID | 문자열 | 실행 중인 패키지 인스턴스의 고유 식별자입니다. |
FailedConfigurations | 문자열 | 실패한 패키지 구성의 이름입니다. |
IgnoreConfigurationsOnLoad | Boolean | 패키지를 로드할 때 패키지 구성이 무시되는지 여부를 나타냅니다. |
InteractiveMode | Boolean | 패키지가 대화형 모드에서 실행되는지 여부를 나타냅니다. SSIS 디자이너에서 패키지를 실행 중인 경우 이 속성은 True로 설정됩니다. DTExec 명령 프롬프트 유틸리티를 사용하여 패키지를 실행하는 경우 속성은 False로 설정됩니다. |
LocaleId | Int32 | 패키지에서 사용하는 로컬입니다. |
MachineName | 문자열 | 패키지를 실행 중인 컴퓨터의 이름입니다. |
OfflineMode | Boolean | 패키지가 오프라인 모드인지 여부를 나타냅니다. 오프라인 모드는 데이터 원본에 대한 연결을 획득하지 않습니다. |
PackageID | 문자열 | 패키지 고유 식별자입니다. |
PackageName | 문자열 | 패키지 이름 |
StartTime | DateTime | 패키지 실행 시작 시간입니다. |
ServerExecutionID | Int64 | Integration Services 서버에서 실행되는 패키지의 실행 ID입니다. 기본값은 0입니다. 이 값은 Integration Services 서버의 ISServerExec에서 패키지를 실행하는 경우에만 변경됩니다. 자식 패키지가 있는 경우 값은 부모 패키지에서 자식 패키지로 전달됩니다. |
UserName | 문자열 | 패키지를 시작한 사용자의 계정입니다. 사용자 이름은 도메인 이름으로 한정됩니다. |
VersionBuild | Int32 | 패키지 버전입니다. |
VersionComment | 문자열 | 패키지 버전에 대한 설명입니다. |
VersionGUID | 문자열 | 버전의 고유한 식별자입니다. |
VersionMajor | Int32 | 패키지의 주 빌드 버전입니다. |
VersionMinor | Int32 | 패키지의 부 빌드 버전입니다. |
컨테이너의 시스템 변수
다음 표에서는 Integration Services가 For 루프, Foreach 루프 및 시퀀스 컨테이너에 제공하는 시스템 변수에 대해 설명합니다.
시스템 변수 | 데이터 형식 | 설명 | 컨테이너 |
---|---|---|---|
LocaleId | Int32 | 컨테이너에서 사용되는 로캘입니다. | For 루프 컨테이너 Foreach 루프 컨테이너 시퀀스 컨테이너 |
태스크의 시스템 변수
다음 표에서는 에서 태스크에 대해 제공하는 시스템 변수에 대해 설명합니다.
시스템 변수 | 데이터 형식 | 설명 |
---|---|---|
CreationName | 문자열 | 프로젝트 작업의 이름입니다. |
LocaleId | Int32 | 태스크에서 사용하는 로컬입니다. |
TaskID | 문자열 | 태스크의 고유 식별자입니다. |
TaskName | 문자열 | 태스크 인스턴스 이름입니다. |
TaskTransactionOption | Int32 | 태스크에서 사용하는 트랜잭션 옵션입니다. |
이벤트 처리기에 대한 시스템 변수
다음 표에서는 Integration Services에서 이벤트 처리기에 대해 제공하는 시스템 변수에 대해 설명합니다. 모든 이벤트 처리기에서 모든 변수를 사용할 수 있는 것은 아닙니다.
시스템 변수 | 데이터 형식 | 설명 | 이벤트 처리기 |
---|---|---|---|
취소 | Boolean | 오류, 경고 또는 쿼리 취소가 발생할 때 이벤트 처리기가 실행을 중지하는지 여부를 나타냅니다. | OnError 이벤트 처리기 OnWarning 이벤트 처리기 OnQueryCancel 이벤트 처리기 |
ErrorCode | Int32 | 오류 식별자입니다. | OnError 이벤트 처리기 OnInformation 이벤트 처리기 OnWarning 이벤트 처리기 |
ErrorDescription | 문자열 | 오류에 대한 설명입니다. | OnError 이벤트 처리기 OnInformation 이벤트 처리기 OnWarning 이벤트 처리기 |
ExecutionStatus | Boolean | 현재 실행 상태입니다. | OnExecStatusChanged 이벤트 처리기 |
ExecutionValue | DBNull | 실행 값입니다. | OnTaskFailed 이벤트 처리기 |
LocaleId | Int32 | 이벤트 처리기가 사용하는 로컬입니다. | 모든 이벤트 처리기기 |
PercentComplete | Int32 | 완료된 작업의 백분율입니다. | OnProgress 이벤트 처리기 |
ProgressCountHigh | Int32 | OnProgress 이벤트에서 처리한 총 작업 수를 나타내는 64비트 값의 상위 부분입니다. | OnProgress 이벤트 처리기 |
ProgressCountLow | Int32 | OnProgress 이벤트에서 처리한 총 작업 수를 나타내는 64비트 값의 하위 부분입니다. | OnProgress 이벤트 처리기 |
ProgressDescription | 문자열 | 진행률 설명 | OnProgress 이벤트 처리기 |
Propagate | Boolean | 이벤트가 더 높은 수준의 이벤트 처리기로 전파되는지 여부를 나타냅니다. 참고: 패키지의 유효성을 검사하는 동안 Propagate 변수의 값은 무시됩니다. 자식 패키지에서 False로 전파를 설정해도 이벤트가 부모 패키지로 전파되는 것을 방지할 수 없습니다. |
모든 이벤트 처리기기 |
SourceDescription | 문자열 | 이벤트 처리기에서 이벤트를 발생시킨 실행 개체의 설명입니다. | 모든 이벤트 처리기기 |
SourceID | 문자열 | 이벤트 처리기에서 이벤트를 발생시킨 실행 개체의 고유 식별자입니다. | 모든 이벤트 처리기기 |
SourceName | 문자열 | 이벤트 처리기에서 이벤트를 발생시킨 실행 개체의 이름입니다. | 모든 이벤트 처리기기 |
VariableDescription | 문자열 | 변수 설명입니다. | OnVariableValueChanged 이벤트 처리기 |
VariableID | 문자열 | 변수의 고유 식별자입니다. | OnVariableValueChanged 이벤트 처리기 |
매개 변수 바인딩의 시스템 변수
패키지 실행 시 테이블의 시스템 변수 값을 저장하면 유용합니다. 예를 들어 테이블을 동적으로 만들고 이 테이블을 만든 패키지 실행 인스턴스의 GUID를 테이블 열에 쓰는 패키지가 있을 수 있습니다.
시스템 변수를 사용하여 SQL 실행 태스크에서 사용하는 SQL 문의 매개 변수에 매핑하는 경우 각 매개 변수 바인딩의 데이터 형식을 시스템 변수의 데이터 형식으로 설정하는 것이 중요합니다. 그렇게 하지 않으면 시스템 변수 값이 올바르게 번역되지 않을 수 있습니다. 예를 들어 문자열 데이터 형식이 있고 패키지의 실행 중인 인스턴스의 GUID를 나타내는 문자열을 포함하는 ExecutionInstanceGUID 시스템 변수가 GUID 데이터 형식의 매개 변수 바인딩에서 사용되는 경우 패키지 인스턴스의 GUID가 잘못 변환됩니다.
이 규칙은 사용자 정의 변수에도 적용됩니다. 그러나 시스템 변수의 데이터 형식은 변경할 수 없으며 데이터 형식에 맞게 이러한 변수의 사용을 조정해야 하는 반면 사용자 정의는 더 유연합니다. 매개 변수 바인딩에 사용되는 사용자 정의 변수는 일반적으로 매핑되는 매개 변수의 데이터 형식과 호환되는 데이터 형식으로 정의됩니다.