반응형

안녕하세요 SQL 프론티어 강성욱입니다.

이번 포스팅은 저처럼 SSIS를 잘모른시는 분들을 위하여 작성하였습니다.

이번 포스팅에 많은 도움을 주신  BI전문가인 BASH(김상수) 형님 감사합니다.

앞으로도 많은 지도 편달 부탁드립니다.

 

필자는 근래 들어 대량의 데이터를 수집하는데 있어서 어떻게 하면 효율적으로 수집할 수 있을까

많은 고민을 하고 있습니다.

더군다나 해외 서비스 중인 퍼블리셔에도 배포를 해야 하기 때문에 그동안은 쿼리를 사용하여  JOB 에이젼트를 이용하였습니다. (정말 무식하게 job 단계가 98단계에 이릅니다.)

하지만 워낙에 많은 데이터를 수집하고 집계하는데 작업단계가 너무 복잡하고 처리 순서에 대한 유연성이 아쉬웠습니다.

그래서 MS에서 제공하는  SSIS를 이용하여 데이터를 수집하는 방법으로 변경하는 방안을 검토 중입니다.

 

오늘 포스팅은 단순하게 데이터를 가져오는 방법과 변수를 이용하여 테이블을 가져오는 방법 과변수를 이용하여 특정 테이블 가져오기 입니다..

 

테이블 테이블 데이터 복사하기.

 

1.     우선 테스트 테이블을 생성 합니다.

1.png

 

원본테이블  : tbl_20110630

대상테이블 : tbl_20110701

원본 테이블에 데이터를 입력 합니다.

2.     SSBID 를 실행합니다..

2.png

 

3.     새프로젝트에서 [Integration Service 프로젝트]를 선택 합니다.

3.png

4.     메뉴바에서  [SSIS] – [변수]를 선택합니다.

3_1.png

 

5.     [제어흐름] 탭을 선택하고 [도구상자]에서 [데이터 흐름 태스크]를 마우스로 끌어다 놓습니다. [속성]에서 [Name] [Log수집] 이라고 수정합니다.

4.png

 

6.     [데이터흐름] 탭으로 이동하여 [OLE DB원본] [OLE DB 대상] 을 끌어 놓습니다.

5.png

 

7.     [OLE DB원본] 에서 마우스 오른쪽 [편집] 을 선택 하여 [데이터액세스 모드][테이블 또는 뷰] 로 선택하고  [테이블 또는 뷰이름]에서는 [dbo].[tbl_20110630]을 선택 합니다.

6.png

 

8.     [OLE DB대상] 에서 마우스 오른쪽 클릭 [편집]을 선택하여 [데이터 액세스 모드][테이블 또는 뷰 빠른 로드] 를 선택 합니다. [테이블 또는 뷰 이름] 에서는 [dbo].[tbl_20110701]을 선택합니다.

7.png

 

9.      녹색 선을 연결하고실행을 선택 합니다. 원본테이블에서 대상테이블로 데이터가 복사된 것을 확인 할 수 있습니다.

8.png

 

변수를 이용하여 특정 테이블 복사하기

1.     앞의 실습까지 따라 하였으면 다시 [제어흐름] 탭으로 이동합니다. 그리고 [도구 상자]에서 [스크립트 태스크]를 마우스로 끌어다 놓습니다. [편집]을 선택합니다.

9.png

 

2.     사용할 변수명을 적고 변수선택 버튼을 클릭하면 어떤 형식의 변수를 사용할건지 선택합니다.

10.png

 

3.     변수선택이 끝났으면 [스크립트 편집] 버튼을 클릭합니다.

11.png

 

4.     스크립트 편집을 클릭하면 새로운 SSIS창이 나타납니다. 여기서 프로그램을 입력합니다.

아래의 그림처럼 따라서 입력합니다. 그리고 저장. 창을 닫습니다.

12.png

 

5.     [제어흐름] 탭에서  [OLE DB원본] 에서 [편집]을 선택 합니다. [데이터 액세스 모드] 에서 [테이블 이름 또는 뷰 이름 변수]를 선택 합니다. 그리고 변수이름을 지정합니다

13.png

 

6.     이미 대상 테이블에 데이터가 있다면 테이터를 삭제한 후 SSIS 패키지를 실행하여 데이터가 정상적으로 입력되었는지 확인 합니다.

14.png

 

위의 방법은 일자별또는 테이블 이름이 바뀌는 데이터를 가져올 때 특정 변수를 입력하여 해당 테이블을 가져올 때 매우 유용할 듯 합니다. 필자는 실제로 날짜로 테이블명이 생성되는 테이블테 가져올 때 유용하게 사용하고 있습니다.

 

위의 방법 둘다 로그를 쌓지 않고 가져오기 때문에 매우 빠른 속도로 데이터를 가져오는 것을 확인 할 수 있습니다.

많이 활용 하시길 바랍니다.
반응형

+ Recent posts