SQL Server 데이터베이스 백업 및 복원Back Up and Restore of SQL Server Databases

이 항목은 다음에 적용됩니다. 예SQL Server(2016부터 시작)아니요Azure SQL 데이터베이스아니요Azure SQL 데이터 웨어하우스아니요병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

이 항목에서는 SQL ServerSQL Server 데이터베이스 백업의 이점과 기본 백업 및 복원 용어에 대해 설명하고 SQL ServerSQL Server 에 대한 백업 및 복원 전략과 SQL ServerSQL Server 백업 및 복원을 위한 보안 고려 사항에 대해 소개합니다.This topic describes the benefits of backing up SQL ServerSQL Server databases, basic backup and restore terms, and introduces backup and restore strategies for SQL ServerSQL Server and security considerations for SQL ServerSQL Server backup and restore.

단계별 지침을 찾고 있나요?Looking for step by step instructions? 이 항목에서는 백업하는 방법에 대한 특정 단계를 제공하지 않습니다.This topic does not provide any specific steps for how to do a back up! 실제로 백업하는 방법을 확인하려면 이 페이지 아래로 스크롤하여 링크 섹션을 확인하세요. 백업 작업별로, SSMS를 사용할지 T-SQL을 사용할지에 따라 구성되어 있습니다.If you want to get right to actually backing up, scroll down this page to the links section, organized by backup tasks and whether you want to use SSMS or T-SQL.

SQL Server 백업 및 복원 구성 요소는 SQL ServerSQL Server 데이터베이스에 저장된 중요한 데이터를 보호하기 위한 필수 보호 방법을 제공합니다.The SQL Server backup and restore component provides an essential safeguard for protecting critical data stored in your SQL ServerSQL Server databases. 치명적인 데이터 손실 위험을 최소화하기 위해서는 데이터베이스를 정기적으로 백업하여 수정된 데이터를 유지해야 합니다.To minimize the risk of catastrophic data loss, you need to back up your databases to preserve modifications to your data on a regular basis. 백업 및 복원 전략을 적절하게 계획하면 다양한 오류로 인해 데이터베이스의 데이터가 손실되는 것을 방지할 수 있습니다.A well-planned backup and restore strategy helps protect databases against data loss caused by a variety of failures. 일련의 백업 복원과 데이터베이스 복구를 통해 전략을 테스트하여 재해에 효과적으로 대처할 수 있습니다.Test your strategy by restoring a set of backups and then recovering your database to prepare you to respond effectively to a disaster.

백업을 저장하기 위한 로컬 저장소 외에도 SQL Server는 Windows Azure Blob 저장소 서비스에 대한 백업과 복원도 지원합니다.In addition to local storage for storing the backups, SQL Server also supports backup to and restore from the Windows Azure Blob Storage Service. 자세한 내용은 Microsoft Azure Blob 저장소 서비스로 SQL Server 백업 및 복원을 참조하세요.For more information, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service. Microsoft Azure Blob 저장소 서비스를 사용하여 저장된 데이터베이스 파일의 경우 SQL Server 2016SQL Server 2016 은(는) 거의 즉시 백업 및 빠른 복원에 Azure 스냅숏을 사용하는 옵션을 제공합니다.For database files stored using the Microsoft Azure Blob storage service, SQL Server 2016SQL Server 2016 provides the option to use Azure snapshots for nearly instantaneous backups and faster restores. 자세한 내용은 Azure의 데이터베이스 파일에 대한 파일-스냅숏 백업을 참조하세요.For more information, see File-Snapshot Backups for Database Files in Azure.

