차등 백업(SQL Server)Differential Backups (SQL Server)

이 백업 및 복원 항목은 모든 SQL ServerSQL Server 데이터베이스에 관련됩니다.This backup and restore topic is relevant for all SQL ServerSQL Server databases.

차등 백업은 가장 최근에 수행한 이전의 전체 데이터 백업을 기반으로 합니다.A differential backup is based on the most recent, previous full data backup. 차등 백업은 전체 백업 이후 변경된 데이터만 캡처합니다.A differential backup captures only the data that has changed since that full backup. 차등 백업의 기반이 되는 전체 백업을 차등의 기반 이라고 합니다.The full backup upon which a differential backup is based is known as the base of the differential. 복사 전용 백업을 제외한 전체 백업은 데이터베이스 백업, 부분 백업 및 파일 백업을 포함한 일련의 차등 백업에 대한 기반으로 사용할 수 있습니다.Full backups, except for copy-only backups, can serve as the base for a series of differential backups, including database backups, partial backups, and file backups. 파일 차등 백업에 대한 기반 백업은 전체 백업, 파일 백업 또는 부분 백업에 포함될 수 있습니다.The base backup for a file differential backup can be contained within a full backup, a file backup, or a partial backup.

이점 Benefits

  • 차등 백업 만들기는 전체 백업 만들기에 비해 매우 빠를 수 있습니다.Creating a differential backups can be very fast compared to creating a full backup. 차등 백업은 차등 백업의 기반이 되는 전체 백업 이후 변경된 데이터만 기록합니다.A differential backup records only the data that has changed since the full backup upon the differential backup is based. 따라서 데이터 손실의 위험을 줄이면서 빈번한 데이터 백업을 간편하게 수행할 수 있습니다.This facilitates taking frequent data backups, which decrease the risk of data loss. 하지만 차등 백업을 복원하기 전에 기반을 복원해야 합니다.However, before you restore a differential backup, you must restore its base. 따라서 차등 백업에서 복원할 경우 두 개의 백업 파일이 필요하기 때문에 전체 백업에서 복원할 때보다 더 많은 단계가 필요하며 더 오랜 시간이 걸립니다.Therefore restoring from a differential backup will necessarily take more steps and time than restoring from a full backup because two backup files are required.

  • 차등 데이터베이스 백업은 특히 데이터베이스 하위 집합이 나머지 데이터베이스보다 자주 수정되는 경우에 유용합니다.Differential database backups are especially useful if a subset of a database is modified more frequently than the rest of the database. 이런 경우 차등 데이터베이스 백업을 사용하면 전체 데이터베이스 백업의 오버헤드를 발생시키지 않고 자주 백업할 수 있습니다.In these cases, differential database backups enable you back up frequently without the overhead of full database backups.

  • 전체 복구 모델에서 차등 백업을 사용하면 복원해야 하는 로그 백업의 수를 줄일 수 있습니다.Under the full recovery model, using differential backups can reduce the number of log backups that you have to restore.

차등 백업 개요 Overview of Differential Backups

차등 백업은 차등 기반을 만든 시간과 차등 백업을 만든 시간 사이에 변경된 익스텐트 (실제로 연속하는 8페이지의 컬렉션)의 상태를 캡처합니다.A differential backup captures the state of any extents (collections of eight physically contiguous pages) that have changed between when the differential base was created and the when differential backup is created. 따라서 특정 차등 백업의 크기는 기반 이후 변경된 데이터의 양에 따라 다릅니다.This means that the size of a given differential backup depends on the amount of data that has changed since the base. 대체로 기반이 오래된 것일수록 새 차등 백업의 크기가 커집니다.Generally, the older a base is, the larger a new differential backup will be. 일련의 차등 백업에서 자주 업데이트된 익스텐트는 각 차등 백업에 다른 데이터를 포함할 수 있습니다.In a series of differential backups, a frequently updated extent is likely to contain different data in each differential backup.

