Integration Services 컨테이너
적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime
컨테이너는 태스크의 패키지 및 서비스에 구조를 제공하는 SQL Server Integration Services의 개체입니다. 패키지에서 반복 제어 흐름을 지원하고 태스크와 컨테이너를 의미 있는 작업 단위로 그룹화합니다. 컨테이너는 태스크 외에도 다른 컨테이너를 포함할 수 있습니다.
패키지는 다음 용도로 컨테이너를 사용합니다.
폴더, 스키마 또는 SMO(SQL Server Management Objects) 개체의 파일과 같이 컬렉션의 각 요소에 대해 작업을 반복합니다. 예를 들어 패키지는 여러 파일에 있는 Transact-SQL 문을 실행할 수 있습니다.
지정된 식이 false로 평가될 때까지 작업을 반복합니다. 예를 들어 패키지는 해당 주의 모든 요일에 한 번씩 다른 전자 메일 메시지를 7번 보낼 수 있습니다.
한 단위로 성공 또는 실패해야 하는 작업과 컨테이너를 그룹화합니다. 예를 들어 패키지는 데이터베이스 테이블에서 행을 삭제하고 추가하는 작업을 그룹화한 다음 실패할 경우 모든 작업을 커밋하거나 롤백할 수 있습니다.
컨테이너 유형
Integration Services는 패키지를 빌드하기 위한 4가지 유형의 컨테이너를 제공합니다. 다음 표에는 컨테이너 유형이 나열되어 있습니다.
컨테이너 | 설명 |
---|---|
Foreach 루프 컨테이너 | 열거자를 사용하여 제어 흐름을 반복적으로 실행합니다. |
For 루프 컨테이너 | 조건을 테스트하여 제어 흐름을 반복적으로 실행합니다. |
시퀀스 컨테이너 | 작업과 컨테이너를 패키지 제어 흐름의 하위 집합인 제어 흐름으로 그룹화합니다. |
태스크 호스트 컨테이너 | 단일 태스크에 서비스를 제공합니다. |
패키지 및 이벤트 처리기도 컨테이너 유형입니다. 자세한 내용은 Integration Services(SSIS) 패키지 및 Integration Services(SSIS) 이벤트 처리기를 참조하세요.
컨테이너 속성 요약
모든 컨테이너 유형에는 공통된 속성 집합이 있습니다. Integration Services에서 제공하는 그래픽 도구를 사용하여 패키지를 만드는 경우 속성 창에 Foreach 루프, For 루프, 시퀀스 컨테이너에 대한 다음 속성이 나열됩니다. 태스크 호스트 컨테이너 속성은 태스크 호스트가 캡슐화하는 태스크를 구성하는 과정의 일부로 구성됩니다. 작업을 구성할 때 작업 호스트 속성을 설정합니다.
속성 | 설명 |
---|---|
DelayValidation | 컨테이너의 유효성 검사가 런타임까지 지연되는지 여부를 나타내는 부울 값입니다. 이 속성의 기본값은 False입니다. 자세한 내용은 DelayValidation를 참조하세요. |
설명 | 컨테이너 설명입니다. 속성에 문자열이 포함되어 있지만 비어 있을 수 있습니다. 자세한 내용은 Description를 참조하세요. |
사용 안 함 | 컨테이너가 실행되는지 여부를 나타내는 부울 값입니다. 이 속성의 기본값은 False입니다. 자세한 내용은 Disable를 참조하세요. |
DisableEventHandlers | 컨테이너와 연결된 이벤트 처리기가 실행되는지 여부를 나타내는 부울 값입니다. 이 속성의 기본값은 False입니다. |
FailPackageOnFailure | 컨테이너에서 오류가 발생하는 경우 패키지가 실패하는지 여부를 지정하는 부울 값입니다. 이 속성의 기본값은 False입니다. 자세한 내용은 FailPackageOnFailure를 참조하세요. |
FailParentOnFailure | 컨테이너에서 오류가 발생하는 경우 부모 컨테이너가 실패하는지 여부를 지정하는 부울 값입니다. 이 속성의 기본값은 False입니다. 자세한 내용은 FailParentOnFailure를 참조하세요. |
ForcedExecutionValue | ForceExecutionValue 가 True로 설정된 경우 컨테이너의 선택적 실행 값을 포함하는 개체입니다. 이 속성의 기본값은 0입니다. 자세한 내용은 ForcedExecutionValue를 참조하세요. |
ForcedExecutionValueType | ForcedExecutionValue의 데이터 형식입니다. 이 속성의 기본값은 Int32입니다. |
ForceExecutionResult | 패키지 또는 컨테이너 실행의 강제 결과를 지정하는 값입니다. 가능한 값은 None, Success, Failure및 Completion입니다. 이 속성의 기본값은 None입니다. 자세한 내용은 ForceExecutionResult를 참조하세요. |
ForceExecutionValue | 컨테이너의 선택적 실행 값에 특정 값을 강제로 포함해야 하는지 여부를 나타내는 부울 값입니다. 이 속성의 기본값은 False입니다. 자세한 내용은 ForceExecutionValue를 참조하세요. |
ID | 패키지를 만들 때 할당되는 컨테이너 GUID입니다. 이 속성은 읽기 전용입니다. ID; |
IsolationLevel | 컨테이너 트랜잭션의 격리 수준입니다. 가능한 값은 Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, Serializable및 Snapshot입니다. 이 속성의 기본값은 Serializable입니다. 자세한 내용은 IsolationLevel를 참조하세요. |
LocaleID | Microsoft Win32 로캘 이 속성의 기본값은 로컬 컴퓨터에서 운영 체제의 로캘입니다. 자세한 내용은 LocaleID를 참조하세요. |
LoggingMode | 컨테이너의 로깅 동작을 지정하는 값입니다. 가능한 값은 Disabled, Enabled및 UseParentSetting입니다. 이 속성의 기본값은 UseParentSetting입니다. 자세한 내용은 DTSLoggingMode를 참조하세요. |
MaximumErrorCount | 컨테이너 실행이 중지될 때까지 발생할 수 있는 최대 오류 수입니다. 이 속성의 기본값은 1입니다. 자세한 내용은 MaximumErrorCount를 참조하세요. |
이름 | 컨테이너의 이름입니다. 자세한 내용은 Name를 참조하세요. |
TransactionOption | 컨테이너가 트랜잭션에 참여하는 방식입니다. 값은 NotSupported, Supported, Required입니다. 이 속성의 기본값은 Supported입니다. 자세한 내용은 DTSTransactionOption를 참조하세요. |
프로그래밍 방식으로 구성할 경우 Foreach 루프, For 루프, 시퀀스, 태스크 호스트 컨테이너에 사용할 수 있는 모든 속성에 대한 자세한 내용은 다음 Integration Services API 항목을 참조하세요.
T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop
T:Microsoft.SqlServer.Dts.Runtime.ForLoop
T:Microsoft.SqlServer.Dts.Runtime.Sequence
T:Microsoft.SqlServer.Dts.Runtime.TaskHost
컨테이너 기능을 확장하는 개체
컨테이너는 실행 파일과 선행 제약 조건으로 구성된 제어 흐름을 포함하며 이벤트 처리기와 변수를 사용할 수도 있습니다. 단, 태스크 호스트 컨테이너는 예외입니다. 태스크 호스트 컨테이너는 단일 태스크를 캡슐화하기 때문에 선행 제약 조건을 사용하지 않습니다.
실행 파일
실행 파일은 컨테이너 수준 작업 및 컨테이너 내의 모든 컨테이너를 나타냅니다. 실행 파일은 Integration Services에서 제공하는 작업 및 컨테이너 또는 사용자 지정 작업 중 하나일 수 있습니다. 자세한 내용은 Integration Services Tasks을(를) 참조하세요.
선행 제약 조건
선행 제약 조건은 부모 컨테이너가 같은 컨테이너와 태스크를 정렬된 제어 흐름으로 연결합니다. 자세한 내용은 Precedence Constraints을(를) 참조하세요.
이벤트 처리기
컨테이너 수준의 이벤트 처리기는 컨테이너 또는 컨테이너에 포함된 개체에서 발생하는 이벤트에 응답합니다. 자세한 내용은 Integration Services(SSIS) 이벤트 처리기를 참조하세요.
변수
컨테이너에서 사용되는 변수는 Integration Services에서 제공하는 컨테이너 수준의 시스템 변수와 해당 컨테이너가 사용하는 사용자 정의 변수를 포함합니다. 자세한 내용은 Integration Services(SSIS) 변수를 참조하세요.
중단점
컨테이너에 중단점을 설정하고 컨테이너가 OnVariableValueChanged 이벤트를 수신할 때 중단 조건이 Break인 경우 컨테이너 범위에서 변수를 정의합니다.