온라인 복원(SQL Server)

적용 대상:SQL Server

온라인 복원은 SQL Server Enterprise 버전에서만 지원됩니다. 이 버전에서는 파일, 페이지 또는 증분 복원이 기본적으로 온라인 상태입니다. 이 항목은 여러 파일 또는 파일 그룹이 포함된 데이터베이스와 관련이 있습니다(단순 복구 모델에서는 읽기 전용 파일 그룹에만 해당).

데이터베이스가 온라인 상태인 데이터 복원을 온라인 복원이라고 합니다. 데이터베이스는 하나 이상의 보조 파일 그룹이 오프라인 상태인 경우에도 주 파일 그룹이 온라인 상태일 때마다 온라인 상태로 간주됩니다. 모든 복구 모델에서 데이터베이스가 온라인 상태일 때 오프라인 상태인 파일을 복원할 수 있습니다. 전체 복구 모델에서 데이터베이스가 온라인 상태인 동안 페이지를 복원할 수도 있습니다.

참고 항목

온라인 복원은 SQL Server Enterprise에서 자동으로 수행되며 사용자 작업이 필요하지 않습니다. 온라인 복원을 사용하지 않으려면 복원을 시작하기 전에 데이터베이스를 오프라인 상태로 만듭니다. 자세한 내용은 이 항목의 뒷부분에 있는 데이터베이스 또는 파일을 오프라인으로 전환하세요.

온라인 파일을 복원하는 동안 복원되는 모든 파일과 해당 파일 그룹은 오프라인 상태입니다. 온라인 복원이 시작될 때 이러한 파일이 온라인 상태이면 첫 번째 복원 문은 파일의 파일 그룹을 오프라인으로 전환합니다. 반면 온라인 페이지 복원 중에는 페이지만 오프라인 상태입니다.

모든 온라인 복원 시나리오에는 다음과 같은 기본 단계가 포함됩니다.

  1. 데이터를 복원합니다.

  2. 마지막 로그 복원에 WITH RECOVERY를 사용하여 로그를 복원합니다. 그러면 복원된 데이터가 온라인으로 표시됩니다.

경우에 따라 롤백에 필요한 데이터가 시작 중에 오프라인 상태이므로 커밋되지 않은 트랜잭션을 롤백할 수 없습니다. 이 경우 트랜잭션이 지연됩니다. 자세한 내용은 지연 트랜잭션(SQL Server)을 참조하세요.

참고 항목

데이터베이스가 현재 대량 로그 복구 모델을 사용하는 경우 온라인 복원을 시작하기 전에 전체 복구 모델로 전환하는 것이 좋습니다. 자세한 내용은 데이터베이스 복구 모델 보기 또는 변경(SQL Server)을 참조하세요.

Important

서버에 연결된 여러 디바이스에서 백업을 수행한 경우 온라인 복원 중에 동일한 수의 디바이스를 사용할 수 있어야 합니다.

주의

스냅샷 백업을 사용하여 Online Restore을 수행할 수 없습니다. 스냅샷 백업에 대한 자세한 내용은 Azure의 데이터베이스 파일에 대한 파일-스냅샷 백업을 참조하세요.

온라인 복원을 위한 로그 백업

온라인 복원에서 복구 지점은 복원 중인 데이터가 오프라인으로 전환되었거나 마지막으로 읽기 전용으로 만들어진 지점입니다. 이 복구 지점을 포함하여 이 지점까지의 트랜잭션 로그 백업은 모두 사용할 수 있어야 합니다. 일반적으로 파일의 복구 지점을 포함하려면 해당 지점 이후에 로그 백업이 필요합니다. 유일한 예외는 데이터가 읽기 전용이 된 후 수행된 데이터 백업에서 읽기 전용 데이터를 온라인으로 복원하는 동안입니다. 이 경우 로그 백업을 가질 필요가 없습니다.

일반적으로 데이터베이스가 온라인 상태에서 복원 시퀀스가 시작된 후에도 트랜잭션 로그 백업을 수행할 수 있습니다. 마지막 로그 백업의 타이밍은 복원되는 파일의 속성에 따라 달라집니다.

  • 온라인 읽기 전용 파일의 경우 첫 번째 복원 시퀀스 전이나 중에 복구에 필요한 마지막 로그 백업을 수행할 수 있습니다. 파일 그룹이 읽기 전용이 된 후 데이터 또는 차등 백업이 수행된 경우 읽기 전용 파일 그룹에 로그 백업이 필요하지 않을 수 있습니다.

    참고 항목

    앞의 정보는 모든 오프라인 파일에도 적용됩니다.

  • 첫 번째 복원 문이 실행되었을 때 온라인 상태였던 읽기/쓰기 파일에 대한 특별한 사례가 있으며 해당 복원 문에 의해 자동으로 오프라인 상태가 됩니다. 이 경우 반드시 첫 번째 복원 순서 (데이터를 복원, 롤포워드 및 복구하는 하나 이상의 RESTORE 문의 순서) 중에 로그 백업을 수행해야 합니다. 일반적으로 이 로그 백업은 모든 전체 백업을 복원한 후 데이터를 복구하기 전에 수행해야 합니다. 그러나 특정 파일 그룹에 대한 여러 파일 백업이 있는 경우 최소 로그 백업 지점은 파일 그룹이 오프라인 상태인 후의 시간입니다. 이 데이터 복원 후 로그 백업은 파일이 오프라인으로 전환된 지점을 캡처합니다. SQL Server 데이터베이스 엔진은 온라인 복원에 온라인 로그를 사용할 수 없으므로 데이터 복원 후 로그 백업이 필요합니다.

    참고 항목

    또는 복원 시퀀스 전에 수동으로 파일을 오프라인으로 전환할 수 있습니다. 자세한 내용은 이 항목의 뒷부분에 나오는 "데이터베이스 또는 파일을 오프라인 상태로 만들기"를 참조하세요.

데이터베이스 또는 파일을 오프라인으로 전환

온라인 복원을 사용하지 않으려면 다음 방법 중 하나를 사용하여 복원 시퀀스를 시작하기 전에 데이터베이스를 오프라인으로 전환할 수 있습니다.

  • 복구 모델에서 다음 ALTER DATABASE 문을 사용하여 데이터베이스를 오프라인 상태로 만들 수 있습니다.

    ALTER DATABASE database_name SET OFFLINE

  • 또는 전체 복구 모델에서 다음 BACKUP LOG 문을 사용하여 데이터베이스를 복원 상태로 전환하여 파일 또는 페이지 복원을 강제로 오프라인 상태로 만들 수 있습니다.

    NORECOVERY를 사용하여 백업 로그 database_name .

데이터베이스가 오프라인으로 유지되는 한 모든 복원은 오프라인 복원입니다.

참고 항목

온라인 복원 시퀀스의 구문은 오프라인 복원 시퀀스와 동일합니다.

관련 작업

참고 항목

파일 복원(전체 복구 모델)
파일 복원(단순 복구 모델)
페이지 복원(SQL Server)
증분 복원(SQL Server)
복원 및 복구 개요(SQL Server)