데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

데이터베이스 전송 작업

 

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

이번 시간에는 [데이터베이스 전송 작업]에 대해서 알아 보도록 하겠습니다.

 

데이터베이스 전송 작업은 SQL Server 개체 전송 작업과는 달리 데이터베이스 전체를 대상으로 복사 또는 이전 하는 작업 입니다.

이 작업은 동일 인스턴스 내에서 데이터베이스를 복사하는 경우에도 사용할 수 있습니다.

 

개체전송작업 관련 링크

http://blog.naver.com/jevida/140158933424

 

데이터베이스 전송 작업 시 온라인 또는 오프라인으로 수행할 수 있으며 온라인으로 설정시하면 원본 데이터베이스가 온라인 상태에서 전송되며 SMO를 이용하여 데이터베이스 개체 및 데이터가 전송 됩니다.

오프라인으로 설명하면 데이터베이스를 분리(Detach)한 후 데이터 파일 및 로그 파일을 대상 위치로 복사하고 다시 연결(Attach)하는 방식으로 작업이 이루어 집니다.

 

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

 

 

[제어 흐름] 탭에서 [데이터베이스 전송 태스크]를 마우스를 이용하여 드래그 앤 드롭으로 끌어다 놓습니다.

 

 

[데이터베이스 전송 태스크]에서 마우스 오른쪽 버튼을 클릭하여 [편집]을 선택 합니다.

 

 

[데이터 베이스 전송 태스크 편집기]가 나타납니다.

 

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

 

 

[데이터베이스] 탭에서는 대상 서버, 원본서버 등 다양한 연결을 설정합니다.

 

연결

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

아래 그림처럼 SMO 연결관리자를 통하여 연결 설정을 합니다.

 

 

원본 데이터베이스

  • Action – 원본 서버의 데이터베이스를 대상 서버로 복사(copy) 또는 이동(move)할지 설정.
  • Method – 데이터베이스를 온라인 또는 오프라인으로 전송할지 설정. 온라인 상태로 전송하기 위해서는 패키지를 실행하는 사용자가 sysadmin 고정 서버 역할의 멤버이거나 전송할 데이터베이스의 소유자(dbo)이어야 합니다. 오프라인 상태로 전송하기 위해서는 sysadmin 고정 서버 역할의 멤버이면 됩니다.

 

오프라인으로 수행하기 위해서는 원본 서버 및 대상 서버에 네트워크 파일공유를 지정해야 합니다.

  • SourceDatabaseName – 원본 서버에서 전송할 데이터베이스 이름을 지정.
  • SourceDatabaseFile – 원본 서버에서 전송할 데이터베이스의 파일을 지정.
  • ReattachSourceDatabase – 전송 작업 수행 중 오류가 발생하였을 때 원본 데이터베이스를 자동으로 연결(Attach)시킬지 설정.

 

 

대상 데이터 베이스

  • DestinationDatabaseName – 대상 서버에 전송될 데이터베이스의 이름을 지정
  • DestinationDatabaseFile – 대상 서버에 전송될 데이터베잇의 파일 지정.
  • DestinationOverwrite – 대상 서버에 이미 동일한 데이터베이스가 있는 경우 덮어 쓸지 설정.

대상 데이터베이스에 동일한 데이터베이스명이 존재하지 않아야 합니다

 

다음과 같이 설정이 완료 되었는지 확인 합니다.

(원본의 SSIS_TEST를 대상의 SSIS_TEST2로 복사 합니다. 위치는 Local 입니다.)

 

 

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

늘 그러듯!

녹색 : 정상 실행

빨간색 : 오류 발생

 

패키지 작업이 완료 되었으면 SSMS를 이용하여 데이터베이스가 복사되었는지 확인 합니다.

 

SSIS_TEST가 SSIS_TEST2로 복사된 것을 확인 할 수 있습니다. 

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



No. Subject Author Date Views
1553 SSIS - 오류 메시지 전송 작업 jevida(강성욱) 2013.09.25 10341
1552 SSIS - 작업 전송 작업 jevida(강성욱) 2013.09.25 7458
1551 SSIS - 로그인 전송 작업 jevida(강성욱) 2013.09.25 8838
» SSIS - 데이터베이스 전송 작업 jevida(강성욱) 2013.09.25 8471
1549 SSIS - Master 저장 프로시저 전송 태스크 jevida(강성욱) 2013.09.25 7049
1548 SSIS - 패키지 실행 - 부모 패키지와 자식패키지로 효율적인 관리하기 jevida(강성욱) 2013.09.25 8915
1547 SSIS - XML 태스크 - XML 비교, 병합, 출력등 다양한 작업을 하자. jevida(강성욱) 2013.09.24 7146
1546 SSIS - 웹서비스 작업 - 웹 정보를 가져오자 jevida(강성욱) 2013.09.24 7968
1545 SSIS - 메시지 큐 - MSMQ를 이용한 비동기 전송 jevida(강성욱) 2013.09.24 10886
1544 SSIS - 메일 보내기 - 데이터 처리 결과를 메일로 전송 하자! jevida(강성욱) 2013.09.24 10400
1543 SSIS - 대량 삽입 작업 - BULK INSERT ? jevida(강성욱) 2013.09.24 10835
1542 SSIS - 이벤트 처리 및 오류 출력 - 다양한 이벤트로 오류를 출력하자 jevida(강성욱) 2013.09.24 8882
1541 SSIS - 데이터 흐름 경로 jevida(강성욱) 2013.09.24 8650
1540 VS2012 에서 CLR 프로젝트 작업 시 SSDT 오류 날 경우 쓸만한게없네(윤선식) 2013.08.21 5464
1539 SQL2014 Buffer Pool Extension 열이 2013.07.01 6066
1538 SQL Server 2014 CTP1 In-Memory OLTP 샘플 및 스샷 [1] 열이 2013.06.27 6287
1537 SQL Server 2014 CTP1 간단 설치 리뷰... [1] 이지만 2013.06.26 4856
1536 SQL Server 2014 Key Note. [2] 쓸만한게없네(윤선식) 2013.06.10 6564
1535 SQL Server Language Code [3] 쓸만한게없네(윤선식) 2013.05.06 7251
1534 sp_depends를 믿을 수 없다? [3] 차주언 2013.05.03 6762





XE Login