일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- nonpaged pool
- MSCS on VMWare
- paged pool
- iSCSI target
- windows update
- Windows Server 2016
- windbg
- LiveKD
- Xperf
- 인문고전
- 작업관리자
- 클러스터
- Windows Server 2016 Hyper-v Cluster
- Nested VM
- Hyper-V
- failover cluster
- windows debugging tool
- 프로세스 CPU 사용량
- windows media service
- 안철수
- Windows Server 2008
- Local TempDB
- ftp7.5 장애조치 클러스터
- FTP7.5
- Session space
- 터키여행
- cluster node as Domain controller
- SQL Server 2012R2 FCI
- dsquery
- SQL Server 2008
- Today
- Total
류짱:Beyond MySelf
SQL Server를 실행하는 컴퓨터 간에 데이터베이스를 이동하는 방법 본문
SQL Server를 실행하는 컴퓨터 간에 데이터베이스를 이동하기 위해서는 많은 준비가 필요하며 다양한 방법이 있을 듯 합니다만 최근에 제가 진행한 SQL Server 마이그레이션 방법을 정리 해 봅니다.
[환 경]
현 운영 서버(A) : Windows Server 2003 IA64 / MS SQL Server 2005 Failover Cluster
신규 운영서(B) : Windows Server 2008 / MS SQL Server 2005 Failover Cluster
[시나리오]
신규 서버에는 이미 Cluster가 설치 되어 있고 클러스터 관리자에서 SQL 그룹을 만들고 해당 그룹에 모든 디스크 리소스가 추가 된 상태라고 가정 함
신규 서버가 현재 운영 중인 SQL Server 장애 조치 클러스터 네트워크 이름과 서비스 IP를 사용할 예정이라고 가정 함
1. 현 운영 서버의 모든 database 백업 및 SQL Server 구성 확인
가. SQL Server 데이터베이스 시스템 버전 확인
Select @@version
나. ServerName, MachinName, InstanceName, Edition, ProductVersion, ProductLevel 확인
SELECT
SERVERPROPERTY('ServerName') AS ServerName,
SERVERPROPERTY('MachinName') AS MachinName,
SERVERPROPERTY('InstanceName') AS InstanceName,
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel,
GO
다. OS 환경 확인
msinfo32
라. 데이터베이스 시스템 구성 확인
sp_helpdb;
마. 데이터베이스별 파일 구성 확인
select * from sys.master_files;
바. Database 구성 정보 확인
sp_configure; 실행 시 모든 구성정보가 보이지 않는다면 명령어 실행
sp_configure 'show advanced options','1';
reconfigure;
http://support.microsoft.com/kb/918992
아. SQL Server 에이전트에서 실행 중인 작업 확인 및 스크립트 생성
http://support.microsoft.com/kb/314546
자. 기타 Linked server 나 다른 필요 사항 확인
2. 엑셀을 이용하여 '마' 항목에서 확인한 데이터베이스 Attache 스크립트 작성
위 '마' 항목에서 확인 한 데이터베이스 파일 정보를 바탕으로 엑셀의 CONCATENATE 함수를 이용하여 아래와 같이
스크립트용 파일 준비
=CONCATENATE(F,G,H,I,J,K,L,M,N)"
EXEC sp_attach_db @dbname=N'test',@filename1 = N'G:\test.mdf',@filename2 = N'F:\LogData\test_log.LDF'
3. 현재 운영 중인 SQL Server 장애 조치 클러스터 이름 및 IP를 임시로 변경
http://support.microsoft.com/kb/244980
4. DB 파일 copy를 위해 현 운영 서버의 SQL Server 리소스만 offline
만약 SQL sever 그룹 전체를 offline 할 경우 운영 서버에서 사용 중인 Data를 copy 할 수 없기 때문에 주의^^
5. Robocopy 나 xcopy 혹은 다른 방법을 이용하여 원본 서버(A)에서 신규 서버(B)로 데이터 베이스 파일 copy
robocopy 명령어를 이용한 파일 복사
http://ryuchan.kr/entry/robocopy-명령어를-이용한-파일-복사
6. 파일 복사 완료 후 신규 서버에 SQL Server 장애조치 클러스터 구성
Window server 2008R2 환경에 MS SQL Server 2005 설치 시 약간의 주의가 필요 함(추가 블로그 포스팅 예정)
7. SQL Server 장애조치 클러스터 설치 완료 후 '2번에서 작성한 attache 스크립트를 이용하여 데이터베이스 attache
8. '1번 - 사, 아' 에서 생성 된 로그인 및 암호 전송 스크립트와 작업 스크립트 실행
9. 신규 서버의 Datatabase 적합성 확인 및 '1-바'에서 확인 한 Configuration 값 확인 및 설정
[참고 자료]
SQL Server를 실행하는 컴퓨터 간에 데이터베이스를 이동하는 방법
http://support.microsoft.com/kb/314546
SQL Server 2005 인스턴스 간에 로그인 및 암호를 전송하는 방법
http://support.microsoft.com/kb/918992
감사합니다. ^^