전체 또는 대량 로그 복구 모델에서 전환

데이터베이스는 언제든지 다른 복구 모델로 전환이 가능합니다. 대량 작업 중에 전환하면 대량 작업의 로깅도 적절하게 변경됩니다.

규모가 큰 대량 작업 전후로 전체 및 대량 로그 복구 모델 간 전환은 유용합니다. 모든 트랜잭션을 완전히 기록하는 전체 복구 모델은 일반적인 용도에 적합합니다. 대량 로그 복구 모델은 큰 대량 작업 중에 임시로 사용하기 위한 것으로, 대량 로그 복구 모델에 의해 영향을 받는 대량 작업 사이에 진행되는 것으로 가정합니다. 자세한 내용은 최소 로깅 가능한 작업을 참조하십시오. 대량 작업 중에 전체 복구 모델과 대량 로그 복구 모델 간을 전환하면 대량 작업의 로깅도 알맞게 변경됩니다.

제한 사항

  • 데이터베이스 미러링과 같은 일부 기능에서는 데이터베이스가 전체 복구 모델을 유지해야 합니다.

  • 트랜잭션 복제를 사용하는 경우 대량 로그 복구 모델에서도 SELECT INTO 및 BULK INSERT 작업이 모두 기록됩니다.

전체 복구와 대량 로그 복구 간 전환

전체 복구를 사용하는 데이터베이스의 경우 대량 작업을 위해 대량 로그 복구 모델로 임시 전환하면 성능이 개선됩니다. 그러나 대량 로그 모델에서는 지정 시간 복구를 사용할 수 없습니다. 따라서 트랜잭션 로그 복원이 필요할 수 있는 대량 로그 모델에서 트랜잭션을 실행하는 경우 이러한 트랜잭션이 데이터 손실에 노출될 수 있습니다. 재해 복구 시나리오에서 데이터 복구 기능을 최대화하기 위해 다음 조건에서만 대량 로그 복구 모델로 전환하는 것이 좋습니다.

  • 사용자가 현재 데이터베이스에서 허용되지 않습니다.

  • 대량 프로세스 중 수정된 모든 내용은 로그 백업을 수행하지 않고 대량 프로세스를 다시 실행하는 등의 방법으로 복구할 수 있습니다.

이러한 두 조건을 충족하면 대량 로그 복구 모델에서 백업된 트랜잭션 로그를 복원하는 동안 데이터 손실에 노출되지 않습니다.

권장 사항은 다음과 같습니다.

  • 대량 로그 복구 모델로 전환하기 전에 로그를 백업합니다.

    대량 로그 복구 모델에서는 데이터베이스가 실패할 경우 대량 작업의 로그를 백업할 때 데이터 액세스가 필요하므로 중요합니다.

  • 대량 작업을 수행한 후에는 즉시 전체 복구 모드로 다시 전환하는 것이 좋습니다.

  • 대량 로그 복구 모델에서 전체 복구 모델로 전환한 후 다시 로그를 백업합니다.

이러한 권장 사항을 따르면 데이터가 완전하게 보호되며 지정 시간 복구가 가능합니다. 다음 그림에서는 이러한 권장 사항을 보여 줍니다.

대량 로그 복구를 사용하는 프로세스(권장)

두 복구 모델 간 전환 시 백업 전략은 그대로 유지됩니다. 즉, 계속해서 주기적인 데이터베이스, 로그 및 차등 백업 작업을 수행합니다.

전체 또는 대량 로그 복구에서 단순 복구로 전환

전체 또는 대량 로그 복구에서 단순 복구로 전환하는 것은 가능한 일이긴 하지만 드문 경우입니다.

단순 복구 모델로 전환하기 직전에 해당 시점까지의 복구를 허용하려면 트랜잭션 로그를 백업합니다. 단순 복구 모델에서는 로그 백업이 지원되지 않으므로 전환 후에는 트랜잭션 로그 백업을 위한 모든 예약 작업을 중단합니다. 자세한 내용은 방법: 유지 관리 계획 마법사에서 유지 관리 태스크 변경을 참조하십시오.

복구 모델 변경

복구 모델을 변경하려면(Transact-SQL)

다음과 같이 ALTER DATABASE를 사용합니다.

  • 데이터베이스를 전체 복구 모델로 설정하는 경우

    USE master;

    ALTER DATABASE database_name SET RECOVERY FULL;

  • 데이터베이스를 대량 로그 복구 모델로 설정하는 경우

    USE master;

    ALTER DATABASE database_name SET RECOVERY BULK_LOGGED;

[!참고]

새 데이터베이스에 적용할 기본 복구 모델을 변경하려면 ALTER DATABASE를 사용하여 model 데이터베이스의 복구 모델을 변경하십시오.

복구 모델을 변경하려면(SQL Server Management Studio)