다음을 통해 공유


선행 제약 조건

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

선행 제약 조건은 제어 흐름의 패키지에 있는 실행 파일, 컨테이너 및 작업을 연결하고 실행 파일이 실행되는지 여부를 결정하는 조건을 지정합니다. 실행 파일은 For 루프, Foreach 루프 또는 시퀀스 컨테이너일 수 있습니다. 작업; 또는 이벤트 처리기입니다. 또한 이벤트 처리기는 선행 제약 조건을 사용하여 실행 파일을 제어 흐름에 연결합니다.

선행 제약 조건은 선행 실행 파일과 제약 조건이 지정된 실행 파일이라는 두 실행 파일을 연결합니다. 선행 실행 파일은 제약이 있는 실행 파일보다 먼저 실행되며 선행 실행 파일의 실행 결과에 따라 제한된 실행 파일이 실행되는지 여부가 결정될 수 있습니다. 다음 다이어그램에서는 선행 제약 조건으로 연결된 두 개의 실행 파일을 보여 줍니다.

선행 제약 조건으로 연결된 실행 파일

선형 제어 흐름에서 즉, 분기가 없는 선형 제어 흐름에서는 선행 제약 조건만으로 작업이 실행되는 시퀀스를 제어합니다. 제어 흐름이 분기되는 경우 통합 서비스 런타임 엔진은 분기 바로 뒤에 있는 작업과 컨테이너 간의 실행 순서를 결정합니다. 또한 런타임 엔진은 제어 흐름에서 연결되지 않은 워크플로 간의 실행 순서를 결정합니다.

통합 서비스의 중첩 컨테이너 아키텍처를 사용하면 단일 작업만 캡슐화하는 작업 호스트 컨테이너를 제외한 모든 컨테이너가 각각 자체 제어 흐름이 있는 다른 컨테이너를 포함할 수 있습니다. For 루프, Foreach 루프 및 시퀀스 컨테이너에는 여러 작업 및 기타 컨테이너가 포함될 수 있으며, 이 컨테이너에는 여러 작업 및 컨테이너가 포함될 수 있습니다. 예를 들어 스크립트 작업과 시퀀스 컨테이너가 있는 패키지에는 스크립트 작업과 시퀀스 컨테이너를 연결하는 선행 제약 조건이 있습니다. 시퀀스 컨테이너에는 세 개의 스크립트 작업이 포함되며, 선행 제약 조건은 세 개의 스크립트 작업을 제어 흐름에 연결합니다. 다음 다이어그램에서는 두 개의 중첩 수준이 포함된 패키지의 선행 제약 조건을 보여 줍니다.

패키지의 선행 제약 조건

패키지가 SSIS 컨테이너 계층 구조의 맨 위에 있으므로 우선 순위 제약 조건으로 여러 패키지를 연결할 수 없습니다. 그러나 패키지 실행 작업을 패키지에 추가하고 다른 패키지를 제어 흐름에 간접적으로 연결할 수 있습니다.

다음과 같은 방법으로 선행 제약 조건을 구성할 수 있습니다.

  • 평가 작업을 지정합니다. 선행 제약 조건은 제약 조건 값, 식 또는 둘 다를 사용하여 제한된 실행 파일이 실행되는지 여부를 결정합니다.

  • 선행 제약 조건이 실행 결과를 사용하는 경우 실행 결과를 성공, 실패 또는 완료로 지정할 수 있습니다.

  • 선행 제약 조건이 평가 결과를 사용하는 경우 부울로 계산되는 식을 제공할 수 있습니다.

  • 우선 순위 제약 조건이 적절하게 평가되는지 아니면 제한된 실행 파일에 적용되는 다른 제약 조건과 함께 평가되는지를 지정합니다.

평가 작업

통합 서비스는 다음과 같은 계산 작업을 제공합니다.

  • 선행 실행 파일의 실행 결과만 사용하여 제한된 실행 파일이 실행되는지 여부를 결정하는 제약 조건입니다. 선행 실행 파일의 실행 결과는 완료, 성공 또는 실패일 수 있습니다. 이 작업이 기본 작업입니다.

  • 제한된 실행 파일이 실행되는지 여부를 확인하기 위해 계산되는 식입니다. 식이 true로 평가되면 제약된 실행 파일이 실행됩니다.

  • 선행 실행 파일의 실행 결과 요구 사항과 식 계산의 반환 결과를 결합하는 식 및 제약 조건입니다.

  • 선행 실행 파일의 실행 결과 또는 식 평가의 반환 결과를 사용하는 식 또는 제약 조건입니다.