백업 이유Why back up?

  • SQL ServerSQL Server 데이터베이스를 백업하고 백업에 대한 테스트 복원 절차를 실행한 다음 안전한 오프 사이트 위치에 백업을 저장하여 치명적인 데이터 손실을 방지할 수 있습니다.Backing up your SQL ServerSQL Server databases, running test restores procedures on your backups, and storing copies of backups in a safe, off-site location protects you from potentially catastrophic data loss. 백업은 데이터를 보호하는 유일한 방법입니다.Backing up is the only way to proctect your data.

    유효한 데이터베이스 백업을 사용하여 다음의 여러 오류로부터 데이터를 복구할 수 있습니다.With valid backups of a database, you can recover your data from many failures, such as:

    • 미디어 오류Media failure.

    • 사용자 오류(예: 실수로 테이블 삭제)User errors, for example, dropping a table by mistake.

    • 하드웨어 오류(예: 손상된 디스크 드라이브 또는 서버의 영구적 손실)Hardware failures, for example, a damaged disk drive or permanent loss of a server.

    • 자연 재해Natural disasters. Windows Azure Blob 저장소 서비스로 SQL Server 백업을 사용하면 온-프레미스 위치에 영향을 미치는 자연 재해가 발생할 경우에 사용할 오프사이트 백업을 온-프레미스 위치와 다른 영역에 만들 수 있습니다.By using SQL Server Backup to Windows Azure Blob storage service, you can create an off-site backup in a different region than your on-premises location, to use in the event of a natural disaster affecting your on-premises location.

  • 또한 데이터베이스 백업은 서버 간 데이터베이스 복사, Always On 가용성 그룹Always On availability groups 또는 데이터베이스 미러링 설정, 보관 등의 일상적인 관리 용도로 유용하게 사용할 수 있습니다.Additionally, backups of a database are useful for routine administrative purposes, such as copying a database from one server to another, setting up Always On 가용성 그룹Always On availability groups or database mirroring, and archiving.

백업 용어 설명Glossary of backup terms

백업 [동사]back up [verb]
데이터 또는 로그 레코드를 SQL ServerSQL Server 데이터베이스 또는 해당 트랜잭션 로그에서 백업 장치(예: 디스크)로 복사하여 데이터 백업 또는 로그 백업을 만들 수 있습니다.Copies the data or log records from a SQL ServerSQL Server database or its transaction log to a backup device, such as a disk, to create a data backup or log backup.

백업 [명사]backup [noun]
오류가 발생한 이후에 데이터를 복원 및 복구하는 데 사용할 수 있는 데이터 복사본입니다.A copy of data that can be used to restore and recover the data after a failure. 데이터베이스 백업을 사용하여 데이터베이스 복사본을 새 위치에 복원할 수도 있습니다.Backups of a database can also be used to restore a copy the database to a new location.

백업 장치backup device
SQL Server 백업이 기록되는 대상이자 백업을 복원하는 원본이 되는 디스크 또는 테이프 장치입니다.A disk or tape device to which SQL Server backups are written and from which they can be restored. SQL Server 백업은 Windows Azure Blob 저장소 서비스에 기록할 수도 있으며 백업 파일의 대상과 이름을 지정하기 위해 URL 형식이 사용됩니다.SQL Server backups can also be written to a Windows Azure Blob storage service, and URL format is used to specify the destination and the name of the backup file.. 자세한 내용은 Microsoft Azure Blob 저장소 서비스로 SQL Server 백업 및 복원을 참조하세요.For more information, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service.

백업 미디어backup media
하나 이상의 백업이 기록된 하나 이상의 테이프 또는 디스크 파일입니다.One or more tapes or disk files to which one or more backup have been written.

데이터 백업(data backup)data backup
전체 데이터베이스(데이터베이스 백업), 부분 데이터베이스(부분 백업) 또는 파일 집합이나 파일 그룹(파일 백업)의 데이터 백업입니다.A backup of data in a complete database (a database backup), a partial database ( a partial backup), or a set of data files or filegroups (a file backup).

데이터베이스 백업(database backup)database backup
데이터베이스 백업입니다.A backup of a database. 전체 데이터베이스 백업은 백업이 완료된 시점의 전체 데이터베이스를 나타냅니다.Full database backups represent the whole database at the time the backup finished. 차등 데이터베이스 백업은 가장 최근의 전체 데이터베이스 백업 이후에 데이터베이스에 수행된 변경 내용만 포함합니다.Differential database backups contain only changes made to the database since its most recent full database backup.

