Обзор инициализации восстановления

При инициализации операции восстановления VSS инициатору запроса необходимо получить документ компонента резервной копии и каждый соответствующий документ метаданных записи, созданный и сохраненный во время операции резервного копирования. Модуль записи будет запрашивать текущее состояние при обработке события Identify , которое создает инициатор запроса. Дополнительные сведения см. в разделе Общие сведения об обработке восстановления в VSS.

В следующей таблице показана последовательность действий и событий, необходимых для инициализации операции восстановления.

Действие инициатора запроса Событие Действие записи
Создайте интерфейс IVssBackupComponents , инициализируйте его для управления восстановлением и загрузите сохраненные метаданные инициатора запроса (см. раздел CreateVssBackupComponents, IVssBackupComponents::InitializeForRestore). Нет Нет
Вызовите CreateVssExamineWriterMetadata , чтобы создать интерфейсы IVssExamineWriterMetadata и загрузить их с сохраненными метаданными модуля записи. Нет Нет
Инициируйте асинхронный контакт с записью записи (см. раздел IVssBackupComponents::GatherWriterMetadata.) Identify Модуль записи начинает обработку событий для поддержки восстановления. Создает документ метаданных записи (см. раздел Работа с документом метаданных записи, CVssWriter::OnIdentify, IVssCreateWriterMetadata).
Инициатор запроса ожидает инициализации записи, вызвав IVssAsync. Нет Нет

 

Действия инициатора запроса во время инициализации восстановления

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

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

Инициатор запроса использует сохраненный XML-документ, содержащий документ компонентов резервного копирования инициатора запроса, который выполнил резервное копирование, для инициализации компонента резервной копии Документ с помощью IVssBackupComponents::InitializeForRestore может получить доступ к информации.

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

Инициатор запроса извлекает сохраненные метаданные модуля записи, вызывая Метод CreateVssExamineWriterMetadata для каждого модуля записи, чьи данные были созданы и теперь должны быть восстановлены. Эта функция создает объект IVssExamineWriterMetadata для каждого модуля записи и загружает документ метаданных модуля записи в объект .

Как и во время резервного копирования, чтобы инициировать взаимодействие между собой и средствами записи системы, инициатор запроса должен создать событие Identify путем вызова IVssBackupComponents::GatherWriterMetadata. Не нужно вызывать IVssBackupComponents::GatherWriterStatus после завершения действия GatherWriterMetadata. Записи, которые не обрабатывают событие Identify , не будут включены в список записей, предоставляющих метаданные, возвращаемые IVssBackupComponents::GetWriterMetadataCount и IVssBackupComponents::GetWriterMetadata (см. раздел Определение состояния записи).

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

Поэтому для некоторых приложений резервного копирования может оказаться полезным сохранить на носителе резервных копий собственный список (в собственном оптимизированном формате) файлов и связанные с ними данные записи, компонентах, процедурах восстановления и расположении. Этот список можно использовать для минимизации объема синтаксического анализа и сравнения документов метаданных записи и документов компонентов резервной копии, необходимых для поддержки восстановления.

Действия записи во время инициализации восстановления

Как и во время операции восстановления, в ответ на событие Identify VSS вызывает метод виртуального обработчика каждого модуля записи CVssWriter::OnIdentify.

Обратите внимание, что приложения, отличные от текущего инициатора запроса (например, системные приложения), могут создавать события Идентификации, которые должны обрабатываться модулем записи. Кроме того, средство записи не может определить из CVssWriter::OnIdentify , какое приложение создало событие Identify.

Учитывая, что модуль записи может получать несколько событий Identify при обработке операции восстановления, записи никогда не должны задавать сведения о состоянии в обработчике CVssWriter::OnIdentify . Вместо этого они должны использовать тот же алгоритм для создания документа метаданных записи, что и во время операций резервного копирования (дополнительные сведения см. в разделе Действия записи во время инициализации резервного копирования ).