선행 제약 조건Precedence Constraints

선행 제약 조건은 패키지에 있는 실행 개체, 컨테이너 및 태스크를 제어 흐름으로 연결하고 실행 개체의 실행 여부를 결정하는 조건을 지정합니다.Precedence constraints link executables, containers, and tasks in packages in a control flow, and specify conditions that determine whether executables run. 실행 개체는 For 루프, Foreach 루프 또는 시퀀스 컨테이너나 태스크 또는 이벤트 처리기일 수 있습니다.An executable can be a For Loop, Foreach Loop, or Sequence container; a task; or an event handler. 또한 이벤트 처리기에서는 해당 실행 개체를 제어 흐름으로 연결하기 위해 선행 제약 조건이 사용됩니다.Event handlers also use precedence constraints to link their executables into a control flow.

선행 제약 조건은 선행 실행 개체 및 제약 조건이 지정된 실행 개체의 두 실행 개체를 연결합니다.A precedence constraint links two executables: the precedence executable and the constrained executable. 선행 실행 개체는 제약 조건이 지정된 실행 개체 전에 실행되며, 선행 실행 개체의 실행 결과로 제약 조건이 지정된 실행 개체의 실행 여부가 결정될 수 있습니다.The precedence executable runs before the constrained executable, and the execution result of the precedence executable may determine whether the constrained executable runs. 다음 다이어그램에서는 선행 제약 조건으로 연결된 두 개의 실행 개체를 보여 줍니다.The following diagram shows two executables linked by a precedence constraint.

선행 제약 조건으로 연결 된 실행 파일Executables connected by a precedence constraint

분기가 없는 선형 제어 흐름에서 선행 제약 조건은 태스크가 실행되는 시퀀스를 단독으로 제어합니다.In a linear control flow, that is, one without branching, precedence constraints alone govern the sequence in which tasks run. 제어 흐름이 분기되는 경우 Integration ServicesIntegration Services 런타임 엔진은 해당 분기의 바로 다음에 오는 태스크 및 컨테이너에서의 실행 순서를 결정합니다.If a control flow branches, the Integration ServicesIntegration Services run-time engine determines the execution order among the tasks and containers that immediately follow the branching. 런타임 엔진은 또한 제어 흐름에서 연결되지 않은 워크플로 사이의 실행 순서를 결정합니다.The run-time engine also determines execution order among unconnected workflows in a control flow.

Integration ServicesIntegration Services 의 중첩된 컨테이너 아키텍처에서는 단일 태스크만 캡슐화하는 태스크 호스트를 제외한 모든 컨테이너에 다른 컨테이너가 포함될 수 있으며, 각 컨테이너에는 고유 제어 흐름이 포함됩니다.The nested-container architecture of Integration ServicesIntegration Services enables all containers, except for the task host container that encapsulates only a single task, to include other containers, each with its own control flow. For 루프, Foreach 루프 및 시퀀스 컨테이너에는 여러 태스크와 다른 컨테이너가 포함될 수 있으며, 그 아래에도 다시 여러 태스크와 컨테이너가 포함될 수 있습니다.The For Loop, Foreach Loop, and Sequence containers can include multiple tasks and other containers, which in turn can include multiple tasks and containers. 예를 들어 스크립트 태스크와 시퀀스 컨테이너가 포함된 패키지에 해당 스크립트 태스크 및 시퀀스 컨테이너로 연결되는 선행 제약 조건이 있는 경우를 가정해 보십시오.For example, a package with a Script task and a Sequence container has a precedence constraint that links the Script task and the Sequence container. 시퀀스 컨테이너에는 3개의 스크립트 태스크가 들어 있으며, 해당 선행 제약 조건은 이 3개의 스크립트 태스크를 하나의 제어 흐름으로 연결합니다.The Sequence container includes three Script tasks, and its precedence constraints link the three Script tasks into a control flow. 다음 다이어그램에서는 두 개의 중첩 수준이 포함된 패키지의 선행 제약 조건을 보여 줍니다.The following diagram shows the precedence constraints in a package with two levels of nesting.

패키지의 선행 제약 조건Precedence contraints in a package