차등 백업(differential backup)differential backup
전체 또는 부분 데이터베이스, 데이터 파일 집합 또는 파일 그룹(차등 기반)에 대한 최신 전체 백업을 기반으로 하고, 해당 기준 이후에 변경된 데이터만 포함하는 데이터 백업입니다.A data backup that is based on the latest full backup of a complete or partial database or a set of data files or filegroups (the differential base) and that contains only the data that has changed since that base.

전체 백업(full backup)full backup
특정 데이터베이스나 파일 그룹 또는 파일 집합에 있는 모든 데이터와 그러한 데이터를 복구할 수 있을 만큼의 로그를 포함하는 데이터 백업입니다.A data backup that contains all the data in a specific database or set of filegroups or files, and also enough log to allow for recovering that data.

로그 백업(log backup)log backup
이전 로그 백업에서 백업되지 않은 모든 로그 레코드를 포함하는 트랜잭션 로그 백업입니다.A backup of transaction logs that includes all log records that were not backed up in a previous log backup. (전체 복구 모델)(full recovery model)

복구recover
데이터베이스를 안정적이고 일관된 상태로 되돌립니다.To return a database to a stable and consistent state.

recoveryrecovery
데이터베이스를 일관된 트랜잭션 상태로 가져오는 데이터베이스 시작 단계 또는 restore with recovery 단계입니다.A phase of database startup or of a restore with recovery that brings the database into a transaction-consistent state.

복구 모델recovery model
데이터베이스에서 트랜잭션 로그 유지 관리를 제어하는 데이터베이스 속성입니다.A database property that controls transaction log maintenance on a database. 사용할 수 있는 복구 모델은 3가지로 단순, 전체 및 대량 로그 복구 모델입니다.Three recovery models exist: simple, full, and bulk-logged. 데이터베이스의 복구 모델에 따라 백업 및 복원 요구 사항이 결정됩니다.The recovery model of database determines its backup and restore requirements.

복원(restore)restore
지정된 SQL ServerSQL Server 백업에서 지정된 데이터베이스로 모든 데이터 및 로그 페이지를 복사하고 기록된 변경 사항을 적용하여 데이터를 최신 상태로 전환함으로써 백업에 기록된 모든 트랜잭션을 롤포워드하는 다단계 프로세스입니다.A multi-phase process that copies all the data and log pages from a specified SQL ServerSQL Server backup to a specified database, and then rolls forward all the transactions that are logged in the backup by applying logged changes to bring the data forward in time.

백업 및 복원 전략Backup and restore strategies

데이터 백업 및 복원은 특정 환경에 맞게 사용자 지정되어야 하며 적절한 리소스도 마련되어야 합니다.Backing up and restoring data must be customized to a particular environment and must work with the available resources. 따라서 복구를 위해 백업 및 복원을 안정적으로 사용하려면 백업 및 복원 전략이 필요합니다.Therefore, a reliable use of backup and restore for recovery requires a backup and restore strategy. 잘 디자인된 백업 및 복원 전략은 사용자의 특정 비즈니스 요구 사항을 감안해 데이터 가용성을 극대화하고 데이터 손실을 최소화합니다.A well-designed backup and restore strategy maximizes data availability and minimizes data loss, while considering your particular business requirements.

중요!Important!

데이터베이스와 백업을 서로 다른 장치에 배치하세요. 그렇지 않으면 데이터베이스가 들어 있는 장치가 실패할 경우 백업을 사용할 수 없습니다. 데이터와 백업을 서로 다른 장치에 배치하면 백업 작성 및 데이터베이스의 프로덕션 사용에 대한 I/O 성능도 향상됩니다.Place the database and backups on separate devices. Otherwise, if the device containing the database fails, your backups will be unavailable. Placing the data and backups on separate devices also enhances the I/O performance for both writing backups and the production use of the database.

