다음을 통해 공유


삽입, 업데이트 및 삭제 처리

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

변경 데이터 증분 로드를 수행하는 Integration Services 패키지의 데이터 흐름에서 두 번째 작업은 삽입, 업데이트 및 삭제를 구분하는 것입니다. 그런 다음 적절한 명령을 사용하여 대상에 적용할 수 있습니다.

참고 항목

변경 데이터의 증분 로드를 수행하는 패키지의 데이터 흐름을 디자인하는 첫 번째 작업은 변경 데이터를 검색하는 쿼리를 실행하는 원본 구성 요소를 구성하는 것입니다. 이 구성 요소에 대한 자세한 내용은 변경 데이터 검색 및 이해를 참조하세요. 변경 데이터를 증분 로드하는 패키지를 만드는 전체 프로세스에 대한 설명은 변경 데이터 캡처(SSIS)를 참조하세요.

삽입, 업데이트 및 삭제 구분에 친숙한 값 연결

변경 데이터를 검색하는 쿼리 예에서 cdc.fn_cdc_get_net_changes_<capture_instance> 함수는 __$operation이라는 메타데이터의 열만 반환합니다. 이 메타데이터 열에는 변경의 원인이 된 작업을 나타내는 서수 값이 포함되어 있습니다.

참고 항목

cdc.fn_cdc_get_net_changes_<capture_instance> 함수를 호출하는 쿼리에 대한 자세한 내용은 변경 데이터 검색을 위한 함수 만들기를 참조하세요.

서수 값을 해당 작업에 일치시키는 것은 작업의 니모닉을 사용하는 것만큼 쉽지 않습니다. 예를 들어 'D'는 삭제 작업을 쉽게 나타낼 수 있고 'I'는 삽입 작업을 나타냅니다. 이 항목에서 만든 예제 쿼리인 변경 데이터를 검색할 함수 만들기를 수행하면 서수 값에서 새 열에 반환되는 친숙한 문자열 값으로 변환됩니다. 다음 코드 세그먼트에서는 이 변환을 보여 줍니다.

select   
    ...  
    case __$operation  
        when 1 then 'D'  
        when 2 then 'I'  
        when 4 then 'U'  
        else null  
     end as CDC_OPERATION  

삽입, 업데이트 및 삭제 전송으로 조건부 분할 변환 구성

변경 데이터의 행을 세 개의 출력 중 하나로 전송하려면 조건부 분할 변환이 이상적입니다. 변환은 각 행의 CDC_OPERATION 열 값을 확인하고 해당 변경 내용이 삽입, 업데이트 또는 삭제인지 여부를 결정합니다.

참고 항목

CDC_OPERATION 열에는 __$operation 열의 숫자 값에서 파생된 친숙한 문자열 값이 포함됩니다.

조건부 분할 변환을 사용하여 처리를 위해 삽입, 업데이트 및 삭제 분할

  1. 데이터 흐름 탭에서 조건부 분할 변환을 추가합니다.

  2. OLE DB 원본의 출력을 조건부 분할 변환에 연결합니다.

  3. 조건부 분할 변환 편집기의 편집기 아래쪽 창에서 다음 세 줄을 입력하여 세 개의 출력을 지정합니다.

    1. 조건 CDC_OPERATION == "I" 가 있는 줄을 입력하여 삽입된 행을 삽입의 출력으로 전송합니다.

    2. CDC_OPERATION == "U" 조건이 있는 줄을 입력하여 업데이트된 행을 업데이트의 출력으로 전송합니다.

    3. CDC_OPERATION == "D" 조건이 있는 줄을 입력하여 삭제된 행을 삭제의 출력으로 전송합니다.

다음 단계

처리를 위해 행을 분할한 후 다음 단계는 변경 내용을 대상에 적용하는 것입니다.

다음 항목: 대상에 변경 내용 적용

참고 항목

조건부 분할 변환
조건부 분할 변환을 사용하여 데이터 세트 분할