패키지는 SSISSSIS 컨테이너 계층에서 최상위에 있으므로 선행 제약 조건으로 여러 패키지를 연결할 수 없습니다. 하지만 패키지에 패키지 실행 태스크를 추가하고 다른 패키지를 제어 흐름에 간접적으로 연결할 수 있습니다.Because the package is at the top of the SSISSSIS container hierarchy, multiple packages cannot be linked by precedence constraints; however, you can add an Execute Package task to a package and indirectly link another package into the control flow.

선행 제약 조건은 다음과 같은 방식으로 구성할 수 있습니다.You can configure precedence constraints in the following ways:

  • 평가 작업을 지정합니다.Specify an evaluation operation. 선행 제약 조건은 제약 조건 값이나 식 또는 둘을 모두 사용하여 제약 조건이 지정된 실행 개체가 실행되는지 여부를 결정합니다.The precedence constraint uses a constraint value, an expression, both, or either to determine whether the constrained executable runs.

  • 선행 제약 조건에서 실행 결과가 사용되는 경우 성공, 실패 또는 완료로 실행 결과를 지정할 수 있습니다.If the precedence constraint uses an execution result, you can specify the execution result to be success, failure, or completion.

  • 선행 제약 조건에 계산 결과가 사용되는 경우 부울로 계산되는 식을 제공할 수 있습니다.If the precedence constraint uses an evaluation result, you can provide an expression that evaluates to a Boolean.

  • 선행 제약 조건이 단독으로 계산되는지 아니면 제약 조건이 지정된 실행 개체에 적용되는 다른 제약 조건과 함께 계산되는지 여부를 지정합니다.Specify whether the precedence constraint is evaluated singly or together with other constraints that apply to the constrained executable.

계산 작업Evaluation Operations

Integration ServicesIntegration Services 는 다음과 같은 계산 작업을 제공합니다. provides the following evaluation operations:

  • 제약 조건이 지정된 실행 개체가 실행되는지 여부를 확인하기 위해 선행 실행 개체의 실행 결과만 사용하는 제약 조건.A constraint that uses only the execution result of the precedence executable to determine whether the constrained executable runs. 선행 실행 개체의 실행 결과는 완료, 성공 또는 실패일 수 있습니다.The execution result of the precedence executable can be completion, success, or failure. 이 작업이 기본 작업입니다.This is the default operation.

  • 제약 조건이 지정된 실행 개체가 실행되는지 여부를 확인하기 위해 계산되는 식.An expression that is evaluated to determine whether the constrained executable runs. 식이 True로 계산되면 제약 조건이 지정된 실행 개체가 실행됩니다.If the expression evaluates to true, the constrained executable runs.

  • 선행 실행 개체의 실행 결과에 대한 요구 사항과 식을 계산한 반환 결과를 조합하는 제약 조건과 식An expression and a constraint that combines the requirements of execution results of the precedence executable and the return results of evaluating the expression.

  • 선행 실행 개체의 실행 결과 또는 식을 계산한 반환 결과를 사용하는 제약 조건과 식An expression or a constraint that uses either the execution results of the precedence executable or the return results of evaluating the expression.

    SSISSSIS 디자이너에서는 색을 사용하여 선행 제약 조건의 유형을 확인합니다. Designer uses color to identify the type of precedence constraint. Success 제약 조건은 녹색, Failure 제약 조건은 빨간색, Completion 제약 조건은 파란색입니다.The Success constraint is green, the Failure constraint is red, and the Completion constraint is blue. SSISSSIS 디자이너에 제약 조건 유형을 나타내는 텍스트 레이블을 표시하려면 SSISSSIS 디자이너의 내게 필요한 옵션 기능을 구성해야 합니다.To display text labels in SSISSSIS designer that show the type of the constraint, you must configure the accessibility features of SSISSSIS Designer.

    식은 유효한 SSISSSIS 식이어야 하며, 식에는 함수, 연산자, 시스템 변수 및 사용자 지정 변수가 포함될 수 있습니다.The expression must be a valid SSISSSIS expression, and it can include functions, operators, and system and custom variables. 자세한 내용은 Integration Services(SSIS) 식Integration Services(SSIS) 변수를 참조하세요.For more information, see Integration Services (SSIS) Expressions and Integration Services (SSIS) Variables.

실행 결과Execution Results

