차등 데이터베이스 백업 복원(SQL Server)

적용 대상:SQL Server

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 차등 데이터베이스 백업을 복원하는 방법을 설명합니다.

항목 내용

시작하기 전에

제한 사항

  • RESTORE는 명시적 또는 암시적 트랜잭션에서 사용할 수 없습니다.

  • 최신 버전의 SQL Server 로 만든 백업은 이전 버전의 SQL Server에서 복원할 수 없습니다.

  • SQL Server에서 SQL Server 2005(9.x) 이상 버전을 사용하여 만든 데이터베이스 백업에서 사용자 데이터베이스를 복원할 수 있습니다.

전제 조건

  • 전체 또는 대량 로그 복구 모델에서 데이터베이스를 복원하려면 먼저 활성 트랜잭션 로그(로그의 꼬리라고 함)를 백업해야 합니다. 자세한 내용은 트랜잭션 로그 백업(SQL Server)을 참조하세요.

보안

사용 권한

복원할 데이터베이스가 없으면 CREATE DATABASE 권한이 있어야 RESTORE를 실행할 수 있습니다. 데이터베이스가 있으면 RESTORE 권한은 기본적으로 sysadmindbcreator 고정 서버 역할의 멤버와 데이터베이스의 소유자(dbo)에 설정됩니다. FROM DATABASE_SNAPSHOT 옵션의 경우 데이터베이스가 항상 있습니다.

멤버 자격 정보를 서버에서 항상 사용할 수 있는 역할에 RESTORE 권한이 제공됩니다. 고정 데이터베이스 역할 멤버 자격은 데이터베이스에 액세스할 수 있고 손상되지 않은 경우에만 확인할 수 있으므로 RESTORE를 실행할 때 항상 그렇지는 않으므로 db_owner 고정 데이터베이스 역할의 멤버에는 RESTORE 권한이 없습니다.

SQL Server Management Studio 사용

차등 데이터베이스 백업을 복원하려면

  1. Microsoft SQL Server 데이터베이스 엔진의 적절한 인스턴스에 연결한 후 개체 탐색기에서 서버 이름을 클릭하여 서버 트리를 확장합니다.

  2. 데이터베이스를 확장합니다. 데이터베이스에 따라 사용자 데이터베이스를 선택하거나 시스템 데이터베이스를 확장한 다음 시스템 데이터베이스를 선택합니다.

  3. 데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업을 가리키고 복원가리킨 다음 데이터베이스를 클릭합니다.

  4. 일반 페이지에서 원본 섹션을 사용하여 복원할 백업 세트의 원본 및 위치를 지정합니다. 다음 옵션 중 하나를 선택합니다.

    • Database

      복원할 데이터베이스를 드롭다운 목록에서 선택합니다. 목록에는 msdb 백업 기록에 따라 백업된 데이터베이스만 포함됩니다.

    참고 항목

    백업이 다른 서버에서 가져온 경우 대상 서버에는 지정된 데이터베이스에 대한 백업 기록 정보가 없습니다. 이 경우 디바이스를 선택하여 수동으로 복원할 파일 또는 디바이스를 지정합니다.

    • 디바이스

      찾아보기(...) 단추를 클릭하여 백업 디바이스 선택 대화 상자를 엽니다. Backup 미디어 유형 상자에서 나열된 디바이스 유형 중 하나를 선택합니다. 백업 미디어 상자에 대해 하나 이상의 디바이스를 선택하려면 추가를 클릭합니다.

      백업 미디어 목록 상자에 원하는 디바이스를 추가한 후 확인을 클릭하여 일반 페이지로 돌아갑니다.

      원본: 디바이스: 데이터베이스 목록 상자에서 복원할 데이터베이스의 이름을 선택합니다.

      참고 이 목록은 디바이스를 선택한 경우에만 사용할 수 있습니다. 선택한 디바이스에 백업이 있는 데이터베이스만 사용할 수 있습니다.

  5. 대상 섹션의 데이터베이스 상자에는 복원할 데이터베이스의 이름이 자동으로 채워집니다. 데이터베이스 이름을 변경하려면 데이터베이스 상자에 새 이름을 입력합니다.

    참고 항목

    특정 시점에 복원을 중지하려면 타임라인을 클릭하여 백업 타임라인 대화 상자에 액세스 합니다. 특정 시점에 데이터베이스 복원을 중지하는 데 대한 도움말은 SQL Server 데이터베이스를 특정 시점으로 복원(전체 복구 모델)을 참조하세요.

  6. 복원에 사용할 백업 세트 표에서 차등 백업을 통해 복원할 백업을 선택합니다.

    그리드를 복원하기 위한 Backup 집합의 열에 대한 자세한 내용은 데이터베이스 복원(일반 페이지)을 참조하세요.

  7. [옵션] 페이지의 [복원] 옵션 패널에서 상황에 적합한 경우 다음 옵션 중 원하는 옵션을 선택할 수 있습니다.

    • 기존 데이터베이스 덮어쓰기(WITH REPLACE)

    • 복제 설정 유지(WITH KEEP_REPLICATION)

    • 각 백업 복원 전에 확인

    • 복원된 데이터베이스에 대한 액세스 제한(WITH RESTRICTED_USER)

    이러한 옵션에 대한 자세한 내용은 데이터베이스 복원(옵션 페이지)을 참조하세요.

  8. 복구 상태 상자에 대한 옵션을 선택합니다. 이 상자는 복원 작업 후 데이터베이스의 상태를 결정합니다.

    • RESTORE WITH RECOVERY 는 커밋되지 않은 트랜잭션을 롤백하여 데이터베이스를 사용할 준비가 된 상태로 두는 기본 동작입니다. 추가 트랜잭션 로그는 복원할 수 없습니다. 필요한 모든 백업을 지금 복원하는 경우 이 옵션을 선택합니다.

    • RESTORE WITH NORECOVERY 는 데이터베이스를 비작동 상태로 유지하고 커밋되지 않은 트랜잭션을 롤백하지 않습니다. 추가 트랜잭션 로그를 복원할 수 있습니다. 데이터베이스는 복구할 때까지 사용할 수 없습니다.

    • 데이터베이스를 읽기 전용 모드로 남겨 두는 RESTORE WITH STANDBY . 이 옵션은 커밋되지 않은 트랜잭션의 실행을 취소하지만, 복구 결과를 되돌릴 수 있도록 실행 취소 동작을 대기 파일에 저장합니다.

    옵션에 대한 설명은 데이터베이스 복원(옵션 페이지)을 참조하세요.

  9. 데이터베이스에 대한 활성 연결이 있는 경우 복원 작업이 실패합니다. 기존 연결 닫기 옵션을 선택하여 Management Studio와 데이터베이스 간의 모든 활성 연결이 닫혀 있는지 확인합니다.

  10. 각 복원 작업 간에 메시지가 표시되려면 각 백업을 복원하기 전에 프롬프트를 선택합니다. 데이터베이스가 크고 복원 작업의 상태를 모니터링하려는 경우가 아니면 일반적으로 필요하지 않습니다.

  11. 필요에 따라 파일 페이지를 사용하여 데이터베이스를 새 위치로 복원합니다. 데이터베이스 이동에 대한 도움말은 데이터베이스를 새 위치로 복원(SQL Server)을 참조하세요.

  12. 확인을 선택합니다.