백업 및 복원 전략은 백업에 관련된 부분과 복원에 관련된 부분으로 이루어집니다.A backup and restore strategy contains a backup portion and a restore portion. 전략의 백업 관련 부분에서는 백업 유형 및 빈도, 백업에 필요한 하드웨어의 특성 및 속도, 백업 테스트 방법 및 백업 미디어 보관 위치 및 보관 방법(보안 고려 사항 포함)을 정의합니다.The backup part of the strategy defines the type and frequency of backups, the nature and speed of the hardware that is required for them, how backups are to be tested, and where and how backup media is to be stored (including security considerations). 전략의 복원 관련 부분에서는 누가 복원을 담당할 것이며 어떻게 데이터베이스 가용성 목표를 충족시키고 데이터 손실을 최소화할 것인가를 정의합니다.The restore part of the strategy defines who is responsible for performing restores and how restores should be performed to meet your goals for availability of the database and for minimizing data loss. 백업 및 복원 절차를 문서화하고 실행 문서에 사본을 보관하는 것이 좋습니다.We recommend that you document your backup and restore procedures and keep a copy of the documentation in your run book.

효과적인 백업 및 복원 전략 설계를 위해서는 신중한 계획, 구현 및 테스트가 필요합니다.Designing an effective backup and restore strategy requires careful planning, implementation, and testing. 테스트는 반드시 필요합니다.Testing is required. 복원 전략에 포함된 모든 조합의 백업을 성공적으로 복원해야만 백업 전략을 갖추게 됩니다.You do not have a backup strategy until you have successfully restored backups in all the combinations that are included in your restore strategy. 다음과 같은 다양한 요소를You must consider a variety of factors. 여기에는 다음과 같은 옵션이 포함됩니다.These include the following:

  • 데이터베이스에 대한 사용자 조직의 생산성 목표(특히 가용성 및 데이터 손실 방지 요구 사항)The production goals of your organization for the databases, especially the requirements for availability and protection of data from loss.

  • 크기, 사용 패턴, 내용의 특성, 데이터 요구 사항 등과 같은 각 데이터베이스의 특성The nature of each of your databases: its size, its usage patterns, the nature of its content, the requirements for its data, and so on.

  • 하드웨어, 인력, 백업 미디어 저장 공간, 저장된 미디어의 물리적 보안 등과 같은 리소스의 제약 요건Constraints on resources, such as: hardware, personnel, space for storing backup media, the physical security of the stored media, and so on.

백업 및 복원에 대한 복구 모델의 영향Impact of the recovery model on backup and restore

백업 및 복원 작업은 복구 모델의 컨텍스트에서 수행됩니다.Backup and restore operations occur within the context of a recovery model. 복구 모델은 트랜잭션 로그의 관리 방법을 제어하는 데이터베이스 속성입니다.A recovery model is a database property that controls how the transaction log is managed. 또한 데이터베이스의 복구 모델은 데이터베이스에 지원되는 복원 시나리오 및 백업 유형을 결정합니다.Also, the recovery model of a database determines what types of backups and what restore scenarios are supported for the database. 일반적으로 데이터베이스는 단순 복구 모델 또는 전체 복구 모델 모두 사용합니다.Typically a database uses either the simple recovery model or the full recovery model. 전체 복구 모델은 대량 작업 이전에 대량 로그 복구 모델로 전환하여 보완될 수 있습니다.The full recovery model can be supplemented by switching to the bulk-logged recovery model before bulk operations. 이러한 복구 모델 및 이러한 복구 모델이 트랜잭션 로그 관리에 미치는 영향에 대한 자세한 내용은 트랜잭션 로그(SQL Server)를 참조하세요.For an introduction to these recovery models and how they affect transaction log management, see The Transaction Log (SQL Server)

데이터베이스에 가장 적합한 복구 모델은 비즈니스 요구 사항에 따라 달라집니다.The best choice of recovery model for the database depends on your business requirements. 트랜잭션 로그 관리를 방지하고 백업 및 복원을 단순화하려면 단순 복구 모델을 사용하십시오.To avoid transaction log management and simplify backup and restore, use the simple recovery model. 관리 오버헤드가 증가하더라도 작업 손실 가능성을 최소화하려면 전체 복구 모델을 사용하십시오.To minimize work-loss exposure, at the cost of administrative overhead, use the full recovery model. 백업 및 복원에 미치는 복구 모델의 영향에 대한 자세한 내용은 백업 개요(SQL Server)을 참조하세요.For information about the effect of recovery models on backup and restore, see Backup Overview (SQL Server).