선행 제약 조건에는 다음과 같은 식 결과만 단독으로 사용되거나 식이 함께 사용될 수 있습니다.The precedence constraint can use the following execution results alone or in combination with an expression.

  • 완료의 경우에는 출력 여부에 관계없이 선행 실행 개체가 완료되어야만 제약 조건이 지정된 실행 개체가 실행됩니다.Completion requires only that the precedence executable has completed, without regard to outcome, in order for the constrained executable to run.

  • 성공의 경우에는 선행 실행 개체가 성공적으로 완료되어야만 제약 조건이 지정된 실행 개체가 실행됩니다.Success requires that the precedence executable must complete successfully for the constrained executable to run.

  • 실패의 경우에는 선행 실행 개체가 실패해야만 제약 조건이 지정된 실행 개체가 실행됩니다.Failure requires that the precedence executable fail for the constrained executable to run.

참고

같은 Precedence Constraint 컬렉션의 멤버인 선행 제약 조건만 논리적 AND 조건으로 그룹화할 수 있습니다.Only precedence constraints that are members of the same Precedence Constraint collection can be grouped in a logical AND condition. 예를 들어 두 개의 Foreach 루프 컨테이너의 선행 제약 조건은 조합할 수 없습니다.For example, you cannot combine precedence constraints from two Foreach Loop containers.

선행 제약 조건 편집기를 사용 하 여 선행 제약 조건의 속성 설정Set the properties of a precedence constraint with the Precedence Constraint Editor

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. 제어 흐름 탭을 클릭합니다.Click the Control Flow tab.

  4. 선행 제약 조건을 두 번 클릭합니다.Double-click the precedence constraint.

    선행 제약 조건 편집기 가 열립니다.The Precedence Constraint Editor opens.

  5. 평가 작업 드롭다운 목록에서 평가 작업을 선택합니다.In the Evaluation operation drop-down list, select an evaluation operation.

  6. 드롭다운 목록에서 선행 제약 조건의 실행 결과를 선택합니다.In the Value drop-down list, select the execution result of the precedence executable.

  7. 평가 작업에 식이 사용되는 경우 상자에 식을 입력하고 테스트 를 클릭하여 식을 계산합니다.If the evaluation operation uses an expression, in the Expression box, type an expression, and click Test to evaluate the expression.

    참고

    변수 이름은 대소문자를 구분합니다.Variable names are case-sensitive.

  8. 제약 조건이 지정된 실행 개체에 여러 태스크 또는 컨테이너가 연결된 경우에는 논리적 AND 를 선택하여 모든 선행 실행 개체의 실행 결과가 true로 계산되어야 하도록 지정합니다.If multiple tasks or containers are connected to the constrained executable, select Logical AND to specify that the execution results of all preceding executables must evaluate to true. 하나의 식 결과만 true 로 계산되어야 하도록 지정하려면 논리적 OR을 선택합니다.Select Logical OR to specify that only one execution result must evaluate to true.

  9. 확인 을 클릭하여 선행 제약 조건 편집기를 닫습니다.Click OK to close the Precedence Constraint Editor.

  10. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.To save the updated package, click Save Selected Items on the File menu.

선행 제약 조건 편집기Precedence Constraint Editor

선행 제약 조건 편집기 대화 상자를 사용하여 선행 제약 조건을 구성할 수 있습니다.Use the Precedence Constraint Editor dialog box to configure precedence constraints.

옵션Options

평가 작업Evaluation operation
선행 제약 조건에서 사용하는 평가 작업을 지정합니다.Specify the evaluation operation that the precedence constraint uses. 작업에는 제약 조건, , 식 및 제약 조건, 식 또는 제약 조건이 있습니다.The operations are: Constraint, Expression, Expression and Constraint, and Expression or Constraint.

ValueValue
제약 조건 값을 성공, 실패또는 완료로 지정합니다.Specify the constraint value: Success, Failure, or Completion.

참고

선행 제약 조건 줄은 성공인 경우 녹색으로 표시되고 실패인 경우 강조 표시되고 완료인 경우 파란색으로 표시됩니다.The precedence constraint line is green for Success, highlighted for Failure, and blue for Completion.

Expression
, 식 및 제약 조건또는 식 또는 제약 조건작업을 사용하는 경우 식을 입력하거나 식 작성기를 실행하여 식을 만듭니다.If using the operations Expression, Expression and Constraint, or Expression or Constraint, type an expression or launch the Expression Builder to create the expression. 식은 부울로 계산되어야 합니다.The expression must evaluate to a Boolean.

테스트Test
식의 유효성을 검사합니다.Validate the expression.

