본문 바로가기
DataBase/MsSql

MSSQL DATABASE 백업 및 복원

by 아우럼 2024. 7. 31.
반응형

MSSQL DATABASE 백업의 장점 및 백업 및 복원 용어에 관해 설명하고 MSSQL DATABASE에 대한 백업 및 복원 전략과 MSSQL DATABASE 백업 및 복원을 위한 고려 이야기하려고 합니다.

 

MSSQL DATABASE 백업이 꼭 필요한 이유

  • 서버는 장애 및 오류로 인해, 문제가 발생하면 backup 된 data가 필요합니다.
  • 사용자가 작업 중 실수로 테이블을 Delete 또는 drop 했다면 backup 된 data가 필요하죠.
  • 지진, 태풍, 화재 등으로 운영 중인 SQL SERVER에 문제가 발생했다면 backup 된 data가 필요합니다.
  • 여러분은 자동차를 구매하면 보험에 가입하듯이, DATABASE를 운영하려면 문제 발생 시 복원할 수 있도록 주기적으로 백업을 합니다.

MSSQL 백업, 복원 방법은?
MSSQL 백업, 복원 방법은?

MSSQL DATABASE 백업, 복원 용어

백업이란?

DATABASE에 문제 발생 시, 데이터를 복원하고 복구하는 데 사용할 수 있는 DATABASE 서버의 Data 복사본을 만드는 과정부터 완료된 상황을 이야기합니다.

백업 디바이스 

  • 보통 백업이 기록된 테이프 또는 디스크 파일 지칭 합니다.

데이터 백업(data backup)

  • 데이터베이스 전체 백업), 부분 데이터베이스 백업, 파일 백업에서 backup 된 Data를 지칭합니다.

전체 백업

  • 전체 백업은 full backup으로 사용되는데 단어 의미대로 데이터베이스 또는 파일 그룹 또는 파일 세트의 모든 데이터와 트랜잭션 로그 포함하는 백업입니다.

차등 백업(differential backup)

  • 전체 백업 후 데이터베이스의 변경된 부분만 백업하는데, 이런 경우 차등 백업이라 합니다.

LOG BACKUP

  • 전체 복구 모델에서 주로 사용하는데 모든 로그 레코드를 포함하는 트랜잭션 로그의 백업입니다.

복구

  • 데이터베이스를 특정 시점으로 복원하는데, 시작 단계를 복구라고 합니다.

복구 모델

  • 복구 모델은 데이터베이스의 트랜잭션 로그를 관리하는 방법을 결정하는 데이터베이스의 속성입니다.

단순 복구 모델 (Simple Recovery Model)

  • 개발 및 테스트 환경에서 사용하는 데 주기적인 백업이 필요하지 않으며, 데이터 손실 가능성이 있습니다.

전체 복구 모델 (Full Recovery Model)

  • DATABASE의 모든 트랜잭션 로그에 대해서 주기적인 백업을 실행합니다.
  • Data의 손실을 최소화할 때 사용합니다.

대량 로그 복구 모델 (Bulk-Logged Recovery Model)

  • 대부분 대량 데이터 Insert 하거나 인덱스 재구성 작업에 사용합니다.
  • 대량 작업 후 트랜잭션 로그 백업은 필수 사항입니다.

복원(restore)

  • 지정된 DATABASE 백업에서 데이터베이스로 모든 데이터 및 로그 페이지를 복사하고 기록된 변경 사항을 적용하여 
  • DATABASE의 데이터를 최신 상태로 완료하는 과정입니다.

 

백업 및 복원 전략에 대한 고민

운영 중인 데이터베이스 서버를 파악하자.

  • Database의 Data는 얼마나 자주 변경과 업데이트가 발생하는지?
  • Database의 Data 변경이 데이터베이스의 특정 부분, 대부분에서 발생하는지 확인하세요.
  • 비용하고 관련이 있는 DATABASE 백업에 필요한 디스크 공간은 얼마인가요? 

백업 및 복원을 어떻게 할지.

  • 최적의 백업 및 복원 전략을 설계하려면 신중한 계획, 구현 및 테스트가 필요합니다.
  • 데이터 백업 및 복원은 큰 비용이 발생하므로 사용자 환경에 설계되어야 하며, 사용할 수 있는 리소스로 작업해야 합니다.
  • 즉, 잘 설계된 백업 및 복원 전략은 백업 유지 관리 및 저장 비용을 고려하면서 최대 데이터 가용성 및 최소 데이터 손실에 대한 요구 사항을 균형에 맞게 관리합니다.

백업 및 복원 확인 및 테스트.

  • 백업 파일은 계획적으로 확인하세요. 
  • 백업을 복원할 수 있는 테스트 환경을 구축하세요.
  • 데이터베이스의 복사본을 테스트 시스템에 복원하여 각 데이터베이스에 대한 백업 전략을 철저히 테스트하는 것이 매우 중요합니다.

백업 및 복원 문서화?

  • 백업 및 복원은 매우 중요하므로 절차를 문서화하고 설명서의 복사본을 실행 책에 보관하는 것이 좋습니다.
  • 또한 각 데이터베이스에 대한 작업 설명서를 자세히 기록하세요.

백업 파일 확정자.

  • 데이터베이스 백업 파일에 확장명이. BAK 있어야 합니다.
  • 로그 백업 파일에는 확장명이. TRN 있어야 합니다.

이번 글은 백업, 복원에 대한 전체적인 설명이고, 다음부터는 나눠서 어떻게 백업하고 복원하는 설명 하겠습니다.

 

반응형