Integration Services 컨테이너Integration Services Containers

컨테이너는 패키지에 구조를 제공하고 태스크에 서비스를 제공하는 SQL ServerSQL Server Integration ServicesIntegration Services 의 개체입니다.Containers are objects in SQL ServerSQL Server Integration ServicesIntegration Services that provide structure to packages and services to tasks. 패키지의 반복 제어 흐름을 지원하고 태스크와 컨테이너를 의미 있는 작업 단위로 그룹화합니다.They support repeating control flows in packages, and they group tasks and containers into meaningful units of work. 컨테이너는 태스크 외에도 다른 컨테이너를 포함할 수 있습니다.Containers can include other containers in addition to tasks.

패키지는 컨테이너를 다음 용도로 사용합니다.Packages use containers for the following purposes:

  • 폴더의 파일, 스키마 또는 SMO( SQL ServerSQL Server Management Objects) 개체와 같은 컬렉션의 각 요소에 대해 태스크를 반복합니다.Repeat tasks for each element in a collection, such as files in a folder, schemas, or SQL ServerSQL Server Management Objects (SMO) objects. 예를 들어 패키지는 여러 파일에 있는 Transact-SQL 문을 실행할 수 있습니다.For example, a package can run Transact-SQL statements that reside in multiple files.

  • 지정한 식이 false가 될 때까지 태스크를 반복합니다.Repeat tasks until a specified expression evaluates to false. 예를 들어 패키지는 하루에 한 번씩 매일 다른 전자 메일 메시지를 일주일 동안 7번 보낼 수 있습니다.For example, a package can send a different e-mail message seven times, one time for every day of the week.

  • 하나의 단위로 성공하거나 실패해야 하는 태스크와 컨테이너를 그룹화합니다.Group tasks and containers that must succeed or fail as a unit. 예를 들어 패키지는 데이터베이스 테이블에서 행을 삭제하고 추가하는 태스크를 그룹화한 다음 특정 태스크가 실패하면 모든 태스크를 커밋하거나 롤백할 수 있습니다.For example, a package can group tasks that delete and add rows in a database table, and then commit or roll back all the tasks when one fails.

컨테이너 유형Container Types

Integration ServicesIntegration Services 는 패키지 빌드를 위해 4가지 컨테이너 유형을 제공합니다. provides four types of containers for building packages. 다음 표에서는 각 컨테이너 유형을 나열합니다.The following table lists the container types.

컨테이너Container DescriptionDescription
Foreach 루프 컨테이너Foreach Loop Container 열거자를 사용하여 제어 흐름을 반복적으로 실행합니다.Runs a control flow repeatedly by using an enumerator.
For 루프 컨테이너For Loop Container 조건을 테스트하여 제어 흐름을 반복적으로 실행합니다.Runs a control flow repeatedly by testing a condition.
시퀀스 컨테이너Sequence Container 태스크와 컨테이너를 패키지 제어 흐름의 하위 집합인 제어 흐름으로 그룹화합니다.Groups tasks and containers into control flows that are subsets of the package control flow.
태스크 호스트 컨테이너Task Host Container 단일 태스크에 서비스를 제공합니다.Provides services to a single task.

패키지와 이벤트 처리기도 컨테이너 유형입니다.Packages and events handlers are also types of containers. 자세한 내용은 Integration Services(SSIS) 패키지Integration Services(SSIS) 이벤트 처리기를 참조하세요.For information see Integration Services (SSIS) Packages and Integration Services (SSIS) Event Handlers.

컨테이너 속성 요약Summary of Container Properties

모든 컨테이너 유형에는 공통된 속성 집합이 있습니다.All container types have a set of properties in common. Integration ServicesIntegration Services 에서 제공되는 그래픽 도구를 사용하여 패키지를 만들 경우 속성 창에는 Foreach 루프, For 루프 및 시퀀스 컨테이너에 대한 다음 속성이 나열됩니다.If you create packages using the graphical tools that Integration ServicesIntegration Services provides, the Properties window lists the following properties for the Foreach Loop, For Loop, and Sequence containers. 태스크 호스트 컨테이너 속성은 태스크 호스트가 캡슐화하는 태스크를 구성하는 과정의 일부로 구성됩니다.The task host container properties are configured as part of configuring the task that the task host encapsulates. 이 태스크를 구성할 때 태스크 호스트 속성을 설정합니다.You set the Task Host properties when you configure the task.

속성Property DescriptionDescription
DelayValidationDelayValidation 컨테이너의 유효성 검사가 런타임까지 지연되는지 여부를 나타내는 부울 값입니다.A Boolean value that indicates whether validation of the container is delayed until run time. 이 속성의 기본값은 False입니다.The default value for this property is False.

자세한 내용은 DelayValidation가 될 때까지 태스크를 반복합니다.For more information, see DelayValidation.
DescriptionDescription 컨테이너 설명입니다.The container description. 이 속성에는 문자열이 포함되지만 비워 둘 수 있습니다.The property contains a string, but may be blank.