논리적 ANDLogical AND
동일한 실행 파일의 여러 선행 제약 조건을 함께 평가하도록 지정하려면 선택합니다.Select to specify that multiple precedence constraints on the same executable must be evaluated together. 모든 제약 조건이 True여야 합니다.All constraints must evaluate to True.

참고

이 유형의 선행 제약 조건은 녹색 실선으로 표시되거나 강조 표시되거나 파란색 실선으로 표시됩니다.This type of precedence constraint appears as a solid green, highlighted or blue line.

논리적 ORLogical OR
동일한 실행 파일의 여러 선행 제약 조건을 함께 평가하도록 지정하려면 선택합니다.Select to specify that multiple precedence constraints on the same executable must be evaluated together. 적어도 하나의 제약 조건이 True여야 합니다.At least one constraint must evaluate to True.

참고

이 유형의 선행 제약 조건은 녹색 점선으로 표시되거나 강조 표시되거나 파란색 점선으로 표시됩니다.This type of precedence constraint appears as a dotted green, highlighted, or blue line.

속성 창에서 선행 제약 조건의 속성 설정Set the properties of a precedence constraint in Properties window

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 수정할 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want to modify.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. 제어 흐름 탭을 클릭합니다. 제어 흐름 탭의 디자인 화면에서 선행 제약 조건을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.Click the Control Flow tab. On the design surface of the Control Flow tab, right-click the precedence constraint, and then click Properties. 속성 창에서 속성 값을 수정합니다.In the Properties window, modify the property values.

  4. 속성 창에서 다음과 같은 선행 제약 조건의 읽기/쓰기 속성을 설정합니다.In the Properties window, set the following read/write properties of precedence constraints:

    읽기/쓰기 속성Read/write property 구성 동작Configuration action
    DescriptionDescription 설명을 제공합니다.Provide a description.
    EvalOpEvalOp 계산 작업을 선택합니다.Select an evaluation operation. Expression, ExpressionAndConstant또는 ExpressionOrConstant 작업을 선택할 경우 식을 지정할 수 있습니다.If the Expression, ExpressionAndConstant, or ExpressionOrConstant operation is selected, you can specify an expression.
    Expression 계산 작업에 식이 포함된 경우 식을 제공합니다.If the evaluation operation includes and expression, provide an expression. 식은 부울로 계산되어야 합니다.The expression must evaluate to a Boolean. 식 언어에 대한 자세한 내용은 Integration Services(SSIS) 식을 참조하세요.For more information about the expression language, see Integration Services (SSIS) Expressions.
    LogicalAndLogicalAnd 여러 실행 개체가 선행되고 제약 조건이 지정된 실행 개체에 연결된 경우 LogicalAnd 를 설정하여 선행 제약 조건이 다른 선행 제약 조건과 함께 계산되는지 여부를 지정합니다.Set LogicalAnd to specify whether the precedence constraint is evaluated in concert with other precedence constraints, when multiple executables precede and are linked to the constrained executable
    이름Name 선행 제약 조건의 이름을 업데이트합니다.Update the name of the precedence constraint.
    ShowAnnotationShowAnnotation 사용할 주석의 유형을 지정합니다.Specify the type of annotation to use. 주석을 사용하지 않으려면 Never 를 선택하고, 요청 시 주석을 사용하려면 AsNeeded 를 선택하고, Name 속성의 값을 사용하여 자동으로 주석을 달려면 ConstraintName 을 선택합니다. 또한 Description 속성의 값을 사용하여 자동으로 주석을 달려면 ConstraintDescription 을 선택하고, Value 및 Expression 속성의 값을 사용하여 자동으로 주석을 달려면 ConstraintOptions 를 선택합니다.Choose Never to disable annotations, AsNeeded to enable annotation on demand, ConstraintName to automatically annotate using the value of the Name property, ConstraintDescription to automatically annotate using the value of the Description property, and ConstraintOptions to automatically annotate using the values of the Value and Expression properties.
    Value EvalOP 속성에 지정된 계산 작업에 제약 조건이 포함된 경우 제약 조건이 지정된 실행 개체의 실행 결과를 선택합니다.If the evaluation operation specified in the EvalOP property includes a constraint, select the execution result of the constraining executable.
  5. 속성 창을 닫습니다.Close the Properties window.

  6. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.To save the updated package, click Save Selected Items on the File menu.

