로그 백업의 작동 방식에 대한 오해가있는 것처럼 보이는 몇 가지 흥미로운 제안이 있습니다. 로그 백업에는 중간에서 수행 된 전체 또는 차등 백업에 관계없이 이전 로그 백업 이후 생성 된 모든 트랜잭션 로그가 포함됩니다. 로그 백업을 중지하거나 매일 전체 백업으로 이동해도 로그 백업 크기에는 영향을 미치지 않습니다. 트랜잭션 로그에 영향을 미치는 유일한 것은 로그 백업 체인이 시작되면 로그 백업입니다.
이 규칙의 유일한 예외는 로그 백업 체인이 손상된 경우입니다 (예 : SIMPLE 복구 모델로 이동하여 데이터베이스 스냅 샷에서 복귀, BACKUP LOG WITH NO_LOG / TRUNCATE_ONLY를 사용하여 로그 자르기).이 경우 첫 번째 로그 백업 마지막 전체 백업 이후의 모든 트랜잭션 로그를 포함합니다 (로그 백업 체인을 다시 시작 함). 또는 로그 백업 체인이 시작되지 않은 경우-처음으로 FULL로 전환하면 첫 번째 전체 백업이 수행 될 때까지 일종의 유사 -SIMPLE 복구 모델로 작동합니다.
SIMPLE 복구 모델로 이동하지 않고 원래 질문에 대답하려면 모든 트랜잭션 로그를 백업해야합니다. 수행하는 작업에 따라 로그 백업을 자주 수행하여 크기를 줄이거 나 대상 데이터베이스를 더 많이 만들 수 있습니다.
수행중인 유지 보수 작업에 대한 정보를 게시 할 수 있으면 최적화하는 데 도움을 줄 수 있습니다. 우연히, 인덱스 재 구축에 사용 된 공간을 되찾기 위해 인덱스 재 구축과 축소 데이터베이스를 수행하고 있습니까?
유지 보수가 진행되는 동안 데이터베이스에 다른 활동이없는 경우 다음을 수행 할 수 있습니다.
- 사용자 활동이 중지되었는지 확인
- 최종 로그 백업 수행 (이를 통해 유지 관리 시작 시점까지 복구 할 수 있음)
- 단순 복구 모델로 전환
- 유지 관리 수행-각 검사 점에서 로그가 잘립니다.
- 전체 복구 모델로 전환하고 전체 백업을 수행하십시오.
- 정상적으로 계속
더 많은 정보를 기대하면서 이것이 도움이되기를 바랍니다.
감사
[편집 : 전체 백업이 후속 로그 백업의 크기를 변경할 수 있는지 여부에 대한 모든 논의가 끝나면 배경 자료와이를 증명하는 스크립트가 포함 된 포괄적 인 블로그 게시물을 작성했습니다. https://www.sqlskills.com/blogs/paul/misconceptions-around-the-log-and-log-backups-how-to-convince-yourself/] 에서 확인 하십시오.