백업 전략 디자인Design your backup strategy

지정한 데이터베이스에 대해 비즈니스 요구 사항에 맞는 복구 모델을 선택한 후에는 해당 백업 전략을 계획 및 구현해야 합니다.After you have selected a recovery model that meets your business requirements for a specific database, you have to plan and implement a corresponding backup strategy. 백업 전략을 최적화하는 요소는 다양합니다. 그 중에서도 특히 다음과 같은 요소에 의해 주로 영향을 받습니다.The optimal backup strategy depends on a variety of factors, of which the following are especially significant:

  • 응용 프로그램이 하루에 몇 시간 데이터베이스에 액세스해야 합니까?How many hours a day do applications have to access the database?

    사용량이 적은 기간을 예측할 수 있는 경우 해당 기간에 전체 데이터베이스 백업을 예약하는 것이 좋습니다.If there is a predictable off-peak period, we recommend that you schedule full database backups for that period.

  • 얼마나 자주 변경과 업데이트가 발생합니까?How frequently are changes and updates likely to occur?

    자주 변경하는 경우 다음을 고려하십시오.If changes are frequent, consider the following:

    • 단순 복구 모델에서는 전체 데이터베이스 백업 사이에 차등 백업을 예약하십시오.Under the simple recovery model, consider scheduling differential backups between full database backups. 차등 백업은 마지막 전체 데이터베이스 백업 이후의 변경 내용만 캡처합니다.A differential backup captures only the changes since the last full database backup.

    • 전체 복구 모델에서는 자주 로그 백업을 예약해야 합니다.Under the full recovery model, you should schedule frequent log backups. 전체 백업 사이에 차등 백업을 예약하면 데이터를 복원한 후 복원해야 하는 로그 백업 수가 감소하므로 복원 시간이 줄어들 수 있습니다.Scheduling differential backups between full backups can reduce restore time by reducing the number of log backups you have to restore after restoring the data.

  • 변경이 데이터베이스의 일부분에서만 발생합니까? 아니면 데이터베이스의 대부분에서 발생합니까?Are changes likely to occur in only a small part of the database or in a large part of the database?

    변경 내용이 파일 또는 파일 그룹의 일부분에만 집중되어 있는 큰 데이터베이스의 경우 부분 백업이나 파일 백업이 유용할 수 있습니다.For a large database in which changes are concentrated in a part of the files or filegroups, partial backups and or file backups can be useful. 자세한 내용은 부분 백업(SQL Server)전체 파일 백업(SQL Server)을 참조하세요.For more information, see Partial Backups (SQL Server) and Full File Backups (SQL Server).

  • 전체 데이터베이스 백업에 필요한 디스크 공간은 어느 정도입니까?How much disk space will a full database backup require?

    전체 데이터베이스 백업의 크기 예측Estimate the size of a full database backup

    백업 및 복원을 구현하기 전에 전체 데이터베이스 백업에 어느 정도의 디스크 공간이 필요한지 예측해야 합니다.Before you implement a backup and restore strategy, you should estimate how much disk space a full database backup will use. 백업 작업은 데이터베이스의 데이터를 백업 파일로 복사합니다.The backup operation copies the data in the database to the backup file. 백업에는 데이터베이스의 실제 데이터만 포함되고 사용하지 않은 공간은 포함되지 않습니다.The backup contains only the actual data in the database and not any unused space. 따라서 백업은 일반적으로 데이터베이스 자체의 크기보다 작습니다.Therefore, the backup is usually smaller than the database itself. sp_spaceused 시스템 저장 프로시저를 사용하여 전체 데이터베이스 백업의 크기를 예측할 수 있습니다.You can estimate the size of a full database backup by using the sp_spaceused system stored procedure. 자세한 내용은 sp_spaceused(Transact-SQL)를 참조하세요.For more information, see sp_spaceused (Transact-SQL).

백업 예약Schedule backups