바로 가기 메뉴가 있는 선행 제약 조건 값 설정Set the value of a precedence constraint with the shortcut menu

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. 제어 흐름 탭을 클릭합니다.Click the Control Flow tab.

  4. 제어 흐름 탭의 디자인 화면에서 선행 제약 조건을 마우스 오른쪽 단추로 클릭한 후 성공, 실패또는 완료를 클릭합니다.On the design surface of the Control Flow tab, right-click the precedence constraint, and then click Success, Failure, or Completion.

  5. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.To save the updated package, click Save Selected Item on the File menu.

선행 제약 조건에 식 추가Add expressions to precedence constraints

선행 제약 조건에서는 식을 사용하여 선행 실행 개체 및 제약 조건이 지정된 실행 개체 간의 제약 조건을 정의할 수 있습니다.A precedence constraint can use an expression to define the constraint between two executables: the precedence executable and the constrained executable. 실행 개체는 태스크 또는 컨테이너일 수 있습니다.The executables can be tasks or containers. 식은 단독으로 사용되거나 선행 실행 개체의 실행 결과와 함께 사용될 수 있습니다.The expression can be used alone or in combination with the execution result of the precedence executable. 실행 개체의 실행 결과는 성공 또는 실패입니다.The execution result of an executable is either success or failure. 선행 제약 조건의 실행 결과를 구성할 경우 Success, Failure또는 Completion으로 실행 결과를 지정할 수 있습니다.When you configure the execution result of a precedence constraint, you can set the execution result to Success, Failure, or Completion. Success 로 설정하려면 선행 실행 개체가 성공해야 하며, Failure 는 선행 실행 개체가 실패해야 하며, Completion 은 선행 태스크의 성공 또는 실패 여부에 관계없이 제약 조건이 지정된 실행 개체가 실행되어야 함을 나타냅니다.Success requires that the precedence executable succeed, Failure requires that the precedence executable fail, and Completion indicates that the constrained executable should run regardless of whether the precedence task succeeds or fails. 자세한 내용은 Precedence Constraints을 참조하세요.For more information, see Precedence Constraints.

식은 True 또는 False 로 계산되어야 하며 유효한 Integration ServicesIntegration Services 식이어야 합니다.The expression must evaluate to True or False and it must be a valid Integration ServicesIntegration Services expression. 식에서는 문자, 시스템 및 사용자 지정 변수와 SSISSSIS 식 문법에서 제공하는 함수와 연산자를 사용할 수 있습니다.The expression can use literals, system and custom variables, and the functions and operators that the SSISSSIS expression grammar provides. 예를 들어 @Count == SQRT(144) + 10 식에서는 Count 변수, SQRT 함수 및 등호(==)와 더하기(+) 연산자를 사용합니다.For example, the expression @Count == SQRT(144) + 10 uses the variable Count, the SQRT function , and the equal (==) and add (+) operators. 자세한 내용은 Integration Services(SSIS) 식을 참조하세요.For more information, see Integration Services (SSIS) Expressions.

다음 그림에서 태스크 A와 태스크 B는 실행 결과와 식을 사용하는 선행 제약 조건으로 연결되어 있습니다.In the following illustration, task A and task B are linked by a precedence constraint that uses an execution result and an expression. 제약 조건 값은 Success 로 설정되고 식은 @X >== @Z입니다.The constraint value is set to Success and the expression is @X >== @Z. 제약 조건이 지정된 태스크 B는 태스크 A가 성공적으로 완료되고 변수 X 의 값이 변수 Z의 값보다 크거나 같은 경우에만 실행됩니다.Task B, the constrained task, runs only if task A completes successfully and the value of variable X is greater than or equal to the value of variable Z.

두 태스크 간의 선행 제약 조건Precedence constraint between two tasks

실행 개체는 또한 여러 식이 포함된 여러 선행 제약 조건을 사용하여 연결될 수 있습니다.Executables can also be linked by using multiple precedence constraints that contain different expressions. 예를 들어 다음 그림에서 태스크 B와 C는 실행 결과와 식을 사용하는 선행 제약 조건에 의해 태스크 A에 연결됩니다.For example, in the following illustration, tasks B and C are linked to task A by precedence constraints that use execution results and expressions. 두 제약 조건 값은 모두 Success로 설정됩니다.Both of the constraint values are set to Success. 하나의 선행 제약 조건에는 @X >== @Z식이 포함되고 다른 선행 제약 조건에는 @X < @Z식이 포함됩니다.One precedence constraint includes the expression @X >== @Z, and the other precedence constraint includes the expression @X < @Z. 변수 X 와 변수 Z의 값에 따라 태스크 C 또는 태스크 B가 실행됩니다.Depending on the values of variable X and variable Z, either task C or task B runs.

