MS-SQL에서 지원하는 Data Migration Assistant(이하 DMA)를 사용하여 SQL Server 를 마이그레이션 하는 방법입니다.
테스트 환경은 다음과 같습니다.
환경 |
버전 |
DMA |
Data Migration Assistant v4.2 |
Source |
Windows Server 2012, SQL Server 2008 |
Target |
Windows Server 2017, SQL Server 2017 |
DMA는 Source 서버에 설치되어 있습니다.
Source와 Target 서버는 서로 통신이 가능합니다.
Source 장비에서 2017버전 호환성 테스트 작업
마이그레이션을 진행하기 전에 먼저 2008버전에서 사용중인 스키마, 데이터 등과 2017버전이 호환이 맞는지를 테스트 합니다.
1. DMA를 실행한 후 + 버튼을 클릭합니다.
2. Project type에 Assesment 를 선택합니다.
Target Server Type에는 SQL server 를 선택한 뒤 Create 버튼을 클릭합니다.
3. Select target version에 SQL Server 2017 on Windows를 선택합니다.
Compatibility Issues는 호환성 문제를, New features' recommendation은 새로운 기능의 권장사항을 의미합니다.
Migration 이 주 목적이기 때문에 Compatibility Issues에만 체크한 후 Next를 클릭합니다.
4. Source 데이터베이스의 서버 명을 입력한 후 Connect로 데이터베이스에 연결합니다.
5. Add Sources에서 호환성 테스트를 원하는 데이터베이스를 선택 후 Add를 클릭합니다.
6. 데이터베이스의 호환성 레벨과 사용량이 나옵니다. 이상이 없으면 Start Assessment를 클릭하여 호환성 검사를 진행합니다.
7. 호환성 검사가 진행 및 완료됩니다.
좌측 란에는 데이터베이스가,
우측 란에는 2017의 호환성 레벨과 현재 사용하고 있는 버전의 호환에 대한 문제 여부가 나옵니다.
문제가 없다면 마이그레이션 작업을 진행합니다.
Source 장비에서 Target 장비로 마이그레이션 작업
1. Source 장비에서 A 로그인 유저와, MIG_TEST, MIG_TEST2 데이터베이스를 마이그레이션 대상으로 정합니다.
2. Source, Target 장비에서 폴더를 생성한 후 해당 폴더를 네트워크 공유로 지정합니다.
- C드라이브에 Test 폴더 생성
- 폴더 우클릭 속성 -> 공유 -> 공유 -> Everyone 읽기/쓰기
3. Migration을 선택한 후 Target Server type을 SQL Server로 지정합니다.
4. Source server details에 Source Server 명을, Target server details에 Targer Server 명을 입력합니다.
Windows Authentication으로 접속할 수 없는 경우, SQL Server Authentication 옵션으로 진행하면 됩니다.
5. 백업과 복원에 필요한 파일의 저장위치를 설정합니다.
- 체크박스에 체크합니다.
- for backup operations..에 Source장비에서 설정한 네트워크 폴더경로 입력
- for restore operations..에 Target장비에서 설정한 네트워크 폴더경로 입력
- Specify the location to restore..에 복구 시 생성될 데이터베이스 데이터/로그 파일의 위치를 입력
6. 도메인이 붙는 로그인 계정을 제외한 나머지 계정에 체크한 후 마이그레이션 작업을 시작합니다.
7. 마이그레이션 작업이 진행 및 완료됩니다.
Warnings이나 Failed의 숫자가 0이 아닌 경우 해당하는 오류에 대한 Error log를 확인합니다.
8. Target장비에서 마이그레이션된 데이터베이스/로그인 유저를 확인합니다.
'SQL Server > SQL Server 기타' 카테고리의 다른 글
[MsSQL] 쿼리 .. 와 . 의 차이 double dot vs single dot (0) | 2019.03.13 |
---|---|
[MsSQL] SSMS 포트 입력, SQL Server 기본포트 사용하지 않는경우 접속하기 (1) | 2019.03.13 |
[MsSQL] 로그인과 사용자 차이점 알아보기 login user 차이점 알아보기 (0) | 2019.03.04 |
[MsSQL] 날짜데이터를 CONVERT 함수를 사용하여 시간포맷 지정하기 (0) | 2019.02.14 |
[MsSQL] SSIS를 사용하여 테이블에 데이터를 적재/추출하기 (0) | 2019.02.13 |