기록기 오류 및 거부
작성기는 다양한 프로그래밍 방식으로 실패할 수 있습니다. 이 경우 처리기 메서드 중 하나에서 CVssWriter::SetWriterFailure 메서드(예: CVssWriter::OnFreeze또는CVssWriter::OnPreRestore)를 호출하고 TRUE반환하여 진행 중인 백업, 복원 또는 섀도 복사 작업을 거부해야 합니다. IVssComponentEx::SetPrepareForBackupFailureMsg,IVssComponentEx::SetPostSnap을 사용하여 특정 처리기 메서드의 오류 조건에 대한 응답으로 오류 메시지 문자열을 선택적으로 설정할 수도 있습니다.shotFailureMsg, IVssComponent::SetPreRestoreFailureMsg및 IVssComponent::SetPostRestoreFailureMsg 메서드. 요청자는 거부권을 수락하거나 거부권을 무시하고 백업을 계속할 수 있습니다.
요청자는 생성되는 각 이벤트에 따라 작성기 상태(IVssBackupComponents::GatherWriterStatus 및 IVssBackupComponents::GetWriterStatus사용)를 확인해야 합니다.
경우에 따라 이러한 오류에서 오류 메시지를 검색할 수 있습니다(IVssComponentEx::GetPrepareForBackupFailureMsg, IVssComponent::GetPreRestoreFailureMsg, IVssComponentEx::GetPostSna 사용및 IVssComponent::GetPostRestoreFailureMsg 메서드) 또는 작성기가 메타데이터를 설정하도록 선택할 수 있습니다(IVssComponent::SetRestoreMetadata 및 IVssComponent 사용:: SetBackupMetadata 오류 상태 정보 포함). 이러한 오류 메시지를 보는 방법을 보여 주는 예제 코드는 IVssComponentEx::GetPrepareForBackupFailureMsg참조하세요.
오류 상태에 따라 요청자 또는 해당 운영자는 백업 작업 또는 시스템의 상태를 수정하는 데 필요한 모든 수정으로 백업 및 섀도 복사본을 다시 시작할 수 있습니다.
예를 들어 GetWriterStatus 다음을 반환한다고 가정합니다.
VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT 요청자가 섀도 복사본에 볼륨을 더 추가할 수 있음을 시사합니다.
VSS_E_WRITERERROR_RETRYABLE 다시 구성하지 않고 다시 시도하면 작동할 수 있음을 나타냅니다. 기록기가 여러 번의 재시도 후 오류를 계속 반환하는 경우 기록기를 호스트하는 서비스를 다시 시작해 보세요. VSS 서비스에서 호스트되는 기록기는 레지스트리 기록기, COM+ 클래스 등록 데이터베이스 기록기, 섀도 복사본 최적화 기록기 및 ASR(자동화된 시스템 복구) 작성기입니다. 작성기가 자체 프로세스에서 작성기를 호스트하는 애플리케이션에 속하는 경우 애플리케이션을 다시 시작합니다.
Windows Server 2003 및 Windows XP: 레지스트리 기록기, COM+ 클래스 등록 데이터베이스 기록기, 애플리케이션 이벤트 로그 작성기 및 Microsoft SQL Server 2000 데스크톱 엔진(MSDE) 기록기 등 VSS 서비스에서 호스트됩니다.
VSS_E_WRITER_STATUS_NOT_AVAILABLE 기록기가 사용 가능한 최대 백업 및 복원 세션 수에 도달했을 수 있으며 시스템의 사용량이 적을 때 다시 시도하면 작동할 수 있음을 나타냅니다.
VSS_E_WRITERERROR_OUTOFRESOURCES 또는 VSS_E_WRITERERROR_TIMEOUT 다시 시도하기 전에 시스템 부하를 줄이도록 제안할 수 있습니다.
VSS_E_WRITERERROR_NONRETRYABLE 또는 VSS_E_WRITER_NOT_RESPONDING VSS를 사용하여 데이터를 백업하는 것을 배제할 정도로 심각한 기록기 오류를 나타낼 수 있습니다.
작성기 및 생성되는 구성 요소에 따라 백업 애플리케이션이 거부권 또는 오류에 따라 중단되는 것이 항상 필요한 것은 아닙니다.
예를 들어 요청자는 섀도 복사본의 의도가 애플리케이션 A를 백업하기 위한 것이며 백업 애플리케이션 B에 대한 기록기로부터 거부권을 받았다고 결정할 수 있습니다. 이 경우 거부권을 무시하면서 애플리케이션 A를 계속 백업하는 것이 완벽하게 허용됩니다.
다음은 기록기 거부권의 예입니다.
- 기록기는 섀도 복사본을 만드는 동안 활동을 일시 중단할 수 없는 경우 섀도 복사본 생성 프로세스를 거부합니다. 이는 고정 상태 중에 쓰기 작업이 발생했기 때문에 섀도 복사본이 유효하지 않을 가능성이 높다는 것을 나타냅니다.
- 백업 애플리케이션이 C 볼륨의 섀도 복사본만 요청했습니다. 작성기는 C: 및 D:의 섀도 복사본이 해당 데이터를 백업하도록 결정합니다. 이 경우 작성자는 거부권을 행사합니다. 백업 애플리케이션은 메타데이터를 검사하고 기록기를 무시할지 아니면 섀도 복사본 만들기 프로세스가 중단되고 나중에 다시 시작될지 결정할 수 있습니다.