공부, 기록

[MSSQL/SQL SERVER] DB 이관 기록(Migration) 본문

공부/DATABASE

[MSSQL/SQL SERVER] DB 이관 기록(Migration)

무는빼주세요 2022. 2. 5. 16:14

개요

2008 SQL Server EOS로 인하여 2019 버전으로 장비교체 진행.

 

사전 작업

1. 장비 구매 및 기본 설정

  • 장비 구매 진행 (견적 및 품의 과정)
  • OS 설치 및 디스크 (NAS) 파티션 할당
  • SQL Server 설치

2. 기존 장비의 계정, JOB, Linked Server 등 사전 이관 가능한 작업 진행

  • Create Script를 추출하여 진행.
  • 계정의 경우 sp_revlogin 프로시저를 사용하여 진행(MS DOCS 참조)
  • JOB의 경우 Enabled 값을 미실행으로 생성해두어야함

3. 기존 장비의 데이터 백업 계획 수립

  • 데이터의 변동이 없는 Cold Data의 경우 전체백업을 진행하여 미리 옮겨두고 복원
  • 용량별 데이터 백업 시간을 고려하여 전체백업/전체백업 + 로그백업으로 나눔

4. 기존 장비의 데이터 전체 백업 및 로그 백업 진행 및 신규 장비에서 복원 진행

  • 용량이 큰 카탈로그DB의 경우 교체 당일에 진행할 경우 시간이 많이 소요됨
    -> 전체 백업 + 로그 백업을 통하여 교체 당일 소요 시간 단축
    -> 로그 백업을 진행할 경우 복구모델을 FULL로 설정해야함 (로그백업 전까지 LOG가 용량으로 쌓이므로 주기적인 로그백업이 필요 1시간 단위로 진행)
    -> bak 파일을 신규 장비로 이동 또는 네트워크 복원을 통하여 전체 복원 -> 로그복원 순서로 진행(NORECOVERY)

 

5. 교체 시점 발생 JOB 확인 및 구독 추가 및 제거 스크립트 작성 (해당 서버의 경우 게시가 없이 구독만 존재하는 서버)

  • 구독 추가 스크립트에서 동기화 관련 설정을 지정해주어야 기존 데이터를 날리고 새로 받는 상황 발생하지 않음
    (해당 데이터의 사이즈가 커서 데이터를 밀고 새로 동기화 할 경우 많은 시간이 소요되는 상황)

 

교체 당일

 

1. 데이터가 최종으로 들어오는 시점에 마지막 로그 백업을 진행한 후 신규 장비에서 복원진행

2. 용량이 작은 카탈로그에 대해 전체 백업 및 복원 진행

3. DB들의 복구모델 및 RECOVERY 상태로 전환

4. JOB Enabled 값 변경 및 교체 중 실행되어야했던 JOB의 경우 수동으로 실행

5. 게시 DB 서버로 접근하여 신규 장비로 구독 추가 및 기존 장비 구독 제거 진행

 

이슈 기록

1. 서버Role의 경우 sp_revlogin  프로시저로 옮겨지지 않음. 

 

'공부 > DATABASE' 카테고리의 다른 글

트레이스, 프로파일러  (0) 2022.03.16
SQL SERVER PERFORMANCE COUNT  (0) 2022.03.16
[NoSQL] Document, MongoDB  (0) 2021.07.03
[MSSQL/SQL SERVER] CREATE 구문에 문자열 사용  (0) 2021.07.03
[NoSQL] Key-Value, Redis  (0) 2021.06.26