SQL Server/SSIS 강좌

멀티캐스트 - 하나의 데이터를 여러곳으로 복사

SungWookKang 2015. 7. 16. 09:06
반응형

멀티캐스트 – 하나의 데이터를 여러곳으로 복사하기

 

오늘은 SSIS에서 멀티캐스트 기능에 대해서 알아 보겠습니다. 

   

우리가 데이터를 수집하는데 있어서 동일한 데이터를 여러 곳의 위치로 복사해야 하는 이슈가 있습니다.

   

이때 쿼리를 이용하거나 SQL2000 에서는 DTS를 이용해야 합니다.

이는 모든 연결이 1:1 밖에 지원되지 않아 10번의 데이터를 복사하여야 할 경우에는 10번의 실행작업이 필요 합니다.

   

하지만 SSIS의 멀티캐스트를 이용하면 원본에서 읽어온 데이터를 메모리에서 복사하여

여러 경로로 전달하기 때문에1번의 작업으로 여러곳의 데이터를 한번에 복사 할 수 있습니다.

   

   

   

실습 내용은  AdventureWokrs의 Sales.SalesPerson의 데이터를 Test 의 dbo.MultiCast_1 ~ 5 번까지 복사 합니다.

   

1.우선 Test DB를 생성하여 AdventureWokrs의 Sales.SalesPerson과 동일한 테이블을 생성합 니다.

 

   

2. BIDS를 실행하여 새로운 프로젝트를 생성 합니다.
 

 

   

3. 프로젝트는 Integration Services 프로젝트 를 선택 합니다.
 

 

   

   

4., BIDS 창에서 프로젝트를 생성하고 나면 하단의 연결관리자에서 연결관리자를 등록 합니다.
 

 

   

5. 이번 실습에서는 AdventureWorks 와 Test  연결관리자가 필요 합니다.

(연결 관리자 등록후 식별을 위해 이름을 DB명과 동일하도록 변경)

   

1) Test  연결 관리자
 

 

   

2) AdventureWorks 연결 관리자
 

 

   

6. 도구 상자 에서 [데이터 흐름 태스크]를 [제어흐름 탭]  으로 끌어다 놓습니다.

그리고 이름을 [멀티캐스트] 라고 변경 합니다.
 

 

   

7. [데이터 흐름]  탭에서 [OLE DB 원본]과 [멀티캐스트]를 끌어다 놓고 연결 합니다.

 

 

   

8. [OLE DB 원본] 에서 마우스 오른쪽을 클릭하여 [편집] - 연결 관리자를 다음과 같이 설정 합니다.

 

   

9. [OLEDB 대상]을 데이터 흐름으로 끌어놓고 멀티캐스트와 연결 합니다.

 

 10. [OLE DB 대상]에서 마우스 오른쪽을 클릭하여 [편집]을 선택하여 아래와 같이 설정 합니다.

(MultiCast1 ~ MultiCast5 까지 반복)

 

 

   

11. 모든 설정이 마무리 되었으면 실행을 클릭하여 데이터가 잘 복사되는지 확인 합니다.

(실습에서는 총 17개의 행이 복사 되었습니다.)

만약 에러가 발생한다면 이벤트 처리기에서 에러내용을 확인하여 수정 합니다.
 

 

   

12. 실제 테이블에도 데이터가 잘 들어왔는지 확인 합니다.
 

 

 이렇게 하여 1번의 원본 테이블 읽고 5번의 복사작업을 완료 하였습니다.

 

 

강성욱 / http://sqlmvp.kr

반응형