다음을 통해 공유


여러 테이블의 증분 로드 수행

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

변경 데이터 캡처를 사용하여 증분 로드 개선 항목에서 다이어그램은 하나의 테이블에서만 증분 로드를 수행하는 기본 패키지를 보여 줍니다. 그러나 하나의 테이블을 로드하는 것은 여러 테이블의 증분 로드를 수행하는 것만큼 일반적이지 않습니다.

여러 테이블을 증분 로드할 때 일부 단계는 모든 테이블에 대해 한 번만 수행해야 하며 다른 단계는 각 원본 테이블에 대해 반복해야 합니다. Integration Services에서 이러한 단계를 구현하기 위한 둘 이상의 옵션은 다음과 같습니다.

  • 부모 패키지 및 자식 패키지를 사용합니다.

  • 단일 패키지에서 여러 데이터 흐름 태스크 사용

부모 패키지 및 다중 자식 패키지를 사용하여 다중 테이블 로드

부모 패키지를 사용하여 한 번만 수행해야 하는 단계를 수행할 수 있습니다. 자식 패키지는 각 원본 테이블에 대해 수행되어야 하는 단계를 수행합니다.

한 번만 수행해야 하는 단계를 수행하는 부모 패키지 만들기

  1. 부모 패키지 만들기

  2. 제어 흐름에서 SQL 실행 태스크나 Integration Services 식을 사용하여 엔드포인트를 계산합니다.

    엔드포인트를 계산하는 방법의 예는 변경 데이터 간격 지정을 참조하세요.

  3. 필요한 경우 For 루프 컨테이너를 사용하여 선택한 기간의 변경 데이터가 준비될 때까지 실행을 지연합니다.

    이러한 For 루프 컨테이너의 예는 변경 데이터의 준비 여부 확인을 참조하세요.

  4. 다중 패키지 실행 태스크를 사용하여 로드할 각 테이블에 대한 자식 패키지를 실행합니다. 부모 패키지 변수 구성을 사용하여 부모 패키지에서 계산된 엔드포인트를 각 자식 패키지에 전달합니다.

    자세한 내용은 패키지 실행 태스크자식 패키지에서 변수 및 매개 변수 값 사용을 참조하세요.

각 원본 테이블에 대해 수행되어야 하는 단계를 수행하는 자식 패키지를 만들려면

  1. 각 원본 테이블에 대해 자식 패키지를 만듭니다.

  2. 제어 흐름에서 스크립트 태스크나 SQL 실행 태스크를 사용하여 변경 내용을 쿼리하는 데 사용할 SQL 문을 조합합니다.

    쿼리를 어셈블하는 방법의 예는 변경 데이터에 대한 쿼리 준비를 참조하세요.

  3. 각 자식 패키지에서 단일 데이터 흐름 태스크를 사용하여 변경 데이터를 로드하고 대상에 적용합니다. 다음 단계에 설명된 대로 데이터 흐름을 구성합니다.

    1. 데이터 흐름에서 원본 구성 요소를 사용하여 선택한 엔드포인트에 속하는 변경 내용에 대한 변경 테이블을 쿼리합니다.

      변경 테이블을 쿼리하는 방법의 예는 변경 데이터 검색 및 이해를 참조하세요.

    2. 조건부 분할 변환을 사용하여 적절한 처리를 위해 삽입, 업데이트 및 삭제를 다른 출력으로 전송합니다.

      이 변환을 직접 출력으로 구성하는 방법에 대한 예는 삽입, 업데이트 및 삭제 처리를 참조하세요.

    3. 대상 구성 요소를 사용하여 대상에 삽입을 적용합니다. 매개 변수가 있는 UPDATE 및 DELETE 문과 함께 OLE DB 명령 변환을 사용하여 대상에 업데이트 및 삭제를 적용합니다.

      이 변환을 사용하여 업데이트 및 삭제를 적용하는 방법의 예는 대상에 변경 내용 적용을 참조하세요.

단일 패키지에서 다중 데이터 흐름 태스크를 사용하여 다중 테이블 로드

로드할 각 원본 테이블에 대한 별도의 데이터 흐름 태스크를 포함하는 단일 패키지를 사용할 수도 있습니다.

단일 패키지에서 다중 데이터 흐름 태스크를 사용하여 다중 테이블 로드하기

  1. 단일 패키지를 만듭니다.

  2. 제어 흐름에서 SQL 실행 태스크나 Integration Services 식을 사용하여 엔드포인트를 계산합니다.

    엔드포인트를 계산하는 방법의 예는 변경 데이터 간격 지정을 참조하세요.

  3. 필요한 경우 For 루프 컨테이너를 사용하여 선택한 간격에 대한 변경 데이터가 준비될 때까지 실행을 지연합니다.

    이러한 For 루프 컨테이너의 예는 변경 데이터의 준비 여부 확인을 참조하세요.

  4. 스크립트 태스크나 SQL 실행 태스크를 사용하여 변경 내용을 쿼리하는 데 사용할 SQL 문을 어셈블합니다.

    쿼리를 어셈블하는 방법의 예는 변경 데이터에 대한 쿼리 준비를 참조하세요.

  5. 다중 데이터 흐름 태스크를 사용하여 각 원본 테이블에서 변경 데이터를 로드하고 대상에 적용합니다. 다음 단계에 설명된 대로 각 데이터 흐름 태스크를 구성합니다.

    1. 각 데이터 흐름에서 원본 구성 요소를 사용하여 선택한 엔드포인트에 속하는 변경 내용에 대한 변경 테이블을 쿼리합니다.

      변경 테이블을 쿼리하는 방법의 예는 변경 데이터 검색 및 이해를 참조하세요.

    2. 조건부 분할 변환을 사용하여 적절한 처리를 위해 삽입, 업데이트 및 삭제를 다른 출력으로 전송합니다.

      이 변환을 직접 출력으로 구성하는 방법에 대한 예는 삽입, 업데이트 및 삭제 처리를 참조하세요.

    3. 대상 구성 요소를 사용하여 대상에 삽입을 적용합니다. 매개 변수가 있는 UPDATE 및 DELETE 문과 함께 OLE DB 명령 변환을 사용하여 대상에 업데이트 및 삭제를 적용합니다.

      이 변환을 사용하여 업데이트 및 삭제를 적용하는 방법의 예는 대상에 변경 내용 적용을 참조하세요.