백업 구성 요소 문서 내용
백업 구성 요소 문서는 IVssBackupComponents 인터페이스의 인스턴스에 의해 유지 관리됩니다. 또한 이 인터페이스에는 백업 작업을 제어하고, 섀도 복사본을 조작하고, 시스템 상태를 쿼리하는 다양한 메서드가 포함되어 있습니다. 그러나 이 인터페이스를 통해 문서의 모든 정보에 직접 액세스할 수 있는 것은 아닙니다.
백업 구성 요소 문서는 다음과 같은 여러 데이터 집합으로 구성됩니다.
- 백업 또는 복원 작업에 명시적으로 포함된 구성 요소에 대한 정보
- 저장된 구성 요소 및 기록기 정보의 표현
- 백업/복구 작업에 대한 상태 정보
구성 요소 정보는 요청자와 작성기 모두에서 사용할 수 있지만 작성기만 상태 정보에 액세스할 수 있습니다.
구성 요소 포함 정보
백업 구성 요소 문서에는 요청자가 백업 및 복원에 명시적으로 포함된 구성 요소 목록이 포함되어 있습니다. 목록에는 다음이 포함됩니다.
선택 가능한 구성 요소를 명시적으로 포함했습니다.
백업 작업에 이러한 파일이 포함되는 것은 IVssBackupComponents::AddComponent 및 IVssBackupComponents::SetSelectedForRestore의 복원 작업에 표시됩니다.
백업 구성 요소 상위 항목에 대해 선택할 수 없는 백업 하위 구성 요소에 대해 선택할 수 없습니다.
작성기의 구성 요소를 작업에 포함하려면 이러한 구성 요소를 모두 포함해야 합니다. 백업 작업에 이러한 파일이 포함되는 것은 IVssBackupComponents::AddComponent 및 IVssBackupComponents::SetSelectedForRestore의 복원 작업에 표시됩니다.
복원을 위해 선택할 수 있고 복원에 명시적으로 추가되는 백업(하위 구성 요소)에 암시적으로 추가된 구성 요소입니다.
이러한 구성 요소는 선택 가능하거나 선택 불가능할 수 있지만 백업을 위해 암시적으로 선택하는 데 사용된 선택 가능한 상위 항목이 있습니다. IVssBackupComponents::AddRestoreSubcomponent에 의해 백업 구성 요소 문서에 추가됩니다.
복원에 암시적으로 포함된 구성 요소의 ID는 백업 구성 요소 문서에 저장되지 않습니다.
VSS는 구성 요소 포함에 대한 정보에 액세스할 수 있습니다. 복원 또는 백업에 명시적으로 포함된 구성 요소가 없는 작성기는 PrepareForBackup 또는 PreRestore 이벤트가 생성된 후 VSS 이벤트를 받지 않습니다.
기록기는 이 정보를 직접 쿼리할 수 없습니다. 이는 기본적으로 개별 VSS 작성기가 시스템의 다른 작성기 상태 대한 자세한 정보를 요구하지 않아야 하며, 위에서 설명한 대로 포함된 구성 요소가 없는 사용자는 VSS 작업에 참여할 필요가 없기 때문에 이는 중요한 제한이 아닙니다.
요청자는 작업에 명시적으로 포함된 구성 요소를 확인할 수 있습니다.
IVssBackupComponents::GetWriterComponentsCount 메서드는 백업 구성 요소 문서에 저장된 구성 요소 정보가 있는 기록기 수를 반환합니다(문서의 구성 요소 수가 아님).
요청자는 IVssWriterComponentsExt 인터페이스의 인스턴스를 반환하는 IVssBackupComponents::GetWriterComponents를 사용하여 저장된 기록기 정보를 통해 인덱 싱합니다 . IVssWriterComponentsExt 인터페이스를 사용하면 요청자가 참여하는 작성기의 기록기 클래스 및 작성기 instance 가져올 뿐만 아니라 백업 구성 요소 문서에 저장된 해당 구성 요소에 대한 정보에 액세스할 수 있습니다.
포함된 구성 요소에 대한 정보
IVssComponent 인터페이스의 인스턴스를 통해 액세스되는 구성 요소 데이터의 백업 구성 요소 문서 표현(경로 및 파일 사양 정보는 포함되지 않음)입니다.
요청자와 기록기는 다양한 방법으로 IVssComponent 인터페이스의 인스턴스에 액세스할 수 있습니다.
요청자는 IVssBackupComponents::GetWriterComponents에서 반환된 IVssWriterComponentsExt 인터페이스의 인스턴스를 사용하여 기록기별로 작성기별로 구성 요소 데이터를 검사합니다.
기록기 식별 정보 외에도 IVssWriterComponentsExt 인터페이스는 선택한 각 작성기 포함 구성 요소에 대해 하나씩 IVssComponent 인터페이스의 인스턴스 배열을 제공합니다.
백업 구성 요소 문서 수명 주기에서 설명한 대로 기록기는 PrepareForBackup, PrepareForSnapshot, PostSnapshot, BackupComplete, PreRestore 또는 PostRestore 이벤트를 처리할 때 IVssWriterComponents 인터페이스를 통해 동일한 정보에 액세스할 수 있습니다.
IVssComponent 를 사용하면 작성기와 요청자 모두 다음 정보를 가져올 수 있습니다.
- 구성 요소의 이름, 형식 및 논리 경로 (GetComponentName, GetComponentType, GetLogicalPath)
- 복원 대상에 표시된 대로 구성 요소를 복원하는 방법(IVssComponent::GetRestoreTarget)
- 파일 복원에 대체 위치가 사용된 경우(GetAlternateLocationMapping, GetAlternateLocationMappingCount)
- 새 대상 정보(있는 경우)(GetNewTarget, GetNewTargetCount)
- 복원 전 및 사후 오류 메시지(GetPreRestoreFailureMsg, GetPostRestoreFailureMsg)
- 복원 을 위해 구성 요소 집합을 정의하는 백업 구성 요소 선택 가능 항목이 선택된 경우(IsSelectedForRestore)
- 백업 또는 복원 성공 여부(GetBackupSucceeded, GetFileRestoreStatus)
- IVssBackupComponents::SetBackupOptions 또는 IVssBackupComponents::SetRestoreOptions(GetBackupOptions, GetRestoreOptions)에 의해 설정되었을 수 있는 기록기별 백업 또는 복원 옵션
- 기록기별 메타데이터 백업 또는 복원 메타데이터(GetBackupMetadata), GetRestoreMetadata)
- 타임스탬프 정보(GetBackupStamp, GetPreviousBackupStamp)
- 복원에 명시적으로 포함된 백업 하위 구성 요소에 대한 정보(GetRestoreSubcomponent, GetRestoreSubcomponentCount)
요청자와 달리 기록기는 IVssComponent 인터페이스를 통해 백업 구성 요소 문서의 특정 정보를 변경할 수 있습니다.
- 복원 대상에 표시된 대로 구성 요소를 복원하는 방법(IVssComponent::SetRestoreTarget)
- 기록기별 백업 및 복원 메타데이터(IVssComponent::SetBackupMetadata, IVssComponent::SetRestoreMetadata)
- 타임스탬프 정보(SetBackupStamp)
- 사전 및 복원 후 오류 메시지(SetPreRestoreFailureMsg, SetPostRestoreFailureMsg)
요청자 상태 정보
요청자는 IVssBackupComponents 인터페이스를 사용하여 백업 또는 복원 작업의 상태에 대한 정보를 백업 구성 요소 문서에 삽입합니다. 기록기 애플리케이션은 CVssWriter 클래스를 통해 이 정보를 쿼리할 수 있습니다.
백업 구성 요소 문서에 저장된 상태 정보에는 다음이 포함됩니다.
백업에 대한 일반 정보
- 전체 백업 유형(증분, 차등 또는 전체)
IVssBackupComponents::SetBackupState를 사용하여 요청자가 설정합니다.
복원에 대한 일반 정보
- 전체 복원 유형(복사 또는 가져오기를 통해 복원되는지 여부)
IVssBackupComponents::SetRestoreState를 사용하여 요청자가 설정합니다.
지원 파일에 대한 정보
- 부분 파일 작업에서 특정 구성 요소에서 사용하는 범위 파일의 위치
IVssBackupComponents::SetRangesFilePath를 사용하여 요청자가 설정합니다.
정보의 상태
- 지정된 작성기의 구성 요소 중 하나가 성공적으로 백업되었는지 여부를 나타냅니다.
IVssBackupComponents::SetBackupSucceeded를 사용하여 요청자가 설정합니다.
Writer-Settable 정보
- 지정된 기록기의 구성 요소 중 하나에 대한 추가 백업 사양
IVssComponent::SetBackupMetadata를 사용하여 작성기에서 설정
-
IVssComponent::SetPreRestoreFailureMsg 또는 IVssComponent::SetPostRestoreFailureMsg를 사용하여 작성기에 의해 설정
-
IVssComponent::GetPreRestoreFailureMsg 또는 IVssComponent::GetPostRestoreFailureMsg를 사용하여 작성자 및 요청자가 검색