Transact-SQL 사용

차등 데이터베이스 백업을 복원하려면

  1. NORECOVERY 절을 지정하여 RESTORE DATABASE 문을 실행하여 차등 데이터베이스 백업 전에 제공되는 전체 데이터베이스 백업을 복원합니다. 자세한 내용은 방법: 전체 백업 복원을 참조하세요.

  2. RESTORE DATABASE 문을 실행하여 차등 데이터베이스 백업을 복원합니다. 이때 다음을 지정합니다.

    • 차등 데이터베이스 백업이 적용되는 데이터베이스의 이름입니다.

    • 차등 데이터베이스 백업을 복원하는 백업 디바이스

    • 차등 데이터베이스 백업이 복원된 후 적용할 트랜잭션 로그 백업이 있는 경우 NORECOVERY 절입니다. 그렇지 않으면 RECOVERY 절을 지정합니다.

  3. 전체 또는 대량 로그 복구 모델을 사용하여 차등 데이터베이스 백업을 복원하면 차등 데이터베이스 백업이 완료된 시점으로 데이터베이스가 복원됩니다. 실패 지점으로 복구하려면 마지막 차등 데이터베이스 백업을 만든 후에 만든 모든 트랜잭션 로그 백업을 적용해야 합니다. 자세한 내용은 트랜잭션 로그 백업 적용(SQL Server)을 참조하세요.

예제(Transact-SQL)

A. 차등 데이터베이스 백업 복원

이 예제에서는 데이터베이스 및 데이터베이스의 차등 데이터베이스 백업을 복원합니다 MyAdvWorks .

-- Assume the database is lost, and restore full database,   
-- specifying the original full database backup and NORECOVERY,   
-- which allows subsequent restore operations to proceed.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH NORECOVERY;  
GO  
-- Now restore the differential database backup, the second backup on   
-- the MyAdvWorks_1 backup device.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH FILE = 2,  
   RECOVERY;  
GO  

B. 데이터베이스, 차등 데이터베이스, 트랜잭션 로그 백업 복원

이 예제에서는 데이터베이스, 차등 데이터베이스 및 데이터베이스의 트랜잭션 로그 백업을 복원합니다 MyAdvWorks .

-- Assume the database is lost at this point. Now restore the full   
-- database. Specify the original full database backup and NORECOVERY.  
-- NORECOVERY allows subsequent restore operations to proceed.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH NORECOVERY;  
GO  
-- Now restore the differential database backup, the second backup on   
-- the MyAdvWorks_1 backup device.  
RESTORE DATABASE MyAdvWorks  
   FROM MyAdvWorks_1  
   WITH FILE = 2,  
   NORECOVERY;  
GO  
-- Now restore each transaction log backup created after  
-- the differential database backup.  
RESTORE LOG MyAdvWorks  
   FROM MyAdvWorks_log1  
   WITH NORECOVERY;  
GO  
RESTORE LOG MyAdvWorks  
   FROM MyAdvWorks_log2  
   WITH RECOVERY;  
GO  

관련 작업

참고 항목

차등 백업(SQL Server)
RESTORE(Transact-SQL)