SSIS 디자이너는 색을 사용하여 선행 제약 조건의 유형을 식별합니다. Success 제약 조건은 녹색, Failure 제약 조건은 빨간색, Completion 제약 조건은 파란색입니다. SSIS 디자이너에서 제약 조건의 형식을 표시하는 텍스트 레이블을 표시하려면 SSIS 디자이너의 접근성 기능을 구성해야 합니다.

식은 유효한 SSIS 식이어야 하며 함수, 연산자, 시스템 및 사용자 지정 변수를 포함할 수 있습니다. 자세한 내용은 Integration Services(SSIS) 식Integration Services(SSIS) 변수를 참조하세요.

실행 결과

선행 제약 조건은 다음 실행 결과만 사용하거나 식과 함께 사용할 수 있습니다.

  • 완료의 경우에는 출력 여부에 관계없이 선행 실행 개체가 완료되어야만 제약 조건이 지정된 실행 개체가 실행됩니다.

  • 성공하려면 제한된 실행 파일을 실행하려면 우선 순위 실행 파일이 성공적으로 완료되어야 합니다.

  • 실패하려면 제한된 실행 파일을 실행하기 위해 선행 실행 파일이 실패해야 합니다.

참고 항목

동일한 선행 제약 조건 컬렉션에 속하는 선행 제약 조건만 논리 AND 조건으로 그룹화할 수 있습니다. 예를 들어 두 Foreach 루프 컨테이너의 선행 제약 조건을 결합할 수 없습니다.

선행 제약 조건 편집기를 사용하여 선행 제약 조건의 속성 설정

  1. SSDT(SQL Server Data Tools)에서 원하는 패키지가 들어 있는 Integration Services 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.

  3. 제어 흐름 탭을 클릭합니다.

  4. 선행 제약 조건을 두 번 클릭합니다.

    선행 제약 조건 편집기가 열립니다.

  5. 평가 작업 드롭다운 목록에서 평가 작업을 선택합니다.

  6. 드롭다운 목록에서 선행 실행 파일의 실행 결과를 선택합니다.

  7. 평가 작업에 식을 사용하는 경우 상자에 식을 입력하고 테스트를 클릭하여 식을 평가합니다.

    참고 항목

    변수 이름은 대소문자를 구분합니다.

  8. 여러 작업 또는 컨테이너가 제한된 실행 파일에 연결된 경우 논리 AND를 선택하여 이전의 모든 실행 파일의 실행 결과를 true로 평가하도록 지정합니다. 논리 OR을 선택하여 하나의 실행 결과만 true로 평가하도록 지정합니다.

  9. 확인을 클릭하여 선행 제약 조건 편집기를 닫습니다.

  10. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.

선행 제약 조건 편집기

선행 제약 조건 편집기 대화 상자를 사용하여 선행 제약 조건을 구성합니다.

옵션

평가 작업
선행 제약 조건에서 사용하는 평가 작업을 지정합니다. 작업은 제약 조건, , 식과 제약 조건, 식 또는 제약 조건.


제약 조건 값을 성공, 실패또는 완료로 지정합니다.

참고 항목

선행 제약 조건 줄은 성공인 경우 녹색으로 표시되고 실패인 경우 강조 표시되고 완료인 경우 파란색으로 표시됩니다.


, 식과 제약 조건 또는 식 또는 제약 조건 연산을 사용하는 경우 식을 입력하거나 식 작성기를 시작하여 식을 만듭니다. 식은 부울로 평가해야 합니다.

Test
식 유효성을 검사합니다.

논리적 AND
동일한 실행 파일의 여러 선행 제약 조건을 함께 평가하도록 지정하려면 선택합니다. 모든 제약 조건이 True여야 합니다.

참고 항목

이 유형의 선행 제약 조건은 녹색 실선으로 표시되거나 강조 표시되거나 파란색 실선으로 표시됩니다.

논리적 OR
동일한 실행 파일의 여러 선행 제약 조건을 함께 평가하도록 지정하려면 선택합니다. 적어도 하나의 제약 조건이 True여야 합니다.

참고 항목

이 유형의 선행 제약 조건은 녹색 점선으로 표시되거나 강조 표시되거나 파란색 실선으로 표시됩니다.