자세한 내용은 Description가 될 때까지 태스크를 반복합니다.For more information, see Description.
사용 안함Disable 컨테이너가 실행되는지 여부를 나타내는 부울 값입니다.A Boolean value that indicates whether the container runs. 이 속성의 기본값은 False입니다.The default value for this property is False.

자세한 내용은 Disable가 될 때까지 태스크를 반복합니다.For more information, see Disable.
DisableEventHandlersDisableEventHandlers 컨테이너와 연결된 이벤트 처리기가 실행되는지 여부를 나타내는 부울 값입니다.A Boolean value that indicates whether the event handlers associated with the container run. 이 속성의 기본값은 False입니다.The default value for this property is False.
FailPackageOnFailureFailPackageOnFailure 컨테이너에서 오류가 발생하는 경우 패키지가 실패하는지 여부를 지정하는 부울 값입니다.A Boolean value that specifies whether the package fails if an error occurs in the container. 이 속성의 기본값은 False입니다.The default value for this property is False.

자세한 내용은 FailPackageOnFailure가 될 때까지 태스크를 반복합니다.For more information, see FailPackageOnFailure.
FailParentOnFailureFailParentOnFailure 컨테이너에서 오류가 발생하는 경우 부모 컨테이너가 실패하는지 여부를 지정하는 부울 값입니다.A Boolean value that specifies whether the parent container fails if an error occurs in the container. 이 속성의 기본값은 False입니다.The default value for this property is False.

자세한 내용은 FailParentOnFailure가 될 때까지 태스크를 반복합니다.For more information, see FailParentOnFailure.
ForcedExecutionValueForcedExecutionValue ForceExecutionValueTrue로 설정된 경우 컨테이너의 선택적 실행 값을 포함하는 개체입니다.If ForceExecutionValue is set to True, the object that contains the optional execution value for the container. 이 속성의 기본값은 0입니다.The default value of this property is 0.

자세한 내용은 ForcedExecutionValue가 될 때까지 태스크를 반복합니다.For more information, see ForcedExecutionValue.
ForcedExecutionValueTypeForcedExecutionValueType ForcedExecutionValue의 데이터 형식입니다.The data type of ForcedExecutionValue. 이 속성의 기본값은 Int32입니다.The default value of this property is Int32.
ForceExecutionResultForceExecutionResult 패키지 또는 컨테이너 강제 실행 결과를 지정하는 값입니다.A value that specifies the forced result of running the package or container. 가능한 값은 None, Success, FailureCompletion입니다.The values are None, Success, Failure, and Completion. 이 속성의 기본값은 None입니다.The default value for this property is None.

자세한 내용은 ForceExecutionResult가 될 때까지 태스크를 반복합니다.For more information, see ForceExecutionResult.
ForceExecutionValueForceExecutionValue 컨테이너의 선택적 실행 값에 특정 값이 포함되도록 강제해야 하는지 여부를 나타내는 부울 값입니다.A Boolean value that specifies whether the optional execution value of the container should be forced to contain a particular value. 이 속성의 기본값은 False입니다.The default value of this property is False.

자세한 내용은 ForceExecutionValue가 될 때까지 태스크를 반복합니다.For more information, see ForceExecutionValue.
IDID 패키지를 만들 때 할당된 컨테이너 GUID입니다.The container GUID, which is assigned when the package is created. 이 속성은 읽기 전용입니다.This property is read-only.

ID가 될 때까지 태스크를 반복합니다.ID.
IsolationLevelIsolationLevel 컨테이너 트랜잭션의 격리 수준입니다.The isolation level of the container transaction. 가능한 값은 Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, SerializableSnapshot입니다.The values are Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, Serializable, and Snapshot. 이 속성의 기본값은 Serializable입니다.The default value of this property is Serializable. 자세한 내용은 IsolationLevel가 될 때까지 태스크를 반복합니다.For more information, see IsolationLevel.
LocaleIDLocaleID Microsoft Win32 로캘입니다.A Microsoft Win32 locale. 이 속성의 기본값은 로컬 컴퓨터 운영 체제의 로캘입니다.The default value of this property is the locale of the operating system on the local computer.

자세한 내용은 LocaleID가 될 때까지 태스크를 반복합니다.For more information, see LocaleID.
LoggingModeLoggingMode 컨테이너의 로깅 동작을 지정하는 값입니다.A value that specifies the logging behavior of the container. 가능한 값은 Disabled, EnabledUseParentSetting입니다.The values are Disabled, Enabled, and UseParentSetting. 이 속성의 기본값은 UseParentSetting입니다.The default value of this property is UseParentSetting. 자세한 내용은 DTSLoggingMode가 될 때까지 태스크를 반복합니다.For more information, see DTSLoggingMode.
MaximumErrorCountMaximumErrorCount 컨테이너 실행이 중지될 때까지 발생할 수 있는 최대 오류 수입니다.The maximum number of errors that can occur before a container stops running. 이 속성의 기본값은 1입니다.The default value of this property is 1.

