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

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse 이 항목에서는 전체 또는 대량 로그 복구 모델을 사용하는 SQL ServerSQL Server 데이터베이스와 관련된 내용을 다룹니다. This topic is relevant only for SQL ServerSQL Server databases that are using the full or bulk-logged recovery models. 이 항목에서는 SQL ServerSQL Server 데이터베이스의 트랜잭션 로그를 백업하는 방법에 대해 설명합니다.This topic discusses backing up the transaction log of a SQL ServerSQL Server database.

로그 백업을 만들려면 최소한 하나의 전체 백업을 만들어야 합니다.Minimally, you must have created at least one full backup before you can create any log backups. 그렇게 해야 로그가 백업 중일 때를 제외하고 언제든지 트랜잭션 로그를 백업할 수 있습니다.After that, the transaction log can be backed up at any time unless the log is already being backed up.

로그 백업을 자주 수행하여 작업 손실 가능성을 최소화하고 트랜잭션 로그를 잘라내는 것이 좋습니다.We recommend you take log backups frequently, both to minimize work loss exposure and to truncate the transaction log.

데이터베이스 관리자는 보통 주기적(예: 매주)으로 전체 데이터베이스 백업을 만들고, 상황에 따라 더 짧은 간격(예: 매일)으로 차등 데이터베이스 백업을 만듭니다.A database administrator typically creates a full database backup occasionally, such as weekly, and, optionally, creates a series of differential database backup at a shorter interval, such as daily. 또한 데이터베이스 백업과 상관없이 더 자주 트랜잭션 로그를 백업합니다.Independent of the database backups, the database administrator backs up the transaction log at frequent intervals. 지정된 백업 유형의 최적 간격은 데이터의 중요도, 데이터베이스의 크기 및 서버의 작업과 같은 요소에 따라 달라집니다.For a given type of backup, the optimal interval depends on factors such as the importance of the data, the size of the database, and the workload of the server. 좋은 전략을 구현하는 방법에 대한 자세한 내용은 이 항목의 권장 사항을 참조하세요.For more information about implementing a good strategy, see Recommendations in this topic.

로그 백업 시퀀스의 작동 방법How a sequence of log backups works

트랜잭션 로그 백업 로그 체인 시퀀스는 데이터 백업과 독립되어 있습니다.The sequence of transaction log backups log chain is independent of data backups. 예를 들어 이벤트가 다음과 같은 순서로 발생한다고 가정합니다.For example, assume the following sequence of events.

Time Time 이벤트Event
8:00 AM8:00 AM 데이터베이스를 백업합니다.Back up database.
정오Noon 트랜잭션 로그를 백업합니다.Back up transaction log.
4:00 PM4:00 PM 트랜잭션 로그를 백업합니다.Back up transaction log.
6:00 PM6:00 PM 데이터베이스를 백업합니다.Back up database.
8:00 PM8:00 PM 트랜잭션 로그를 백업합니다.Back up transaction log.

8:00 PM에 생성된 트랜잭션 로그 백업에는 4:00 PM부터 전체 데이터베이스 백업이 생성된 6:00 PM을 거쳐 8:00 PM까지의 트랜잭션 로그 레코드가 포함됩니다. 트랜잭션 로그 백업 순서는 8:00 AM에 생성된 초기 전체 데이터베이스 백업부터 8:00 PM에 생성된 마지막 트랜잭션 로그 백업에 이르기까지 연속적입니다.The transaction log backup created at 8:00 PM contains transaction log records from 4:00 PM through 8:00 PM, spanning the time when the full database backup was created at 6:00 PM The sequence of transaction log backups is continuous from the initial full database backup created at 8:00 AM to the last transaction log backup created at 8:00 PM. 이러한 로그 백업을 적용하는 방법은 트랜잭션 로그 백업 적용(SQL Server)의 예제를 참조하세요.For information about how to apply these log backups, see the example in Apply Transaction Log Backups (SQL Server).