속성 창에서 선행 제약 조건의 속성 설정

  1. SSDT(SQL Server Data Tools)에서 수정을 원하는 패키지가 들어 있는 통합 서비스 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.

  3. 제어 흐름 탭을 클릭합니다. 제어 흐름 탭의 디자인 화면에서 선행 제약 조건을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 속성 창에서 속성의 값을 수정합니다.

  4. 속성 창에서 다음과 같은 선행 제약 조건의 읽기/쓰기 속성을 설정합니다.

    읽기/쓰기 속성 구성 작업
    설명 설명을 제공합니다.
    EvalOp 평가 작업을 선택합니다. , 식과 제약 조건 또는 식 또는 제약 조건 작업이 선택된 경우 식을 지정할 수 있습니다.
    계산 작업에 식과 식이 포함된 경우 식을 제공합니다. 식은 부울로 평가해야 합니다. 식 언어에 대한 자세한 내용은 Integration Services(SSIS) 식을 참조하세요.
    LogicalAnd 여러 실행 파일이 선행되고 제한된 실행 파일에 연결된 경우 선행 제약 조건이 다른 선행 제약 조건과 함께 평가되는지 여부를 지정하도록 LogicalAnd를 설정합니다.
    속성 선행 제약 조건의 이름을 업데이트합니다.
    ShowAnnotation 사용할 주석의 유형을 지정합니다. 주석을 사용하지 않도록 설정하지 않도록 설정하려면 Never, 요청 시 주석을 사용하도록 설정하려면 AsNeeded, Name 속성 값을 사용하여 자동으로 주석을 달도록 ConstraintName, Description 속성 값을 사용하여 자동으로 주석을 달기 위한 ConstraintDescription, Value 및 Expression 속성 값을 사용하여 자동으로 주석을 달기 위한 ConstraintOptions를 선택합니다.
    EvalOP 속성에 지정된 평가 작업에 제약 조건이 포함된 경우 제약 조건 실행 파일의 실행 결과를 선택합니다.
  5. 속성 창을 닫습니다.

  6. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.

바로 가기 메뉴를 사용하여 선행 제약 조건의 값 설정

  1. SSDT(SQL Server Data Tools)에서 원하는 패키지가 들어 있는 Integration Services 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.

  3. 제어 흐름 탭을 클릭합니다.

  4. 제어 흐름 탭의 디자인 화면에서 선행 제약 조건을 마우스 오른쪽 단추로 클릭한 다음 성공, 실패 또는 완료를 클릭합니다.

  5. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.

선행 제약 조건에 식 추가

선행 제약 조건에서는 식을 사용하여 선행 실행 개체 및 제약 조건이 지정된 실행 개체 간의 제약 조건을 정의할 수 있습니다. 실행 파일은 작업 또는 컨테이너일 수 있습니다. 식은 선행 실행 파일의 실행 결과와 함께 단독으로 또는 함께 사용할 수 있습니다. 실행 파일의 실행 결과는 성공 또는 실패입니다. 선행 제약 조건의 실행 결과를 구성할 때 실행 결과를 성공, 실패 또는 완료로 설정할 수 있습니다. 성공 하려면 선행 실행 파일이 성공해야 하고, 실패 하려면 선행 실행 파일이 실패해야 하고 완료는 선행 작업의 성공 여부에 관계없이 제한된 실행 파일이 실행되어야 함을 나타냅니다. 자세한 내용은 Precedence Constraints을(를) 참조하세요.

식은 True 또는 False로 계산되어야 하며 유효한 통합 서비스 식이어야 합니다. 식은 리터럴, 시스템 및 사용자 지정 변수, SSIS 식 문법에서 제공하는 함수 및 연산자를 사용할 수 있습니다. 예를 들어 @Count == SQRT(144) + 10 식에서는 Count변수, SQRT 함수 및 등호(==)와 더하기(+) 연산자를 사용합니다. 자세한 내용은 Integration Services(SSIS) 식을 참조하세요.

다음 그림에서 태스크 A와 태스크 B는 실행 결과와 식을 사용하는 선행 제약 조건으로 연결되어 있습니다. 제약 조건 값은 Success로 설정되고 식은 @X >== @Z입니다. 제약 조건이 지정된 작업 B는 작업 A가 성공적으로 완료되고 변수 X의 값이 변수 Z의 값보다 크거나 같은 경우에만 실행됩니다.

두 작업 간의 선행 제약 조건

다른 식을 포함하는 여러 선행 제약 조건을 사용하여 실행 파일을 연결할 수도 있습니다. 다음 그림에서 작업 A와 작업 B는 실행 결과와 식을 사용하는 선행 제약 조건으로 연결되어 있습니다. 두 제약 조건 값은 모두 Success로 설정됩니다. 하나의 선행 제약 조건에는 식 @X >== @Z가 포함되고 다른 선행 제약 조건에는 식 @X < @Z가 포함됩니다. 변수 X 및 변수 Z의 값에 따라 작업 C 또는 작업 B가 실행됩니다.

선행 제약 조건에 식

SSIS 디자이너의 선행 제약 조건 편집기 및 SSDT(SQL Server Data Tools)가 제공하는 속성 창 사용하여 식을 추가하거나 수정할 수 있습니다. 그러나 속성 창 식 구문의 확인을 제공하지 않습니다.

선행 제약 조건에 식이 포함된 경우 우선 순위 제약 조건 옆에 있는 제어 흐름 탭의 디자인 화면에 아이콘이 나타나고 아이콘의 도구 설명에 식이 표시됩니다.