다음 그림에서는 차등 백업의 작동 방식을 보여 줍니다.The following illustration shows how a differential backup works. 이 그림에서는 표시된 24개의 데이터 익스텐트 중 6개가 변경되었으며The figure shows 24 data extents, 6 of which have changed. 차등 백업은 이들 6개의 데이터 익스텐트만 포함합니다.The differential backup contains only these 6 data extents. 차등 백업 작업은 각 익스텐트에 대해 하나의 비트가 포함된 비트맵 페이지를 사용합니다.The differential backup operation relies on a bitmap page that contains a bit for every extent. 기반 이후 업데이트된 익스텐트의 경우 비트맵의 해당 비트가 1로 설정됩니다.For each extent updated since the base, the bit is set to 1 in the bitmap.

차등 비트맵에서 변경된 익스텐트 식별Differential bitmap identifies changed extents

참고

복사 전용 백업은 차등 비트맵을 업데이트하지 않습니다.The differential bitmap is not updated by a copy-only backup. 따라서 후속 차등 백업에 영향을 주지 않습니다.Therefore, a copy-only backup does not affect subsequent differential backups.

생성된 기반 이후 오래 지나지 않아 수행된 차등 백업은 차등 기반보다 크기가 훨씬 작기 때문에A differential backup that is taken fairly soon after its base is usually significantly smaller than the differential base. 저장 공간과 백업 시간이 절약됩니다.This saves storage space and backup time. 그러나 시간이 지남에 따라 데이터베이스가 변경되면서 데이터베이스와 지정된 차등 기반 간의 차이가 커집니다.However, as a database changes over time, the difference between the database and a specific differential base increases. 차등 백업과 해당 기반 사이의 간격이 길수록 차등 백업이 더 커집니다.The longer the time between a differential backup and its base, the larger the differential backup is likely to be. 즉, 차등 백업의 크기가 결국 차등 기반과 비슷해질 수 있습니다.This means that the differential backups can eventually approach the differential base in size. 차등 백업이 크면 더 빠르고 작은 백업으로서의 장점이 사라집니다.A large differential backup loses the advantages of a faster and smaller backup.

차등 백업의 크기가 커질수록 차등 백업을 복원할 때 데이터베이스 복원 시간이 훨씬 길어질 수 있습니다.As the differential backups increase in size, restoring a differential backup can significantly increase the time that is required to restore a database. 따라서 새 전체 백업을 지정된 간격으로 수행하여 데이터의 새 차등 기반을 설정하는 것이 좋습니다.Therefore, we recommend that you take a new full backup at set intervals to establish a new differential base for the data. 예를 들어 전체 데이터베이스의 전체 백업(즉, 전체 데이터베이스 백업)을 매주 수행하고 주중에 일련의 정기적인 차등 데이터베이스 백업을 수행할 수 있습니다.For example, you might take a weekly full backup of the whole database (that is, a full database backup) followed by a regular series of differential database backups during the week.

복원 시 차등 백업을 복원하기 전에 먼저 기반을 복원해야 합니다.At restore time, before you restore a differential backup, you must restore its base. 그런 다음 가장 최근의 차등 백업만 복원하면 데이터베이스를 차등 백업이 생성된 시점까지 복구할 수 있습니다.Then, restore only the most recent differential backup to bring the database forward to the time when that differential backup was created. 일반적으로 가장 최근의 전체 백업을 복원한 후 해당 전체 백업을 기반으로 하는 가장 최근의 차등 백업을 복원합니다.Typically, you would restore the most recent full backup followed by the most recent differential backup that is based on that full backup.

메모리 액세스에 최적화된 테이블이 있는 데이터베이스의 차등 백업Differential Backups of Databases with Memory-Optimized Tables

차등 백업 및 메모리 액세스에 최적화된 테이블이 있는 데이터베이스에 대한 자세한 내용은 메모리 액세스에 최적화된 테이블이 포함된 데이터베이스 백업을 참조하세요.For information about differential backups and databases with memory-optimized tables, see Backing Up a Database with Memory-Optimized Tables.

읽기 전용 데이터베이스의 차등 백업 Differential Backups of Read-Only Databases