선행 제약 조건의 식Expressions on precedence constraints

디자이너에서 선행 제약 조건 편집기 SSISSSIS 를 사용하거나 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) 에서 제공하는 속성 창을 사용하여 식을 추가하거나 수정할 수 있습니다.You can add or modify an expression by using the Precedence Constraint Editor in SSISSSIS Designer and the Properties window that SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) provides. 하지만 속성 창에는 식 구문에 대한 검사 기능이 제공되지 않습니다.However, the Properties window does not provide verification of the expression syntax.

선행 제약 조건에 식이 포함되는 경우 제어 흐름 탭의 디자인 화면에서 선행 제약 조건 옆에 아이콘이 표시되고 아이콘의 도구 설명에 해당 식이 표시됩니다.If a precedence constraint includes an expression, an icon appears on the design surface of the Control Flow tab, next to the precedence constraint, and the ToolTip on the icon displays the expression.

선행 제약 조건에 식을 추가합니다Add an expression to a precedence constraint

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. 제어 흐름 탭을 클릭합니다.Click the Control Flow tab.

  4. 제어 흐름 탭의 디자인 화면에서 선행 제약 조건을 두 번 클릭합니다.On the design surface of the Control Flow tab, double-click the precedence constraint. 선행 제약 조건 편집기 가 열립니다.The Precedence Constraint Editor opens.

  5. 평가 작업목록에서 , 식 및 제약 조건 또는 식 또는 제약 조건 을 선택합니다.Select Expression, Expression and Constraint, or Expression or Constraint in the Evaluation operation list.

  6. 실행 텍스트 상자에 표현식을 입력하거나 Expression Builder를 실행하여 실행을 만듭니다.Type an expression in the Expression text box or launch the Expression Builder to create an expression.

  7. 식 구문의 유효성을 검사하려면 테스트를 클릭합니다.To validate the expression syntax, click Test.

  8. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.To save the updated package, click Save Selected Items on the File menu.

실행 값과 식 조합Combine execution values and expressions

다음 표에서는 선행 제약 조건에서 실행 값 제약 조건과 식을 조합한 결과에 대해 설명합니다.The following table describes the effects of combining an execution value constraint and an expression in a precedence constraint.

평가 작업Evaluation operation 제약 조건 계산 결과Constraint evaluates to 식 계산 결과Expression evaluates to 제약 조건이 지정된 실행 개체 실행Constrained executable runs
제약 조건Constraint TrueTrue 해당 사항 없음N/A TrueTrue
제약 조건Constraint FalseFalse 해당 사항 없음N/A FalseFalse
Expression 해당 사항 없음N/A TrueTrue TrueTrue
Expression 해당 사항 없음N/A FalseFalse FalseFalse
제약 조건 및 식Constraint and Expression TrueTrue TrueTrue TrueTrue
제약 조건 및 식Constraint and Expression TrueTrue FalseFalse FalseFalse
제약 조건 및 식Constraint and Expression FalseFalse TrueTrue FalseFalse
제약 조건 및 식Constraint and Expression FalseFalse FalseFalse FalseFalse
제약 조건 또는 식Constraint or Expression TrueTrue TrueTrue TrueTrue
제약 조건 또는 식Constraint or Expression TrueTrue FalseFalse TrueTrue
제약 조건 또는 식Constraint or Expression FalseFalse TrueTrue TrueTrue
제약 조건 또는 식Constraint or Expression FalseFalse FalseFalse FalseFalse

여러 선행 제약 조건 사용 하는 복잡 한 제약 조건 시나리오Complex constraint scenarios with multiple precedence constraints

선행 제약 조건은 두 개의 태스크, 두 개의 컨테이너 또는 각 태스크와 컨테이너를 하나씩 선택하여 두 개의 실행 개체를 참조합니다.A precedence constraint connects two executables: two tasks, two containers, or one of each. 선행 제약 조건을 선행 실행 개체 및 제약 조건이 지정된 실행 개체라고 합니다.They are known as the precedence executable and the constrained executable. 제약 조건이 지정된 실행 개체에는 여러 선행 제약 조건이 포함될 수 있습니다.A constrained executable can have multiple precedence constraints. 자세한 내용은 Precedence Constraints을 참조하세요.For more information, see Precedence Constraints.