권장 사항Recommendations

  • 트랜잭션 로그가 손상되면 최근의 유효 백업 이후에 수행한 작업이 손실됩니다.If a transaction log is damaged, work that is performed since the most recent valid backup is lost. 따라서 내결함성이 있는 저장소에 로그 파일을 보관하는 것이 좋습니다.Therefore we strongly recommend that you put your log files on fault-tolerant storage.

  • 데이터베이스가 손상되었거나 데이터베이스를 복원하려는 경우에는 데이터베이스를 현재의 지정 시간으로 복원할 수 있도록 비상 로그 백업 을 만드는 것이 좋습니다.If a database is damaged or you are about to restore the database, we recommend that you create a tail-log backup to enable you to restore the database to the current point in time.

  • 기본적으로 백업 작업을 성공적으로 수행할 때마다 SQL ServerSQL Server 오류 로그와 시스템 이벤트 로그에 항목이 추가됩니다.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. 로그를 자주 백업하는 경우 이러한 성공 메시지는 바로 누적되므로 엄청난 오류 로그가 쌓여 다른 메시지를 찾기 힘들 수 있습니다.If back up the log very frequently, these success messages accumulate quickly, resulting in huge error logs that can make finding other messages difficult. 이 경우 스크립트가 이러한 로그 항목에 종속되지 않을 경우 추적 플래그 3226을 사용하여 이러한 항목을 표시하지 않을 수 있습니다.In such cases you can suppress these log entries by using trace flag 3226 if none of your scripts depend on those entries. 자세한 내용은 추적 플래그(Transact-SQL)를 참조하세요.For more information, see Trace Flags (Transact-SQL).

  • 비즈니스 요구 사항, 특히 손상된 로그 저장소에 의해 발생될 수 있는 작업 손실에 대한 허용 범위를 지원하기 위해 로그 백업을 충분히 자주 수행합니다.Take frequent enough log backups to support your business requirements, specifically your tolerance for work loss such as might be caused by a damaged log storage.

    • 로그 백업의 적절한 수행 빈도는 저장 및 관리는 물론 복원까지 가능할 수 있는 로그 백업의 횟수에 의해 조정되는 작업 손실 위험에 대한 허용 범위에 따라 달라집니다.The appropriate frequency for taking log backups depends on your tolerance for work-loss exposure balanced by how many log backups you can store, manage, and, potentially, restore. 복구 전략을 구현할 때 필요한 RTORPO, 특히 로그 백업 케이던스에 대해 생각해보세요.Think about the required RTO and RPO when implementing your recovery strategy, and specifically the log backup cadence.
    • 로그 백업에 걸리는 시간은 매 15분에서 30분이면 충분합니다.Taking a log backup every 15 to 30 minutes might be enough. 비즈니스에서 작업 손실 위험을 최소화하려는 경우에는 로그 백업을 더 자주 수행해야 합니다.If your business requires that you minimize work-loss exposure, consider taking log backups more frequently. 로그 백업 횟수가 많아지면 로그 잘림이 더 자주 발생하여 로그 파일의 크기가 작아지는 이점이 있습니다.More frequent log backups have the added advantage of increasing the frequency of log truncation, resulting in smaller log files.

중요

복원해야 하는 로그 백업의 수를 제한하려면 데이터를 정기적으로 백업해야 합니다.To limit the number of log backups that you need to restore, it is essential to routinely back up your data. 예를 들어 주별 전체 데이터베이스 백업과 일별 차등 데이터베이스 백업을 예약할 수 있습니다.For example, you might schedule a weekly full database backup and daily differential database backups.
또 복구 전략을 구현할 때 필요한 RTORPO, 특히 전체 및 차등 데이터베이스 백업 케이던스에 대해 생각해보세요.Again, think about the required RTO and RPO when implementing your recovery strategy, and specifically the full and differential database backup cadence.

관련 태스크Related Tasks

트랜잭션 로그 백업을 만들려면To create a transaction log backup

참고 항목See Also

트랜잭션 로그(SQL Server) The Transaction Log (SQL Server)
SQL Server 트랜잭션 로그 아키텍처 및 관리 가이드의 트랜잭션 로그 백업 Transaction Log Backups in the SQL Server Transaction Log Architecture and Management Guide
SQL Server 데이터베이스 백업 및 복원 Back Up and Restore of SQL Server Databases
비상 로그 백업(SQL Server) Tail-Log Backups (SQL Server)
트랜잭션 로그 백업 적용(SQL Server)Apply Transaction Log Backups (SQL Server)