연말이 되면 대부분의 회사에서 회계연도 마감에 따른 재고 및 자산에 대한 조사가 진행됩니다. 그래서 노후화된 서버들을 폐기하는 작업을 진행하였습니다. 노후화의 기준은 보통 서버를 구매한 시점에서부터 5년이 지난 서버들입니다. 교체가 필요한 서버들 중에 MSSQL 데이터베이스 서버가 포함되어 있어서 마이그레이션 작업이 필요하게 되었습니다. 단순이 데이터베이스를 같은 버전으로 새로운 서버에 옮기는 것이 아리고 MSSQL 버전을 SQL 2016으로 업그레이도 같이 진행하기로 하였습니다.
처음 진행하는 마이그레이션 및 버전 업그레이드 작업이라서 작업을 진행할 때 많은 자료를 찾아보았습니다. 마이그레이션을 성공적으로 진행한 경험을 바탕으로 같은 일을 하는 작업자분들께 도움이 될까 하여 자료를 자세히 정리하려고 합니다. 이해하기 쉽게 최대한 자세하게 설명하다 보니 글의 길이가 조금 길어졌습니다. 글을 읽기 전에 참고하시기 바랍니다.
마이그레이션 진행 순서입니다.
진행 순서는 'MSSQL 2005' > 'MSSQL 2014' > 'MSSQL 2016' 로 진행 됩니다.
MSSQL 버전이 너무 오래된 SQL 2005 버전이기 때문에 SQL 2016으로 한번에 마이그레이션이 어려운 상황이었습니다. 그래서 중간에 SQL 2014 버전을 거쳐서 마이그레이션을 진행할 예정입니다.
작업을 진행할 MSSQL 데이터베이스 상세 version 정보입니다.
SQL 버전은 해당 데이터베이스에 접속해 SELECR @@VERSION를 쿼리하면 결과가 나옵니다.
마이그레이션 대상 데이터베이스 서버 'MSSQL 2005' 상세 버전 정보입니다.
Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
마이그레이션 브릿지 데이터베이스 서버 'MSSQL 2014' 상세 버전 정보입니다.
Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) Jun 17 2016 19:14:09 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 14393: )
마이그레이션 최종 데이터베이스 서버 'MSSQL 2016' 상세 버전 정보입니다.
Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64) Mar 18 2018 09:11:49 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: )
1. SQL2005 데이터베이스 백업을 진행합니다.
SSMS(SQL Server Management Studio)로 SQL2005 데이터베이스에 접속합니다. 마이그레이션을 진행할 데이터베이스를 마우스 오른쪽 클릭 후 '태스크(T)'에 '백업(B)'을 선택하여 백업 진행합니다.
'데이터베이스 백업' 창이 활성화되면 '추가(D)' 를 누릅니다. 이후 '파일이름(F)' 우측에 '...' 버튼을 클릭합니다. 백업파일이 생성되어지는 폴더를 지정합니다. 이후 하단의 '파일 형식(T)'는 기본값으로 놔두고 '파일 이름(N)' 란에 BEBE2005.bak 로 적어 주시고 확인 버튼을 눌러줍니다.
왼쪽 페이지 선택의 하위 리스트에 '미디어 옵션'을 클릭합니다. 오른쪽에 활성화된 창에서 미디어 덮어쓰기를 '기존 백업 세트 모두 덮어쓰기(R)를 체크하고 확인 을 눌러 백업을 진행합니다
오류가 없이 정상적으로 데이터베이스 백업이 완료되면 '데이터베이스 백업이 완료되었습니다'라는 메시지를 확인 할 수 있습니다.
백업경로를 선택한 위치에 가서 백업된 BEBE2005.bak 파일을 확인합니다. 이후 BEBE2005.bak 복원을 진행하기 위해서 SQL2014 데이터베이스가 설치되어 있는 서버로 전송합니다(USB or FTP 등 편한방법으로 옮기면 되겠습니다.)
2. SQL2014 데이터베이스 복원 및 백업을 진행합니다.
1) SQL2014 데이터베이스 복원 과정입니다.
SQL2014 DB에 접속합니다. 백업파일 BEBE2005.bak 전송이 완료가 되었는지 확인합니다. 확인이 완료되면 복원을 진행합니다. 왼쪽 개체 탐색기에 '데이터베이스'에서 마우스 오른쪽 클릭 후 '데이터베이스 복원(R)'을 클릭합니다.
'데이터베이스 복원' 창이 활성화되면 오른쪽에 장치를 체크하고 '...'을 누릅니다 '백업 장치 선택' 에서 '추가(A)'를 눌러 SQL2005 서버에서 백업한 후에 옮겨왔던 BEBE2005.bak을 선택하시고 확인을 누릅니다.
왼쪽 페이지 선택 하위 목록에 '파일' 을 선택합니다. 오른쪽 활성화된 곳에서 데이터베이스를 복원할 경로를 설정합니다. (여기서는 SQL에 설정된 기본경로 값으로 진행하였습니다.)
왼쪽 목록에 '옵션'을 선택하고 '복원 옵션' 에서 '기존 데이터베이스 덮어쓰기(WITH REPLACE)' 를 체크합니다. '비상 로그 백업' 은 체크하면 복원 속도가 느려 짐으로 체크하지 않습니다. '서버 연결' 아래 '대상 데이터베이스에 대한 기존 연결 닫기(C)'를 체크합니다. 확인을 눌러 복원을 진행합니다.
오류가 없이 복원이 되었다면 '데이터베이스를 복원했습니다'라는 완료 메시지를 확인할 수 있습니다.
2) SQL2014 데이터베이스 백업 과정입니다.
작업은 동일한 서버에서 계속 진행합니다. 먼저 데이터베이스의 호환성을 맞추기 위해서 SQL 호환성 수준을 변경을 진행해야 합니다. 복원이 되어진 데이터베이스 'BEBE2005'를 마우스 오른쪽 클릭 후 '속성'을 클릭합니다.
왼쪽 페이지선택 하위 목록에서 '옵션'을 클릭합니다. 클릭해서 나오는 오른쪽 화면에 '호환성 수준'을 'SQL Server 2008'에서 'SQL Server 2014'로 변경합니다. 확인을 눌러서 호환성 설정을 마무리합니다.
다음으로 마이그레이션을 진행할 데이터베이스에 마우스 오른쪽 클릭 후 '태스크(T)' 백업(B)'을 선택하여 백업 진행합니다.
처음에 했던 백업 작업을 동일하게 진행합니다. '데이터베이스 백업' 창이 활성화되면 '추가(D)' 를 누릅니다. 이후 '파일이름(F)' 우측에 '...' 버튼을 클릭합니다. 백업파일이 생성되어지는 폴더를 지정합니다. 이후 하단의 '파일 형식(T)'는 기본값으로 놔두고 '파일 이름(N)' 란에 BEBE2014.bak 로 적어 주시고 확인 버튼을 눌러줍니다.
백업이 완료가 되었다는 완료메시지를 확인합니다.
백업 진행 시에 선택한 경로로 가서 백업한 BEBE2014.bak 파일을 확인합니다. 이후 복원을 위해 SQL2016 데이터베이스 서버에 이 파일을 전송합니다(USB or FTP 등으로 전송합니다.)
3. SQL2016 데이터베이스 복원을 진행합니다.
SQL2016 DB에 접속합니다. 백업파일 BEBE2014.bak 전송이 완료가 되었는지 확인하고 확인이 완료되면 복원을 진행합니다. 왼쪽 개체 탐색기에 '데이터베이스'에서 마우스 오른쪽 클릭 후 '데이터베이스 복원(R)'을 클릭합니다.
'데이터베이스 복원' 창이 활성화되면 오른쪽 창에서 장치를 체크하고 '...' 버튼을 눌러줍니다. '백업 장치 선택' 에서 '추가(A)'를 눌러 SQL2014 서버에서 백업을 한 후에 전송해서 옮겨왔던 BEBE2014.bak을 선택하고 확인을 누릅니다.
좌측 페이지 선택 하위 목록에서 '파일'을 선택합니다. 우측에 활성화된 곳에서 데이터베이스를 복원할 경로를 지정합니다. (여기서는 SQL에 설정된 기본값으로 진행하였습니다.)
좌측 목록의 '옵션'을 선택하고 '복원 옵션' 쪽에 '기존 데이터베이스 덮어쓰기(WITH REPLACE)' 를 체크합니다. '비상 로그 백업' 은 체크 시 복원의 진행속도가 저하되기 때문에 체크하지 않습니다. '서버 연결' 아래 '대상 데이터베이스에 대한 기존 연결 닫기(C)'를 체크합니다. 마지막으로 확인을 눌러 복원을 진행합니다.
데이터베이스 복원이 완료되었다는 메시지를 확인합니다.
마이그레이션 완료된 최종 DB의 버전을 확인합니다. 'SQL Server 2016'를 확인합니다.
이상으로 MSSQL 마이그레이션 및 버전 업그레이드 방법이었습니다. 긴 글을 읽고 진행하느라 수고하셨습니다.
'IT > 데이터베이스 (Database)' 카테고리의 다른 글
MSSQL 계정(사용자) 생성 (0) | 2020.11.06 |
---|---|
MSSQL 데이터베이스 생성 및 삭제하기 (DB생성하기) (0) | 2020.11.05 |
MSSQL 데이터 i/o 병목현상 확인하기(SQL서버 느려짐) (0) | 2020.11.02 |
오라클(Oracle) SID 및 service name(DB_NAME) 확인 방법 (0) | 2020.11.02 |
오라클(ORACLE) 시노님(Synonym) 생성,삭제,조회 및 권한부여 (0) | 2020.11.02 |
댓글