백업 작업을 수행해도 실행 중인 트랜잭션에는 큰 영향을 미치지 않으므로 일반 작업을 수행할 때도 백업 작업을 실행할 수 있습니다.Performing a backup operation has minimal effect on transactions that are running; therefore, backup operations can be run during regular operations. 프로덕션 작업에 거의 영향을 주지 않고 SQL ServerSQL Server 백업을 수행할 수 있습니다.You can perform a SQL ServerSQL Server backup with minimal effect on production workloads.

백업 중 동시성 제한 사항에 대한 자세한 내용은 백업 개요(SQL Server)을 참조하세요.For information about concurrency restrictions during backup, see Backup Overview (SQL Server).

각 경우에 필요한 백업 유형과 수행 빈도를 결정한 후 데이터베이스 유지 관리 계획의 일부로 데이터베이스에 대한 정기 백업을 예약하는 것이 좋습니다.After you decide what types of backups you require and how frequently you have to perform each type, we recommend that you schedule regular backups as part of a database maintenance plan for the database. 유지 관리 계획에 대한 정보와 데이터베이스 백업 및 로그 백업에 대한 유지 관리 계획을 만드는 방법은 Use the Maintenance Plan Wizard를 참조하십시오.For information about maintenance plans and how to create them for database backups and log backups, see Use the Maintenance Plan Wizard.

백업 테스트Test your backups!

백업을 테스트해야만 복원 전략을 갖추게 됩니다.You do not have a restore strategy until you have tested your backups. 데이터베이스 복사본을 테스트 시스템으로 복원하여 각 데이터베이스에 대한 백업 전략을 철저히 테스트하는 것이 중요합니다.It is very important to thoroughly test your backup strategy for each of your databases by restoring a copy of the database onto a test system. 사용할 모든 유형의 백업 복원을 테스트해야 합니다.You must test restoring every type of backup that you intend to use.

각 데이터베이스에 대한 작업 매뉴얼을 작성하여 관리하는 것이 좋습니다.We recommend that you maintain an operations manual for each database. 이 작업 매뉴얼에는 백업 위치, 백업 장치 이름(있는 경우) 및 테스트 백업을 복원하는 데 필요한 시간 등이 수록되어야 합니다.This operations manual should document the location of the backups, backup device names (if any), and the amount of time that is required to restore the test backups.

백업 태스크에 대한 자세한 정보More about backup tasks

백업 장치 및 백업 미디어 사용Working with backup devices and backup media

백업 만들기Creating backups

참고!Note! 부분 또는 복사 전용 백업의 경우 각각 PARTIAL 또는 COPY_ONLY 옵션과 함께 Transact-SQLTransact-SQLBACKUP 문을 사용해야 합니다.For partial or copy-only backups, you must use the Transact-SQLTransact-SQLBACKUP statement with the PARTIAL or COPY_ONLY option, respectively.

SSMS 사용Using SSMS

데이터 백업 복원Restore data backups

SSMS 사용Using SSMS

T-SQL 사용Using T-SQL

트랜잭션 로그 복원(전체 복구 모델)Restore transaction logs (Full Recovery Model)

SSMS 사용Using SSMS

자세한 정보 및 리소스More information and resources

백업 개요(SQL Server) Backup Overview (SQL Server)
복원 및 복구 개요(SQL Server) Restore and Recovery Overview (SQL Server)
BACKUP(Transact-SQL) BACKUP (Transact-SQL)
RESTORE(Transact-SQL) RESTORE (Transact-SQL)
Analysis Services 데이터베이스 백업 및 복원 Backup and Restore of Analysis Services Databases
전체 텍스트 카탈로그와 인덱스 백업 및 복원 Back Up and Restore Full-Text Catalogs and Indexes
복제된 데이터베이스 백업 및 복원 Back Up and Restore Replicated Databases
트랜잭션 로그(SQL Server) The Transaction Log (SQL Server)
복구 모델(SQL Server) Recovery Models (SQL Server)
미디어 세트, 미디어 패밀리 및 백업 세트(SQL Server) Media Sets, Media Families, and Backup Sets (SQL Server)