트랜잭션 로그 백업(SQL Server)

적용 대상:SQL Server

이 문서는 전체 또는 대량 로그 복구 모델을 사용하는 SQL Server 데이터베이스에만 관련됩니다. 이 문서에서는 SQL Server 데이터베이스의 트랜잭션 로그 백업에 대해 설명합니다.

최소한 로그 백업을 만들려면 먼저 하나 이상의 전체 백업을 만들어야 합니다. 그런 다음, 로그가 이미 백업되지 않는 한 언제든지 트랜잭션 로그를 백업할 수 있습니다.

작업 손실 노출을 최소화하고 트랜잭션 로그를 자르려면 로그 백업을 자주 수행하는 것이 좋습니다.

데이터베이스 관리자는 보통 주기적(예: 매주)으로 전체 데이터베이스 백업을 만들고, 상황에 따라 더 짧은 간격(예: 매일)으로 차등 데이터베이스 백업을 만듭니다. 데이터베이스 백업과 관계없이 데이터베이스 관리자는 트랜잭션 로그를 자주 백업합니다. 지정된 유형의 백업의 경우 최적 간격은 데이터의 중요도, 데이터베이스 크기 및 서버 워크로드와 같은 요인에 따라 달라집니다. 좋은 전략을 구현하는 방법에 대한 자세한 내용은 이 문서의 권장 사항 참조하세요.

로그 백업 시퀀스의 작동 방식

트랜잭션 로그 백업 로그 체인의 시퀀스는 데이터 백업과 독립적입니다. 예를 들어 다음과 같은 이벤트 시퀀스를 가정합니다.

시간 이벤트
8:00 AM 데이터베이스를 백업합니다.
정오 트랜잭션 로그를 백업합니다.
4:00 PM 트랜잭션 로그를 백업합니다.
오후 6시 데이터베이스를 백업합니다.
오후 8:00 트랜잭션 로그를 백업합니다.

오후 8시에 만든 트랜잭션 로그 백업에는 전체 데이터베이스 백업이 오후 6:00에 만들어진 시간에 걸쳐 오후 4:00부터 오후 8:00까지의 트랜잭션 로그 레코드가 포함됩니다. 트랜잭션 로그 백업 시퀀스는 오전 8시에 생성된 초기 전체 데이터베이스 백업부터 오후 8시에 생성된 마지막 트랜잭션 로그 백업까지 연속됩니다. 이러한 로그 백업을 적용하는 방법에 대한 자세한 내용은 트랜잭션 로그 백업 적용(SQL Server)의 예제를 참조하세요.

권장 사항

트랜잭션 로그가 손상되면 최근의 유효 백업 이후에 수행한 작업이 손실됩니다. 따라서 내결함성이 있는 스토리지에 로그 파일을 보관하는 것이 좋습니다.

데이터베이스가 손상되거나 데이터베이스를 복원하려는 경우 데이터베이스를 현재 시점으로 복원할 수 있도록 비상 로그 백업 을 만드는 것이 좋습니다.

주의

알려진 문제: 메모리 최적화 테이블이 있는 데이터베이스의 경우 복구 없이 트랜잭션 로그 백업을 수행하고 나중에 복구를 사용하여 트랜잭션 로그 복원을 실행하면 응답하지 않는 데이터베이스 복원 프로세스가 발생할 수 있습니다. 이 문제는 로그 전달 기능에도 영향을 줄 수 있습니다. 이 문제를 해결하기 위해 복원 프로세스를 시작하기 전에 SQL Server 인스턴스를 다시 시작할 수 있습니다.

기본적으로 백업 작업을 성공적으로 수행할 때마다 SQL Server 오류 로그와 시스템 이벤트 로그에 항목이 추가됩니다. 로그를 매우 자주 백업하는 경우 이러한 성공 메시지가 빠르게 누적되어 다른 메시지를 찾기 어려울 수 있는 엄청난 오류 로그가 생성됩니다. 이러한 경우 해당 항목에 따라 달라지는 스크립트가 없는 경우 추적 플래그 3226을 사용하여 이러한 로그 항목을 표시하지 않을 수 있습니다. 자세한 내용은 추적 플래그(Transact-SQL)를 참조하세요.

비즈니스 요구 사항, 특히 손상된 로그 스토리지로 인한 작업 손실 허용 오차를 지원하기 위해 충분한 로그 백업을 자주 수행합니다.

  • 로그 백업의 적절한 수행 빈도는 저장 및 관리는 물론 복원까지 가능할 수 있는 로그 백업의 횟수에 의해 조정되는 작업 손실 위험에 대한 허용 범위에 따라 달라집니다. 복구 전략을 구현할 때 필요한 RTO(복구 시간 목표 ) 및 RPO(복구 지점 목표 ) 및 특히 로그 백업 주기를 생각해 보세요.

  • 로그 백업에 걸리는 시간은 매 15분에서 30분이면 충분합니다. 비즈니스에서 작업 손실 위험을 최소화하려는 경우에는 로그 백업을 더 자주 수행해야 합니다. 로그 백업 빈도가 높아질수록 로그 잘림 빈도가 증가하여 로그 파일이 더 작아질 수 있습니다.

Important

복원해야 하는 로그 백업 수를 제한하려면 데이터를 정기적으로 백업해야 합니다. 예를 들어 주별 전체 데이터베이스 백업과 일별 차등 데이터베이스 백업을 예약할 수 있습니다.
또 복구 전략을 구현할 때 필요한 RTORPO, 특히 전체 및 차등 데이터베이스 백업 케이던스에 대해 생각해보세요.