2017-12-14 3 views
1

다음 단계를 사용하여 200 줄 이상의 코드가있는 SQL 쿼리가 있습니다. 매일이 작업을 실행하고 표 A를 생성해야합니다. 동일한 프로세스로 SSIS 패키지를 만들고 ssis로 tableA를 만드는 새로운 요구 사항이 있습니다. 나는 20 열을 끌어 필요 - table_B, table_C, table_D : 아래의 세부 사항은 드롭 table_A SQL 프로세스를 SSIS 패키지로 변환

  • 부터 table_A로 선택

    1. 이 (TableB의 조합을 선택하는 모든 선택 tableC 조합의 모든 건의) 키 fators 현재 SQL 공정에게 있습니다 이 세 테이블의 40 개 열 중에서 열 이름이 다르므로 열 이름과 특정 데이터 형식의 이름을 바꾸고 표준화하여 Table_A에서 고유 한 열로 이동해야합니다.

    이것은 이미 sql 쿼리에 설정되어 있지만 최선의 방법과이를 SSIS로 변환하는 방법을 알아야합니까? "Execute SQL Task"프로세스 흐름 을 사용하거나 oledb 소스 및 oledb 대상과 관련된 데이터 흐름 태스크를 사용해야합니까?

  • 답변

    1

    SQL 실행 태스크는 원하는 작업입니다. SQL 실행 작업은 결과 집합을 반환하거나 반환하지 않을 수도있는 임의의 쿼리를 실행하도록 설계되었습니다. 코드를 제대로 작동시키는 데 이미 많은 노력을 기울 였으므로 연결 관리자 (OLE DB)를 정의하고 코드에 붙여 넣기 만하면됩니다.

    이 경우 SSIS는 기존 SQL 프로세스의 코디네이터/실행 프레임 워크 일뿐입니다. SSIS 패키지보다 더 많은 것을 작성한 사람이라면 충분히 받아 들일 수 있습니다.

    데이터 흐름 태스크는 테이블 B, C 및 D의 데이터를 원격 데이터베이스로 이동해야하거나 쉽게 수행 할 수없는 변환 논리를 수행해야하는 경우에 더 적합합니다. TSQL.

    데이터 흐름 태스크는 런타임에 테이블 만들기를 지원하지 않습니다. 모든 SSIS 작업은 패키지 시작시 유효성 검사를 수행하거나 특정 작업이 시작될 때까지 지연 될 수 있습니다. 데이터 흐름 작업에서 수행 할 수있는 검사 중 하나는 "대상 테이블이 존재하고 구조가 내 캐시 된 복사본과 일치합니까?"입니다.

    관련 문제