패키지 실행 – 부모 패키지와 자식 패키지로 효율적인 관리하기

 

안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida)

 

이번 시간에는 [패키지 실행]에 대해서 알아 보도록 하겠습니다.

 

SSIS에서는 패키지 실행 작업을 이용하여 다른 SSIS 패키지를 호출하여 실행 할 수 있습니다.

패키지 호출 기능은 다음과 같이 이용할 수 있습니다.

  • 복잡한 대규모 데이터 처리 프로세스의 각 작업들을 작은 단위로 분리하여 관리할 수 있습니다.
  • 패키지 보안을 사용할 수 있습니다. 중요한 프로세스 경우 별도의 패키지를 만들고 패치지 호출 작업으로 해당 부분의 패키지를 호출 할 수 있습니다. 별도로 만든 패키지에는 SSIS에서 기본적으로 제공하는 암호 설정 기능을 이용하여 조회나 수정이 불가능하도록 설정 할 수 있습니다.
  • 작업 수행 및 관리가 용이 합니다. 마스터 패키지에서 자식 패키지를 호출하여 패키지 순서나 동시에 수행할 패키지 수를 조절할 수 있습니다.

패키지를 호출하는 패키지를 부모 패키지라 하고 호출 당하는 패키지를 자식 패키지라고 합니다. 부모 패키지는 자식 패키지에게 값을 전달할 수 있으며 자식 패키지에서는 이 값을 넘겨 받아 사용할 수 있습니다.

 

이번 실습 에서는 부모 패키지에서 자식 패키지로 변수 값을 설정하여 호출하는 방법에 대해서 알아 봅니다.

 

[BIDS]를 실행하여 [Integration Services 프로젝트]를 실행 합니다.

 

[솔루션 탐색기]에서 마우스 오른쪽을 클릭하여 [새 SSIS 패키지]를 선택 합니다.

[자식 패키지]로 이름을 변경 합니다.

 

 

[자식 패키지]에서 제어 흐름에서 [스크립트 태스크]를 마우스를 이용하여 드래그 앤 드롭 으로 끌어다 놓습니다.

 

 

[변수]에서 아래 그림과 같이 변수 값과 범위, 데이터 형식 등을 지정 합니다.

그리고 스크립트 태스크 속성에서 ReadOnlyVariables 항목에서 [User::Var1]을 설정합니다.

 

스크립트 편집기를 이용하여 다음과 같이 코드를 입력 합니다.

MessageBox.Show(Dts.Variables["Var1"].Value.ToString());

 

패키지를 실행하여 입력한 변수가 정상적으로 출력되는지 확인 합니다.

(현재 자식패키지가 호출되었으므로 팝업으로 자식 패키지 라는 글자가 나타납니다.)

 

 

이제 부모 패키지의 변수 값을 받아 오는 부분을 설정 하도록 하겠습니다.

[SSIS]-[패키지 구성]을 선택 합니다.

 

 

[패키지 구성 도우미] 창이 나타나면 [패키지 구성 설정]을 활성화 하고 [추가]버튼을 눌러 마법사를 시작 합니다.

 

 

[구성 유형 선택]에서 [구성 유형]은 부모 패키지 변수를 선택 합니다.

[구성 설정을 직접 지정]으로 선택하고 부모 변수를 아래 그림과 같이 입력 합니다.

 

 

 

[대상 속성 선택]에서 [변수] – [Var1] – [Properties] – [Value]를 선택 합니다.

 

 

구성 이름을 지정하고 마법사를 완료 합니다.

 

 

[부모 패키지]에서 다음 그림과 같이 변수 값을 설정 합니다. 그리고 [패키지 실행 태스크]를 드래그 앤 드롭으로 끌어다 놓습니다.

 

[패키지 실행 태스크] 편집기에서 다음과 같이 설정 합니다.

 

 

패키지를 수행하면 부모 패키지가 자식 패키지를 호출하면서 부모 패키지의 변수 값을 자식 패키지에게 할당 함으로써 자식 패키지는 부모 패키지의 변수를 받아 출력된 것을 확인 할 수 있습니다.

 

 

 

부모 패키지에서 자식 패키지를 호출 하는 방식은 복잡한 처리 프로세스를 개발하거나 관리 할 때 유용하게 사용합니다.

 

복잡한 프로세스에서 연관된 작업을 각각의 개별 패키지로 분리하여 각 패키지를 관리하는 부모패키지를 만들어 운용한다면 효율적으로 관리 할 수 있을 듯 합니다 

강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp



No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 23408
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12412
1554 SSIS - 파일 시스템 작업 - 폴더 생성 삭제, 파일 복사 삭제 등 관리 작업을 하자 jevida(강성욱) 2013.09.25 9842
1553 SSIS - 오류 메시지 전송 작업 jevida(강성욱) 2013.09.25 10420
1552 SSIS - 작업 전송 작업 jevida(강성욱) 2013.09.25 7501
1551 SSIS - 로그인 전송 작업 jevida(강성욱) 2013.09.25 8890
1550 SSIS - 데이터베이스 전송 작업 jevida(강성욱) 2013.09.25 8504
1549 SSIS - Master 저장 프로시저 전송 태스크 jevida(강성욱) 2013.09.25 7102
» SSIS - 패키지 실행 - 부모 패키지와 자식패키지로 효율적인 관리하기 jevida(강성욱) 2013.09.25 8993
1547 SSIS - XML 태스크 - XML 비교, 병합, 출력등 다양한 작업을 하자. jevida(강성욱) 2013.09.24 7189
1546 SSIS - 웹서비스 작업 - 웹 정보를 가져오자 jevida(강성욱) 2013.09.24 7986
1545 SSIS - 메시지 큐 - MSMQ를 이용한 비동기 전송 jevida(강성욱) 2013.09.24 11051
1544 SSIS - 메일 보내기 - 데이터 처리 결과를 메일로 전송 하자! jevida(강성욱) 2013.09.24 10545
1543 SSIS - 대량 삽입 작업 - BULK INSERT ? jevida(강성욱) 2013.09.24 11099
1542 SSIS - 이벤트 처리 및 오류 출력 - 다양한 이벤트로 오류를 출력하자 jevida(강성욱) 2013.09.24 8951
1541 SSIS - 데이터 흐름 경로 jevida(강성욱) 2013.09.24 8731
1540 VS2012 에서 CLR 프로젝트 작업 시 SSDT 오류 날 경우 쓸만한게없네(윤선식) 2013.08.21 5484
1539 SQL2014 Buffer Pool Extension 열이 2013.07.01 6083
1538 SQL Server 2014 CTP1 In-Memory OLTP 샘플 및 스샷 [1] 열이 2013.06.27 6312
1537 SQL Server 2014 CTP1 간단 설치 리뷰... [1] 이지만 2013.06.26 4888
1536 SQL Server 2014 Key Note. [2] 쓸만한게없네(윤선식) 2013.06.10 6606
1535 SQL Server Language Code [3] 쓸만한게없네(윤선식) 2013.05.06 7300





XE Login