SQL Server/SSIS 강좌

Master 저장 프로시저 전송 태스크

SungWookKang 2015. 7. 16. 10:32
반응형

Master 저장 프로시저 전송 태스크

 

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

이번 시간에서는 [Master 저장 프로시저 전송 태스크]에 대해서 알아 보도록 하겠습니다.

 

Master 저장 프로시저 전송 작업은 원본 서버의 master DB에 있는 사용자 저장 프로시저를 다른 서버의 master DB로 전송하는 작업 입니다.

오직 master DB에 있는 사용자 저장 프로시저만 대상이 되며 해당 프로시저의 소유자가 dbo인 프로시저만 옮길 수 있습니다.

이 작업을 수행하기 위해서는 원본 서버의 master DB에 있는 사용자 프로시저를 접근할 수 있는 권한이 있어야 하며 대상 서버의 sysadmin 서버 역할의 구성원이거나 master DB에 저장 프로시저를 만들 수 있는 권한이 있어야 합니다.

 

 

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

 

 

[제어 흐름]탭에서 [master 저장 프로시저 전송 작업]작업을 마우스를 이용하여 드래그 앤 드롭으로 끌어다 놓습니다.

 

 

[master 저장 프로시저 전송 작업]에서 마우스 오른쪽 버튼을 클릭하여 [편집]을 선택 합니다.

 

 

[일반]탭에서는 작업의 이름과 설명을 입력 할 수 있습니다.

 

 

[저장 프로시저] 탭에서는 연결에 필요한 다양한 설정을 변경 할 수 있습니다.

연결

  • SourceConnection – 원본 서버에 대한 연결을 지정합니다.
  • DestinationConnection – 대상 서버에 대한 연결을 지정 합니다.

아래 그림에서 보듯이 전송 작업에 이용되는 원본 및 대상 서버의 연결은 SMOServer를 이용합니다.

SMO(Server Management Objects)연결은 서로 다른 인스턴스 간 데이터베이스 개체를 전송하는데 이용되는 연결이며 OLEDB 연결이나 ADO.NET 연결과는 달리 데이터베이스를 지정하지는 않습니다.

 

반드시 원본과 대상은 다른 인스턴스 이어야 합니다!

 

저장 프로시저

  • IfObjectExists – 대상 서버의 master DB에 이미 동일한 저장 프로시저가 있는 경우 처리할 방법을 지정.
    • FailTask – 동일한 프로시저가 있을 때 실패
    • Overwirte – 덮어쓰기
    • SKil – 건너뛰기
  • TransferAllStoredProcedures – 저장 프로시저 모두를 전송 할 것인지 일부만 전송할 것인지 지정.

 

  • StoredProceduresList – 저장 프로시저를 모두 전송하지 않는 경우 전송할 저장 프로시저를 지정.

 

편집이 완료 되었으면 패키지를 실행 합니다.

늘 그러듯!

녹색 : 정상 실행

빨간색 : 오류 발생.

 

패키지 실행이 완료 되었으면 SSMS를 실행하여 실제로 master의 사용자 저장 프로시저가 정상적으로 복사 되었는지 확인 합니다.

원본 서버의 master DB의 사용자 저장 프로시저가 대상 서버 local의 master DB로 복사된 것을 확인 할 수 있습니다.

 

Master 저장 프로시저 전송 작업은 master에 있는 사용자 저장 프로시저만을 전송하기 위한 특화된 작업으로 마이그레이션 및 통합, 이전 등에서 유용하게 사용할 수 있을 듯 합니다.

 

 

반응형