롤포워드 중 추가된 파일의 생성 제어

일반적으로 전체 백업 후 파일 및 파일 그룹의 변경은 명시적으로 제어됩니다. 파일 그룹의 마지막 백업 후 데이터베이스에 파일을 추가한 경우 데이터베이스를 복원할 때 이 파일을 유지하는 가장 쉬운 방법은 복원된 데이터베이스의 모든 파일을 복원 과정에서 자동으로 다시 만들도록 하는 것입니다. 하지만 이렇게 하면 영향을 받지 않은 읽기 전용 파일 역시 불필요하게 다시 생성될 수 있습니다. 알려진 일부 문제를 해결하기 위해 복원 기능을 사용하는 경우 문제가 있는 파일만 복원함으로써 복원 성능을 최적화할 수 있습니다.

[!참고]

SQL Server 데이터베이스 엔진이 삭제할 것으로 예상되는 파일이 포함된 백업을 복원하는 경우 SQL Server 데이터베이스 엔진은 해당 파일에 대한 데이터 복사와 다시 실행 단계를 생략합니다. 이러한 단계에 대한 자세한 내용은 SQL Server에서의 백업 복원 및 복구 작동 방법 이해를 참조하십시오.

복원 작업으로 파일이 만들어질지 여부는 RESTORE DATABASE 문에 파일이나 페이지를 지정했는가에 따라 다음과 같이 달라집니다.

  • 특정 파일이나 페이지를 지정하지 않은 경우

    일반적인 시나리오입니다. 데이터베이스에 파일을 추가한 로그 항목을 발견하면 복원이 자동으로 해당 파일을 만들어 롤포워드 세트에 추가합니다. 정확한 동작은 RESTORE DATABASE 문에 파일 그룹을 지정했는가 여부에 따라 달라집니다. 파일 그룹을 지정하지 않으면 모든 새 파일이 생성되어 롤포워드 세트에 추가됩니다. 파일 그룹을 지정하면 파일이 지정된 파일 그룹에 속하는 경우에만 새 파일이 생성되고 롤포워드 세트에 추가됩니다.

    최상의 방법: 대부분 복원 작업의 경우 로그 트랜잭션에 의해 생성된 파일들이 자동으로 다시 생성될 수 있도록 특정 파일을 나열하지 않는 것이 좋습니다.

  • 특정 파일이나 페이지를 지정한 경우

    RESTORE DATABASE 문에서 특정 파일이나 페이지를 나열하여 정확한 롤포워드 세트를 정의합니다. 파일이나 페이지를 나열하면 복원 작업은 해당 지침에 따라 이들 항목만 복원합니다.

    나열되지 않은 파일들은 문제가 없는 것으로 간주되어 로그에서 생성되지 않습니다. 따라서 파일 추가 작업이 포함되어 있는 로그 백업을 복원할 때는 추가된 파일 이름을 RESTORE 문에 반드시 지정해야 합니다.

이 항목의 나머지 부분에서는 파일 추가 작업이 포함되어 있는 파일을 확인하는 방법과 복원 시퀀스 중에 이 파일들을 다시 만드는 방법에 대해 설명합니다.

파일 추가 작업이 포함된 로그 파일 확인

다음과 같은 방법으로 파일 추가 작업이 포함되어 있는 로그 파일이 어떤 것인지 확인할 수 있습니다.

  • 파일 생성 LSN(create_lsn)을 사용합니다. 이 LSN은 sys.database_filessys.master_files 카탈로그 뷰에서 사용할 수 있습니다.

  • msdb의 백업 기록 테이블 또는 RESTORE FILELISTONLY를 사용하여 백업의 파일 내용에 대한 정보를 얻을 수 있습니다. 자세한 내용은 RESTORE FILELISTONLY(Transact-SQL)를 참조하십시오.

전체 백업을 하지 않고 파일 또는 페이지 복원

로그 또는 차등 복원에서 파일 목록, 페이지 목록 또는 파일 그룹을 지정할 수 있습니다. 이 기능을 사용하면 전체 데이터베이스 백업이 없는 파일 또는 페이지를 복원할 수 있습니다. 차등 또는 로그 백업에서 파일이나 페이지를 복원하는 것은 복원 시퀀스는 반드시 전체 백업에서 시작해야 한다는 규칙에 위배되는 예외 사항입니다.

차등 파일 백업에서 복원하기 위한 기본 구문은 다음과 같습니다.

RESTORE DATABASE database_name <file_filegroup_page_list> FROM <differential backup>

로그 백업에서 복원하기 위한 기본 구문은 다음과 같습니다.

RESTORE LOG database_name <file_filegroup_page_list> FROM <log backup>