읽기 전용 데이터베이스의 경우 차등 백업과 함께 사용하는 것보다는 전체 백업만 사용하는 것이 관리하기 쉽습니다.For read-only databases, full backups used alone are easier to manage than when they are used with differential backups. 데이터베이스가 읽기 전용일 때는 백업 및 기타 작업을 하더라도 파일에 포함된 메타데이터를 변경할 수 없습니다.When a database is read-only, backup and other operations cannot change the metadata that is contained in the file. 따라서 차등 백업이 시작되는 로그 시퀀스 번호(차등 기반 LSN)와 같이 차등 백업에 필요한 메타데이터는 master 데이터베이스에 저장됩니다.Therefore, metadata that is required by a differential backup, such as the log sequence number at which the differential backup begins (the differential base LSN) is stored in the master database. 차등 기반은 데이터베이스가 읽기 전용인 경우 수행되며 차등 비트맵은 기반 백업 이후에 실제로 발생되는 변경 내용보다 많은 변경 내용을 나타냅니다.If the differential base is taken when the database is read-only, the differential bitmap indicates more changes than have actually occurred since the base backup. backupset 시스템 테이블에 저장된 differential_base_lsn 은 데이터가 실제로 기반 백업 이후에 변경되었는지 여부를 결정하는 데 사용되므로 추가 데이터를 백업에서 읽지만 백업에 쓸 수는 없습니다.The extra data is read by backup, but is not written to the backup, because the differential_base_lsn stored in the backupset system table is used to determine whether the data has actually changed since the base.

읽기 전용 데이터베이스를 다시 작성하고 다시 저장하거나 분리 또는 연결하는 경우 차등 기반 정보는 손실됩니다.When a read-only database is rebuilt, restored, or detached and attached, the differential-base information is lost. master 데이터베이스가 사용자 데이터베이스와 함께 동기화되지 않으므로 이러한 상황이 발생합니다.This occurs because the master database is not synchronized with the user database. SQL Server 데이터베이스 엔진SQL Server Database Engine 은 이 문제를 감지하거나 방지하지 못하므로The SQL Server 데이터베이스 엔진SQL Server Database Engine cannot detect or prevent this problem. 이후 모든 차등 백업은 가장 최근의 전체 백업을 기반으로 하지 않게 되고 따라서 결과를 예상할 수 없게 됩니다.Any later differential backups are not based on the most recent full backup and could provide unexpected results. 새 차등 기반을 설정하려면 전체 데이터베이스 백업을 만드는 것이 좋습니다.To establish a new differential base, we recommend that you create a full database backup.

읽기 전용 데이터베이스에 차등 백업을 사용하기 위한 최상의 방법Best Practices for Using Differential Backups with a Read-Only Database

읽기 전용 데이터베이스의 전체 데이터베이스 백업을 만든 다음 후속 차등 백업을 만들려면 master 데이터베이스를 백업합니다.After you create a full database backup of a read-only database, if you intend to create a subsequent differential backup, back up the master database.

master 데이터베이스가 손실된 경우 우선 이것을 복원한 후에 사용자 데이터베이스의 차등 백업을 복원합니다.If the master database is lost, restore it before you restore any differential backup of a user database.

나중에 차등 백업을 사용하려는 읽기 전용 데이터베이스를 분리 및 연결하는 경우 가능한 빨리 읽기 전용 데이터베이스와 master 데이터베이스의 전체 데이터베이스 백업을 수행합니다.If you detach and attach a read-only database for which you plan to later use differential backups, as soon as it is practical, take a full database backup of both the read-only database and of the master database.

참고 항목See Also

백업 개요(SQL Server) Backup Overview (SQL Server)
전체 데이터베이스 백업(SQL Server) Full Database Backups (SQL Server)
전체 데이터베이스 복원(전체 복구 모델) Complete Database Restores (Full Recovery Model)
전체 데이터베이스 복원(단순 복구 모델) Complete Database Restores (Simple Recovery Model)
트랜잭션 로그 백업(SQL Server) Transaction Log Backups (SQL Server)