데이터베이스 복구 모델 선택

단순 복구 모델은 일반적으로 테스트 또는 개발 데이터베이스에 적합합니다. 그러나 프로덕션 데이터베이스의 경우에는 전체 복구 모델을 사용하고, 필요에 따라 대량 로그 복구 모델을 함께 사용하는 것이 가장 좋습니다. 그러나 대부분 또는 완전히 읽기 전용이거나 데이터 웨어하우스용인 소규모 프로덕션 데이터베이스의 경우 단순 복구 모델이 적합한 경우도 있습니다.

특정 데이터베이스에 대한 최적의 복구 모델을 결정하려면 데이터베이스의 복구 목표 및 요구 사항과 로그 백업을 관리할 수 있는지 여부를 모두 고려해야 합니다.

[!참고]

새 데이터베이스는 model 데이터베이스에서 복구 모델을 상속합니다.

복구 목표 및 요구 사항 확인

데이터베이스에 가장 적합한 복구 모델을 선택하려면 해당 데이터베이스의 복구 목표와 요구 사항을 고려해야 합니다. 다음 질문에 대답하면 가용성 요구 사항과 데이터 손실에 대한 민감도를 결정하는 데 도움이 됩니다.

복구 요구 사항

  • 수정 사항이 얼마나 중요합니까?

  • 손실된 데이터를 다시 만드는 것이 얼마나 간단합니까?

  • 논리적으로 일관되어야 하는 데이터베이스가 두 개 이상 있습니까?

    그런 경우 MS DTC(Microsoft Distributed Transaction Coordinator) 트랜잭션을 사용하십시오. 자세한 내용은 MS DTC 분산 트랜잭션을 참조하십시오.

    [!참고]

    전체 복구 모델에서 각 관계형 데이터베이스의 트랜잭션에 표시가 있는 경우 데이터베이스를 일치하는 지점으로 복구할 수 있습니다. 이렇게 하려면 각각의 복구 지점과 동일한 트랜잭션 표시로 각 데이터베이스를 복원해야 합니다. 그러나 복구 지점 표시를 사용하면 해당 지점 이후에 커밋된 모든 트랜잭션이 손실됩니다. 자세한 내용은 표시된 트랜잭션 사용(전체 복구 모델)을 참조하십시오.

직원 관련 고려 사항

조직에 시스템 관리자나 데이터베이스 관리자가 있습니까? 없는 경우 백업 및 복구 작업을 수행하는 책임자는 누구이며 그들에 대한 교육은 어떻게 이루어집니까?

데이터 사용 패턴

각 데이터베이스에 대해 다음 질문을 고려해 보십시오.

  • 데이터베이스의 데이터를 얼마나 자주 변경합니까?

  • 다른 테이블에 비해 훨씬 자주 수정되는 테이블이 있습니까?

  • 중요한 프로덕션 기간이 있습니까? 있는 경우 이 기간 중의 사용 패턴은 어떻습니까? 데이터베이스에서 삽입 및 기타 업데이트 작업을 할 때 사용량이 최고 수준에 도달합니까?

    사용량이 적은 시간에 데이터 백업이 수행되도록 예약하는 것이 좋습니다. I/O 시스템의 사용량이 많은 경우에는 일반적으로 로그 백업만 사용해야 합니다.

  • 데이터베이스에서 위험한 업데이트를 실행하거나 즉시 검색할 수 없는 응용 프로그램 오류가 있습니까?

    그런 경우 전체 복구 모델을 사용하십시오. 그렇게 하면 로그 백업을 사용하여 데이터베이스를 특정 시점으로 복구할 수 있습니다.

단순 복구 모델을 사용하는 경우

다음에 해당되는 경우 단순 복구 모델을 사용합니다.

  • 오류 지점 복구가 필요하지 않습니다. 데이터베이스가 손실되거나 손상될 경우 오류 지점과 이전 백업 사이의 모든 업데이트가 손실되어도 상관 없습니다.

  • 로그에 있는 일부 데이터가 손실되어도 상관 없습니다.

  • 트랜잭션 로그를 백업 및 복원하지 않고 전적으로 전체 및 차등 백업을 사용하려고 합니다.

자세한 내용은 단순 복구 모델에서의 백업을 참조하십시오.

전체 복구 모델을 사용하는 경우

다음 중 하나에 해당되는 경우 전체 복구 모델과 선택적으로 대량 로그 복구 모델을 함께 사용합니다.

  • 모든 데이터를 복구할 수 있어야 합니다.

  • 데이터베이스에 여러 파일 그룹이 있으며 읽기/쓰기 보조 파일 그룹과 선택적으로 읽기 전용 파일 그룹의 증분 복원을 수행하려고 합니다.

  • 실패 지점까지 복구할 수 있어야 합니다.

  • 개별 페이지를 복원하려고 합니다.

  • 트랜잭션 로그 백업의 관리 비용이 발생해도 괜찮습니다.

자세한 내용은 전체 복구 모델에서의 백업을 참조하십시오.

대량 로그 복구 모델을 사용하는 경우

대량 로그 복구 모델은 전체 복구 모델의 보충 모델입니다. 대규모의 대량 작업을 실행하고 있으며 데이터베이스의 지정 시간 복구가 필요하지 않은 기간 중에만 대량 로그 복구 모델을 사용하는 것이 좋습니다.

  • 데이터베이스에서 대량 작업을 정기적으로 수행합니까?

    이 복구 모델에서는 대부분의 대량 작업이 최소한으로만 로그됩니다. 전체 복구 모델을 사용하는 경우 이러한 대량 작업을 수행하기 전에 일시적으로 대량 로그 복구 모델로 전환할 수 있습니다. 대량 로그 복구 모델의 최소 로그 작업에 대한 자세한 내용은 최소 로깅 가능한 작업을 참조하십시오.

    일반적으로 대량 로그 복구 모델은 대부분의 대량 작업이 최소로 로그된다는 점을 제외하고 전체 복구 모델과 유사합니다. 트랜잭션 로그 백업은 마지막 백업 이후에 완료된 최소 로그 작업의 결과와 로그를 캡처합니다. 이 경우 로그 백업이 상당히 커질 수 있으므로 대량 로그 복구 모델은 최소 로깅을 허용하는 대량 작업 중에만 사용해야 합니다. 다른 시간에는 전체 복구 모델을 사용하는 것이 좋습니다. 일련의 대량 작업이 완료되면 즉시 전체 복구 모델로 다시 전환하는 것이 좋습니다.

대량 로그 복구 모델의 제한을 비롯한 자세한 내용은 대량 로그 복구 모델에서의 백업을 참조하십시오.

다른 복구 모델에서 지원하는 복원 작업에 대한 자세한 내용은 복원 및 복구 개요(SQL Server)를 참조하십시오.

데이터베이스 복구 모델 보기 및 변경

새 데이터베이스는 model 데이터베이스에서 복구 모델을 상속합니다. model 데이터베이스의 기본 복구 모델은 SQL Server의 버전에 따라 달라집니다. 그러나 데이터베이스에 대한 ALTER 권한을 가진 사용자는 누구든지 이 설정을 변경할 수 있습니다. model 데이터베이스의 현재 복구 모델을 보는 방법은 방법: 데이터베이스의 복구 모델 보기 또는 변경(SQL Server Management Studio)을 참조하십시오.

데이터베이스의 복구 모델을 보거나 변경하려면

복구 모델을 전환하려면