선행 제약 조건에 식 추가

  1. SSDT(SQL Server Data Tools)에서 원하는 패키지가 들어 있는 Integration Services 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.

  3. 제어 흐름 탭을 클릭합니다.

  4. 제어 흐름 탭의 디자인 화면에서 선행 제약 조건을 두 번 클릭합니다. 선행 제약 조건 편집기가 열립니다.

  5. 평가 작업 목록에서 , 식과 제약 조건 또는 식 또는 제약 조건을 선택합니다.

  6. 텍스트 상자에 식을 입력하거나 식 작성기를 실행하여 식을 만듭니다.

  7. 식 구문의 유효성을 검사하려면 테스트를 클릭합니다.

  8. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.

실행 값 및 식 결합

다음 표에서는 선행 제약 조건에서 실행 값 제약 조건과 식을 조합한 결과에 대해 설명합니다.

평가 작업 제약 조건이 다음으로 평가됨 식이 다음으로 평가됨 제한된 실행 파일 실행
제약 조건 True 해당 없음 True
제약 조건 False 해당 없음 False
해당 없음 True True
해당 없음 False False
제약 조건과 식 True True True
제약 조건과 식 False False
제약 조건과 식 False True 거짓
제약 조건과 식 False False False
제약 조건 또는 식 True True True
제약 조건 또는 식 False True
제약 조건 또는 식 False True True
제약 조건 또는 식 False False False

여러 선행 제약 조건을 사용하는 복잡한 제약 조건 시나리오

선행 제약 조건은 두 개의 태스크, 두 개의 컨테이너 또는 각 태스크와 컨테이너를 하나씩 선택하여 두 개의 실행 개체를 참조합니다. 선행 제약 조건을 선행 실행 개체 및 제약 조건이 지정된 실행 개체라고 합니다. 제약 조건이 지정된 실행 개체에는 여러 선행 제약 조건이 포함될 수 있습니다. 자세한 내용은 Precedence Constraints을(를) 참조하세요.

제약 조건을 그룹화하여 복잡한 제약 조건 시나리오를 어셈블하면 패키지에서 복잡한 제어 흐름을 구현할 수 있습니다. 예를 들어 다음 그림에서 작업 D는 성공 제약 조건에 의해 작업 A에 연결되며 작업 D는 다시 실패 제약 조건에 의해 작업 B에 연결되고, 작업 D는 성공 제약 조건에 의해 작업 C에 연결됩니다. 작업 D와 작업 A 사이의 선행 제약 조건, 작업 D와 작업 B 사이, 그리고 작업 D와 작업 C 간의 선행 제약 조건이 논리 관계에 참여합니다. 따라서 작업 D를 실행하려면 작업 A가 성공적으로 실행되고, 작업 B가 실패하고, 작업 C가 성공적으로 실행되어야 합니다.

선행 제약 조건으로 연결된 작업

LogicalAnd 속성

작업 또는 컨테이너에 여러 제약 조건이 있는 경우 LogicalAnd 속성은 우선 순위 제약 조건이 적절하게 평가되는지 아니면 다른 제약 조건과 함께 평가되는지를 지정합니다.

SSIS 디자이너의 선행 제약 조건 편집기 또는 SSDT(SQL Server Data Tools)가 제공하는 속성 창 사용하여 LogicalAnd 속성을 설정할 수 있습니다.

선행 제약 조건에 대한 기본값 설정

SSIS 디자이너를 처음 사용할 때 선행 제약 조건의 기본값은 성공입니다. 다음 단계에 따라 SSIS 디자이너를 구성하고 선행 제약 조건에 대해 다른 기본값을 사용하세요.

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

  2. 도구 메뉴에서 옵션을 클릭합니다.

  3. 옵션 대화 상자에서 비즈니스 인텔리전스 디자이너 를 확장한 후 Integration Services 디자이너를 확장합니다.

  4. 제어 흐름 자동 연결을 클릭하고 기본값으로 선택한 셰이프에 새 셰이프 연결을 선택합니다.

  5. 드롭다운 목록에서 새 셰이프에 실패 제약 조건 사용 또는 새 셰이프에 대해 완료 제약 조건 사용 중 하나를 선택합니다.

  6. 확인을 클릭합니다.

기본 선행 제약 조건 만들기

  1. SSDT(SQL Server Data Tools)에서 원하는 패키지가 들어 있는 Integration Services 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.

  3. 제어 흐름 탭을 클릭합니다.

  4. 제어 흐름 탭의 디자인 화면에서 태스크 또는 컨테이너를 클릭하고 선행 제약 조건을 적용하려는 실행 개체에 해당 연결선을 끌어 옵니다.

  5. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.