Работа с альтернативными путями во время резервного копирования

Существуют определенные обстоятельства, когда файлы для резервного копирования не являются расположением по умолчанию для этих файлов.

Например, некоторые записи не могут гарантировать очистку своих данных в течение временного интервала между событиями замораживания и оттепели . Такие модули записи могут создавать повторяющиеся файлы, содержащие последнюю известную хорошую конфигурацию в исходном каталоге, отличном от исходного каталога по умолчанию, или альтернативного пути.

Термин альтернативный путь, используемый в VSS, не следует путать с термином альтернативное сопоставление расположения. Альтернативные пути используются только во время операций резервного копирования и ссылаются на альтернативный источник, из которого выполняется резервное копирование. Сопоставления альтернативного расположения используются только во время операций восстановления и ссылаются на альтернативное назначение для операций восстановления.

Использование альтернативного пути во время резервного копирования

  1. На этапе обнаружения операции резервного копирования (см. обзор этапа обнаружения резервных копий) инициатор запроса проверяет данные компонентов каждого модуля записи с помощью IVssExamineWriterMetadata::GetComponent и получает экземпляры интерфейса IVssWMComponent .
  2. Затем инициатор запроса получает набор файлов , управляемый каждым компонентом, представленный экземплярами интерфейса IVssWMFiledesc , путем вызова метода IVssWMComponent::GetFile .
  3. Помимо пути (IVssWMFiledesc::GetPath), спецификации файла (IVssWMFiledesc::GetFilespec) и флага рекурсии (IVssWMFiledesc::GetRe)cursive), объект IVssWMFiledesc может содержать альтернативное расположение (используется в качестве альтернативного пути для операций резервного копирования и альтернативного сопоставления расположения для операций восстановления) с помощью метода IVssWMFiledesc::GetAlternateLocation .
  4. Если значение, возвращаемое IVssWMFiledesc::GetAlternateLocation , не равно NULL, приложения резервного копирования используют это значение вместо значения, полученного из IVssWMFiledesc::GetPath , чтобы выбрать и найти файлы для резервного копирования.
  5. Несмотря на использование альтернативного пути, инициаторы запроса должны по-прежнему учитывать спецификацию файла и рекурсивные параметры, возвращаемые IVssWMFiledesc::GetFilespec и IVssWMFiledesc::GetRecursive.

Обратите внимание, что при восстановлении любой альтернативный путь, то есть альтернативное расположение, возвращенное экземпляром IVssWMFiledesc::GetAlternateLocation из экземпляра IVssWMComponent, которое, в свою очередь, было получено из экземпляра IVssExamineWriterMetadata , полученного путем извлечения сохраненного документа метаданных модуля записи, не используется во время восстановления.

Либо путь по умолчанию (возвращаемый методом GetPath того же экземпляра IVssWMFiledesc) используется для определения расположения восстановления, либо альтернативное сопоставление расположений, найденное с помощью метода IVssWMFiledesc::GetAlternateLocation , указывает, где требуется восстановить файл (см. раздел Работа с альтернативными расположениями во время восстановления).