대량 로그 복구 모델에서의 백업

이 항목에서는 일반적으로 전체 복구 모델을 사용하는 SQL Server 데이터베이스에서의 대량 작업 최적화와 관련된 내용을 다룹니다.

대량 로그 복구 모델은 대량 데이터의 대량 가져오기와 같은 특정 대규모 작업의 성능을 향상시키기 위해서만 가끔 사용되어야 하는 특수한 용도의 복구 모델입니다. 전체 복구 모델에서의 백업에 대한 대부분의 설명은 대량 로그 복구 모델에도 적용됩니다. 이 항목에서는 대량 로그 복구 모델에만 해당되는 고려 사항에 대해 설명합니다.

[!참고]

대량 로그 복구 모델의 최소 로그 작업에 대한 자세한 내용은 최소 로깅 가능한 작업을 참조하십시오.

대량 로그 복구 모델의 사용을 줄이는 것이 좋습니다. 최상의 방법은 일련의 대량 작업 직전에 대량 로그 복구 모델로 전환했다가 작업을 수행한 직후에 전체 복구 모델로 다시 전환하는 것입니다. 자세한 내용은 전체 또는 대량 로그 복구 모델에서 전환을 참조하십시오.

대량 로그 복구 모델의 작동 방식

모든 트랜잭션을 완전히 기록하는 전체 복구 모델과 비교할 때 대량 로그 복구 모델에서는 대량 작업을 최소한으로 기록하고 다른 트랜잭션은 완전히 기록합니다. 대량 로그 복구 모델은 미디어 오류로부터 데이터를 보호하며 대량 작업에 대해 최적의 성능을 제공하고 최소한의 로그 공간을 사용합니다.

그러나 대량 로그 복구 모델을 사용할 경우 대량 로깅 작업 시 트랜잭션별로 변경 내용이 다시 캡처되지 않기 때문에 이러한 대량 복사 작업의 데이터 손실 위험이 커집니다. 로그 백업에 대량 로그 작업이 포함되어 있는 경우 해당 로그 백업 내에 지정 시간까지 복원할 수 없으며 전체 로그 백업만 복원할 수 있습니다.

대량 로그 복구 모델에서는 로그 백업에 대량 작업이 있는 경우 이 로그 백업에는 대량 작업에 의해 변경된 로그 레코드 및 데이터 페이지가 모두 포함됩니다. 이는 대량 로그 작업의 결과를 캡처하는 데 필요합니다. 통합된 데이터 익스텐트로 인해 로그 백업이 매우 커질 수 있습니다. 또한 로그를 백업하려면 대량 로그 트랜잭션이 들어 있는 데이터 파일에 액세스해야 합니다. 영향을 받은 데이터베이스 파일에 액세스할 수 없는 경우 트랜잭션 로그를 백업할 수 없으며 해당 로그의 커밋된 작업이 모두 손실됩니다.

데이터 페이지를 추적하기 위해 로그 백업 작업은 각 익스텐트에 대해 하나의 비트가 포함된 대량 변경 비트맵 페이지를 사용합니다. 마지막 로그 백업 이후 대량 로그 작업에 의해 업데이트된 익스텐트의 경우 비트맵의 해당 비트가 1로 설정됩니다. 데이터 익스텐트가 로그에 복사된 후 로그 데이터가 복사됩니다. 다음 그림에서는 로그 백업의 구성 방식을 보여 줍니다.

대량 변경 비트맵에서 변경된 익스텐트 식별

중요 정보중요

전체 또는 대량 로그 복구 모델에서는 다른 요소로 인해 로그 레코드가 활성 상태로 유지되지 않는 한 첫 번째 전체 백업 시까지 자동 검사점이 트랜잭션 로그의 사용되지 않는 부분을 자릅니다. 첫 번째 전체 백업 후에는 트랜잭션 로그를 백업해야만 잘림이 수행됩니다. 잘림을 지연시키는 요소에 대한 자세한 내용은 로그 잘림을 지연시킬 수 있는 요소를 참조하십시오.

대량 로그 복구 모델에서의 백업 제한 사항

대량 로그 복구 모델에는 다음과 같은 백업 제한 사항이 있습니다.

  • 대량 로그 변경 내용을 포함하는 파일 그룹이 로그 백업 전에 읽기 전용으로 설정된 경우 파일 그룹이 읽기 전용인 동안 이루어지는 모든 후속 로그 백업은 대량 로그 작업에서 변경한 익스텐트를 포함합니다. 이러한 로그 백업은 전체 복구 모델보다 크기도 크고 완료하는 데 더 많은 시간이 소요됩니다.

    이 문제를 피하려면 파일 그룹을 읽기 전용으로 만들기 전에 데이터베이스를 전체 복구 모델로 전환하고 로그를 백업합니다. 파일 그룹을 읽기 전용으로 만드십시오.

  • 마지막 로그 백업 후 대량 작업을 수행하면 대량 변경 사항이 데이터베이스에 남습니다. 이 경우 로그 백업을 수행할 때 모든 파일이 온라인 상태이거나 존재하지 않아야 합니다. 이는 대량 로그 작업이 포함된 로그를 백업하려면 대량 로그 트랜잭션이 들어 있는 데이터 파일에 액세스해야 하기 때문입니다.

복원 제한 사항에 대한 자세한 내용은 대량 로그 복구 모델에서 복원을 참조하십시오.

대량 로그 트랜잭션 이후에 데이터베이스를 읽기 전용으로 설정

대량 로그 복구 모델에서는 데이터베이스에 대량 로그 변경 내용이 포함되어 있을 때 로그 백업이 올바르게 작동합니다. 그러나 대량 로그 작업 후에 읽기/쓰기 데이터베이스가 읽기 전용 액세스로 변경되는 경우 후속 로그 백업은 필요 이상으로 데이터를 캡처할 수 있습니다. 이는 대량 로그 작업으로 어떤 데이트 익스텐트가 변경되었는지 추적하도록 데이터 파일을 업데이트할 수 없기 때문입니다. 이후의 모든 로그 백업에는 같은 정보가 포함됩니다.

최상의 방법 데이터베이스를 읽기 전용으로 변경하기 전에 전체 복구 모델로 전환하고 로그 백업을 수행한 다음 데이터베이스를 읽기 전용으로 만듭니다. 실제로 읽기 전용 데이터베이스를 로그 백업하는 것은 이치에 맞지 않으므로 데이터베이스가 읽기 전용이 된 후 전체 데이터베이스 백업을 하거나 전체 파일 백업 세트를 만드십시오. 복구 모델 전환 방법은 전체 또는 대량 로그 복구 모델에서 전환을 참조하십시오.

[!참고]

읽기 전용 데이터베이스 백업 방법은 읽기 전용 데이터베이스 백업을 참조하십시오.

대량 로그 복구 모델에서의 백업 복원

대량 로그 복구 모델 데이터베이스의 백업 복원 방법은 대량 로그 복구 모델에서 복원을 참조하십시오.