제약 조건을 그룹화하여 복잡한 제약 조건 시나리오를 조합하면 패키지에 복잡한 제어 흐름을 구현할 수 있습니다.Assembling complex constraint scenarios by grouping constraints enables you to implement complex control flow in packages. 예를 들어 다음 그림에서 태스크 D는 Success 제약 조건에 의해 태스크 A에 연결되며 태스크 D는 다시 Failure 제약 조건에 의해 태스크 B에 연결되고, 태스크 D는 Success 제약 조건에 의해 태스크 C에 연결됩니다.For example, in the following illustration, Task D is linked to Task A by a Success constraint, Task D is linked to Task B by a Failure constraint, and Task D is linked to Task C by a Success constraint. 태스크 D와 태스크 A 사이의 선행 제약 조건, 태스크 D와 태스크 B 사이의 선행 제약 조건 및 태스크 D와 태스크 C 사이의 선행 제약 조건은 논리적 AND 관계에 있습니다.The precedence constraints between Task D and Task A, between Task D and Task B, and between Task D and Task C participate in a logical and relationship. 따라서 태스크 D를 실행하려면 태스크 A와 태스크 C는 성공적으로 실행되어야 하고 태스크 B는 실패해야 합니다.Therefore, for Task D to run, Task A must run successfully, Task B must fail, and Task C must run successfully.

선행 제약 조건으로 연결 하는 작업Tasks linked by precedence constraints

LogicalAnd 속성LogicalAnd Property

태스크 또는 컨테이너에 여러 제약 조건이 있는 경우 LogicalAnd 속성은 선행 제약 조건이 그 자체로만 평가되는지 또는 다른 제약 조건과 함께 평가되는지 여부를 지정합니다.If a task or a container has multiple constraints, the LogicalAnd property specifies whether a precedence constraint is evaluated singly or in concert with other constraints.

LogicalAnd 속성은 SSISSSIS 디자이너 또는 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 제공하는 속성 창에서 선행 제약 조건 편집기를 사용하여 설정할 수 있습니다.You can set the LogicalAnd property using the Precedence Constraint Editor in SSISSSIS Designer, or in the Properties window that SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) provides.

선행 제약 조건에 대 한 기본값 설정Set the default value for precedence constraints

SSISSSIS 디자이너를 처음 사용할 때 선행 제약 조건의 기본값은 Success입니다.When you first use SSISSSIS Designer, the default value of a precedence constraint is Success. 다음 단계에 따라 SSISSSIS 디자이너를 구성하고 선행 제약 조건에 대해 다른 기본값을 사용하십시오.Follow these steps to configure SSISSSIS Designer to use a different default value for precedence constraints.

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)를 엽니다.Open SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT).

  2. 도구 메뉴에서 옵션을 클릭합니다.On the Tools menu, click Options.

  3. 옵션 대화 상자에서 비즈니스 인텔리전스 디자이너 를 확장한 후 Integration Services 디자이너를 확장합니다.In the Options dialog box, expand Business Intelligence Designers, and then expand Integration Services Designers.

  4. 제어 흐름 자동 연결 을 클릭하고 기본적으로 선택한 셰이프에 새 셰이프 연결을 선택합니다.Click Control Flow Auto Connect and select Connect a new shape to the selected shape by default.

  5. 드롭다운 목록에서 새 셰이프에 Failure 제약 조건 사용 또는 새 셰이프에 Completion 제약 조건 사용을 선택합니다.In the drop-down list, choose either Use a Failure constraint for the new shape or Use a Completion constraint for the new shape.

  6. 확인을 클릭합니다.Click OK.

기본 선행 제약 조건을 만들려면Create a default precedence constraint

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. 제어 흐름 탭을 클릭합니다.Click the Control Flow tab.

  4. 제어 흐름 탭의 디자인 화면에서 태스크 또는 컨테이너를 클릭하고 선행 제약 조건을 적용하려는 실행 개체에 해당 연결선을 끌어 옵니다.On the design surface of the Control Flow tab, click the task or container and drag its connector to the executable to which you want the precedence constraint to apply.

  5. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.To save the updated package, click Save Selected Items on the File menu.