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
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 37970
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 20648
1694 SQL Server SP_Congifure 변경 사항 캡처 jevida(강성욱) 2016.09.13 2123
1693 SQL Server Net Libraries jevida(강성욱) 2016.09.13 1171
1692 SQL Server 별칭 설정 및 사용 jevida(강성욱) 2016.09.13 2867
1691 SQL Server에 연결된 어플리케이션 드라이버 버전 확인 jevida(강성욱) 2016.09.13 978
1690 SQL Server 성능 대시보드 jevida(강성욱) 2016.09.13 2375
» SSMS를 이용한 데이터베이스 복사 하기 jevida(강성욱) 2016.09.13 11874
1688 SQL Server에서 DB2 링크드 서버 연결 방법 jevida(강성욱) 2016.09.13 3494
1687 SQL Server 인덱스 활성 / 비활성 하기 jevida(강성욱) 2016.09.13 2460
1686 파티션 오프셋과 SQL Server에 대한 디스크 할당 단위 크기 jevida(강성욱) 2016.09.13 1822
1685 Read the End of a Large Error Log (에러로그 끝 부분 읽기) jevida(강성욱) 2016.09.13 1371
1684 데이터베이스 여유공간 확인 jevida(강성욱) 2016.09.13 1515
1683 FILE GROUP 간 데이터 이동 jevida(강성욱) 2016.09.13 1653
1682 문서화 되지 않은 sys.fn_PhysLocFormatter 함수 jevida(강성욱) 2016.09.13 1031
1681 SQL Server 관리자 전용 연결(DAC) jevida(강성욱) 2016.09.13 3600
1680 파일 접근 권한으로 인한 DB복원 실패 작업 해결하기 jevida(강성욱) 2016.09.13 2089
1679 DBCC CHECKDB 실행과 히스토리 관리 jevida(강성욱) 2016.09.13 1929
1678 MDF를 이용한 데이터베이스 복원 jevida(강성욱) 2016.09.13 1229
1677 EventID 3041 Error jevida(강성욱) 2016.09.13 1579
1676 데이터베이스 미러 백업 jevida(강성욱) 2016.09.13 1386
1675 SNAPSHOT을 이용한 SQL Server 복원 jevida(강성욱) 2016.09.13 2672





XE Login