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

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

SSMS를 이용한 데이터베이스 복사 하기

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

SSMS에는 많은 기능들이 숨어 있다. 정말 쿼리로만 할 수 있다던 기능의 대부분이 SSMS의 UI를통해서 할 수 있다. 오늘은 SSMS의 UI기능을 통한 데이터베이스 복사 및 이동이다.

우선 데이터베이스 이동 및 복사를 하기 위해서 필수 조건이 있다.

  1. 데이터베이스의 데이터 파일이 존재할 폴더에 공유를 설정하고 권한을 부여한다.
  2. SQL Agent 계정을 사용하여 통신하므로 SQL Agent 계정을 맞추어 준다.

 

 

이제 데이터베이스를 복사 및 이동하는 실습을 해 보자.

 

대부분의 SQL Server는 물리적으로 다른 서버에 운영하겠지만 편의상 인스턴스를 설치하여 진행 하였다.

 

다음과 같이 2개의 인스턴스가 설치 된 것을 확인 할 수 있으며 SECOND 인스턴스에는 사용자 데이터베이스가 생성되어 있지 않다.

 

 

원본 데이터베이스에서 [SW_TEST] 라는 데이터베이스를 SECOND 인스턴스로 복사 하여 보겠다.

원본의 [SW_TEST] 데이터베이스에서 마우스 오른쪽을 클릭하여 [데이터베이스 복사]를 선택 한다.

 

 

데이터베이스 복사 마법사가 시작 된다.

 

 

원본 서버를 선택 한다. 인증방법 선택하고 계정과 패스워드를 입력 한다.

 

 

대상 서버를 선택 한다. 나의 경우에는 인스턴스로 복사하기 때문에 인스턴스 명을 입력 하였다.

 

 

전송 방법 선택에 있어서는 2가지가있다. 분리/연결 방법은 데이터베이스를 오프라인으로 만들어 복사하기 때문에 속도가 빠르지만 서비스를 운영 할 수 없는 단점이 있다. SQL 관리 개체를 사용하면 속도는 느리지만 원본 서버가 온라인 상태로 유지되기 때문에 운영은 가능하다.

 

 

데이터베이스를 선택 한다. 처음 선택한 데이터베이스 외에 추가적인 데이터베이스 선택이 가능하다.

 

 

대상 데이터베이스가 설치될 폴더의 경로 및 파일 이름을 설정 한다. (필수 조건에 해당하는 공유 폴더를 설정 한다.)

 

 

서버 개체에서 외부 추가 개체를 선택 한다. 특별히 사용하는 것이 없다면 따로 지정을 하지 않아도 된다.

 

 

패키지 이름을 입력한다. (자동으로 생성됨으로 특별히 수정 할 필요는 없다.)

 

 

즉시 실행 또는 예약을 설정 할 수 있다. SQL Server Agent 계정으로 실행 된다.

 

 

마법사 완료 창에는 지금까지 설정한 내용이 요약표시 된다. 아직 복사 작업이 진행된 것은 아니다. 마침을 클릭하면 복사 작업이 시작 된다.

 

 

다음과 같은 진행창에서 모두 성공으로 나타나면 복사 작업이 완료 된 것이다.

 

 

복사가 어떻게 진행되는지 프로파일러를 통해서 알아 확인해 보았다.

 

[원본 서버]

 

 

[대상 서버]

 

 

작업이 완료 되고 SECOND 인스턴스에 SW_TEST 데이터베이스가 복사 된 것을 확인 할 수 있으며 테이블 및 데이터 모두 복사된 것을 확인 할 수 있다.

 

 

사실 이 방법은 실제 운영중인 서버나 용량이 큰 경우에는 성능 문제를 발생 할 수 있는 요소이다. 보통 SSMS에서 제공하는 기능은 초보 개발자를 위한 내용이 많으므로 실습 환경이나 사내 서버 구성시 이용하면 매우 편리 할 듯 하다.



강성욱 / jevida@naver.com

Microsoft SQL Server MVP

Blog : http://sqlmvp.kr

Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
1690 SQL Server 성능 대시보드 jevida(강성욱) 2016.09.13 2199
» SSMS를 이용한 데이터베이스 복사 하기 jevida(강성욱) 2016.09.13 10797
1688 SQL Server에서 DB2 링크드 서버 연결 방법 jevida(강성욱) 2016.09.13 3248
1687 SQL Server 인덱스 활성 / 비활성 하기 jevida(강성욱) 2016.09.13 2307
1686 파티션 오프셋과 SQL Server에 대한 디스크 할당 단위 크기 jevida(강성욱) 2016.09.13 1674
1685 Read the End of a Large Error Log (에러로그 끝 부분 읽기) jevida(강성욱) 2016.09.13 1298
1684 데이터베이스 여유공간 확인 jevida(강성욱) 2016.09.13 1445
1683 FILE GROUP 간 데이터 이동 jevida(강성욱) 2016.09.13 1601
1682 문서화 되지 않은 sys.fn_PhysLocFormatter 함수 jevida(강성욱) 2016.09.13 942
1681 SQL Server 관리자 전용 연결(DAC) jevida(강성욱) 2016.09.13 3309
1680 파일 접근 권한으로 인한 DB복원 실패 작업 해결하기 jevida(강성욱) 2016.09.13 1892
1679 DBCC CHECKDB 실행과 히스토리 관리 jevida(강성욱) 2016.09.13 1839
1678 MDF를 이용한 데이터베이스 복원 jevida(강성욱) 2016.09.13 1173
1677 EventID 3041 Error jevida(강성욱) 2016.09.13 1387
1676 데이터베이스 미러 백업 jevida(강성욱) 2016.09.13 1311
1675 SNAPSHOT을 이용한 SQL Server 복원 jevida(강성욱) 2016.09.13 2236
1674 복사 전용 백업(COPY ONLY BACKUP) jevida(강성욱) 2016.09.13 3257
1673 SQL Server 기본 백업 폴더 변경하기 jevida(강성욱) 2016.09.13 3978
1672 sp_helpindex 의 향상된 버전 minsouk 2016.05.17 4558
1671 Spatial Index (공간 인덱스) 생성, 수정, 삭제 jevida(강성욱) 2016.01.11 9199





XE Login

테스트 팝업
Close