자세한 내용은 MaximumErrorCount가 될 때까지 태스크를 반복합니다.For more information, see MaximumErrorCount.
이름Name 컨테이너의 이름입니다.The name of the container.

자세한 내용은 Name가 될 때까지 태스크를 반복합니다.For more information, see Name.
TransactionOptionTransactionOption 컨테이너의 트랜잭션 참여 옵션입니다.The transactional participation of the container. 가능한 값은 NotSupported, SupportedRequired입니다.The values are NotSupported, Supported, Required. 이 속성의 기본값은 Supported입니다.The default value of this property is Supported. 자세한 내용은 DTSTransactionOption가 될 때까지 태스크를 반복합니다.For more information, see DTSTransactionOption.

프로그래밍 방식으로 구성할 경우 Foreach 루프, For 루프, 시퀀스 및 태스크 호스트 컨테이너에 사용할 수 있는 모든 속성에 대한 자세한 내용은 다음 Integration ServicesIntegration Services API 항목을 참조하십시오.To learn about all the properties that are available to Foreach Loop, For Loop, Sequence, and Task Host containers when configure them programmatically, see the following Integration ServicesIntegration Services API topics:

  • T:Microsoft.SqlServer.Dts.Runtime.ForEachLoopT:Microsoft.SqlServer.Dts.Runtime.ForEachLoop

  • T:Microsoft.SqlServer.Dts.Runtime.ForLoopT:Microsoft.SqlServer.Dts.Runtime.ForLoop

  • T:Microsoft.SqlServer.Dts.Runtime.SequenceT:Microsoft.SqlServer.Dts.Runtime.Sequence

  • T:Microsoft.SqlServer.Dts.Runtime.TaskHostT:Microsoft.SqlServer.Dts.Runtime.TaskHost

컨테이너 기능을 확장하는 개체Objects that Extend Container Functionality

컨테이너는 실행 파일과 선행 제약 조건으로 구성된 제어 흐름을 포함하며 이벤트 처리기와 변수를 사용할 수도 있습니다.Containers include control flows that consist of executables and precedence constraints, and may use event handlers, and variables. 단, 태스크 호스트 컨테이너는 예외입니다. 태스크 호스트 컨테이너는 단일 태스크를 캡슐화하기 때문에 선행 제약 조건을 사용하지 않습니다.The task host container is an exception: because the task host container encapsulates a single task, it does not use precedence constraints.

실행 파일Executables

실행 파일은 컨테이너 수준 태스크와 해당 컨테이너에 있는 모든 컨테이너를 참조합니다.Executables refers to the container-level tasks and any containers within the container. 실행 파일은 Integration ServicesIntegration Services 에서 제공하는 태스크 및 컨테이너 중 하나이거나 사용자 지정 태스크일 수 있습니다.An executable can be one of the tasks and containers that Integration ServicesIntegration Services provides or a custom task. 자세한 내용은 Integration Services Tasks을(를) 참조하세요.For more information, see Integration Services Tasks.

선행 제약 조건Precedence Constraints

선행 제약 조건은 부모 컨테이너가 같은 컨테이너와 태스크를 정렬된 제어 흐름으로 연결합니다.Precedence constraints link containers and tasks within the same parent container into an ordered control flow. 자세한 내용은 Precedence Constraints을(를) 참조하세요.For more information, see Precedence Constraints.

이벤트 처리기Event Handlers

컨테이너 수준의 이벤트 처리기는 컨테이너 또는 컨테이너에 포함된 개체에 의해 발생한 이벤트에 응답합니다.Event handlers at the container level respond to events raised by the container or the objects it includes. 자세한 내용은 Integration Services(SSIS) 이벤트 처리기를 참조하세요.For more information, see Integration Services (SSIS) Event Handlers.

변수Variables

컨테이너에서 사용되는 변수는 Integration ServicesIntegration Services에서 제공하는 컨테이너 수준의 시스템 변수와 해당 컨테이너가 사용하는 사용자 정의 변수를 포함합니다.Variables that are used in containers include the container-level system variables that Integration ServicesIntegration Services provides and the user-defined variables that the container uses. 자세한 내용은 Integration Services(SSIS) 변수를 참조하세요.For more information, see Integration Services (SSIS) Variables.

중단점Break Points

컨테이너의 중단점을 설정할 때 중단 조건이 컨테이너가 OnVariableValueChanged 이벤트를 받는 경우 중단인 경우 컨테이너 범위의 변수를 정의합니다.When you set a breakpoint on a container and the break condition is Break when the container recevies the OnVariableValueChanged event, define the variable in the container scope.

관련 항목:See Also

제어 흐름Control Flow