Поделиться через


Содержимое документа компонентов резервного копирования

Документ компонентов резервного копирования поддерживается экземплярами интерфейса IVssBackupComponents . Этот интерфейс также содержит множество методов для управления операциями резервного копирования, управления теневыми копиями и запроса состояния системы. Однако не все сведения документа доступны напрямую через этот интерфейс.

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

  • Сведения о том, какие компоненты были явно включены в операцию резервного копирования или восстановления
  • Представление хранимого компонента и сведений модуля записи
  • Сведения о состоянии операции резервного копирования и восстановления

Хотя сведения о компоненте доступны как инициатору запроса, так и средству записи, доступ к сведениям о состоянии имеет только модуль записи.

Сведения о включении компонентов

Документ По компонентам резервного копирования содержит список компонентов, явно включенных в резервное копирование и восстановление инициатором запроса. Список содержит следующее:

  • Явно включенные компоненты, доступные для выбора.

    Включение этих файлов в операции резервного копирования обозначается IVssBackupComponents::AddComponent , а в операциях восстановления — IVssBackupComponents::SetSelectedForRestore.

  • Не может быть выбрано для подкомпонентов резервного копирования без выбора для предка компонента резервного копирования.

    Все эти компоненты должны быть включены, если какие-либо компоненты модуля записи должны быть включены в операцию. Включение этих файлов в операции резервного копирования обозначается IVssBackupComponents::AddComponent , а в операциях восстановления — IVssBackupComponents::SetSelectedForRestore.

  • Компоненты, неявно добавленные в резервную копию (подкомпоненты), которые можно выбрать для восстановления и явно добавляются к восстановлению.

    Эти компоненты могут быть либо доступными для выбора, либо необбираемыми, но у них есть доступный для выбора предок, который использовался для неявного выбора их для резервного копирования. Они добавляются в документ компонентов резервного копирования iVssBackupComponents::AddRestoreSubcomponent.

Удостоверения компонентов, неявно включенных в восстановление, не хранятся в документе Компоненты резервного копирования.

VSS имеет доступ к сведениям о включении компонентов: записи без компонентов, явно включенных в восстановление или резервное копирование, не получают события VSS после создания событий PrepareForBackup или PreRestore .

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

Инициатор запроса может определить, какие компоненты были явно включены в операцию.

Метод IVssBackupComponents::GetWriterComponentsCount возвращает количество записей с сведениями о компонентах, хранящимися в документе компонентов резервной копии (а не число компонентов в документе).

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

Сведения о включенных компонентах

В документе Backup Components Document представлены данные компонента (не включаются сведения о пути и спецификации файла), доступ к которому осуществляется через экземпляры интерфейса IVssComponent .

Инициаторы запроса и записи получают доступ к экземплярам интерфейса IVssComponent различными способами.

Инициатор запроса проверяет данные компонентов в записи по записи с помощью экземпляров интерфейса IVssWriterComponentsExt , возвращаемых IVssBackupComponents::GetWriterComponents.

Помимо сведений об идентификации модуля записи интерфейс IVssWriterComponentsExt предоставляет массив экземпляров интерфейса IVssComponent — по одному для каждого из выбранных компонентов модуля записи.

Как указано в разделе Жизненный цикл документа компонентов резервного копирования, записи могут получить доступ к той же информации через интерфейс IVssWriterComponents при обработке событий PrepareForBackup, PrepareForSnapshot, PostSnapshot, BackupComplete, PreRestore или PostRestore.

IVssComponent позволяет как записи, так и инициаторам запроса получать следующие сведения:

В отличие от инициаторов запроса, записи могут изменять определенные сведения в документе компонентов резервного копирования с помощью интерфейса IVssComponent :

Сведения о состоянии инициатора запроса

Инициаторы запроса вставляют сведения о состоянии операции резервного копирования или восстановления в документ компонентов резервного копирования с помощью интерфейса IVssBackupComponents . Приложения записи могут запрашивать эти сведения с помощью класса CVssWriter .

Сведения о состоянии, хранящиеся в документе По компонентам резервного копирования, включают следующее:

Общие сведения о резервном копировании

  • Общий тип резервной копии (добавочная, разностная или полная)

Задайте инициаторами запроса с помощью IVssBackupComponents::SetBackupState

Извлекается средствами записи с помощью CVssWriter::GetBackupType

— поддерживаются ли операции с компонентами;

Задайте инициаторами запроса с помощью IVssBackupComponents::SetBackupState

Извлекается средствами записи с помощью CVssWriter::AreComponentsSelected

— создается ли резервная копия загрузочного состояния системы.

Задайте инициаторами запроса с помощью IVssBackupComponents::SetBackupState

Извлекается средствами записи с помощью CVssWriter::IsBootableStateBackedUp

— Поддерживаются ли частичные операции с файлами.

Задайте инициаторами запроса с помощью IVssBackupComponents::SetBackupState

Извлекается средствами записи с помощью CVssWriter::IsPartialFileSupportEnabled

Общие сведения о восстановлении

  • Общий тип восстановления (независимо от того, выполняется ли восстановление путем копирования или импорта).

Задайте инициаторами запроса с помощью IVssBackupComponents::SetRestoreState

Извлекается средствами записи с помощью CVssWriter::GetRestoreType

Сведения о вспомогательных файлах

  • Расположение файлов диапазонов, используемых определенным компонентом в частичных операциях с файлами

Задайте инициаторами запроса с помощью IVssBackupComponents::SetRangesFilePath

Извлекается средствами записи (или инициаторами запроса) с помощью IVssComponent::GetPartialFile

Состояние сведений

  • Укажите, успешно ли выполнено резервное копирование одного из компонентов модуля записи.

Установка инициаторами запроса с помощью IVssBackupComponents::SetBackupSucceeded

Извлекается авторами и инициаторами запроса с помощью IVssComponent::GetBackupSucceeded

— указывает, был ли успешно восстановлен один из компонентов модуля записи.

Установка инициаторами запроса с помощью IVssBackupComponents::SetFileRestoreStatus

Извлекается средствами записи и инициатора запроса с помощью IVssComponent::GetFileRestoreStatus

Сведения о Writer-Settable

  • Дополнительная спецификация резервного копирования для одного из компонентов модуля записи

Настройка средствами записи с помощью IVssComponent::SetBackupMetadata

Извлекается средствами записи и инициаторами запроса с помощью IVssComponent::GetBackupMetadata

— Дополнительная спецификация восстановления для одного из компонентов модуля записи

Настройка средствами записи с помощью IVssComponent::SetRestoreMetadata

Извлекается авторами и инициаторами запроса с помощью IVssComponent::GetRestoreMetadata

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

Задается средствами записи с помощью IVssComponent::SetBackupStamp

Извлекается авторами записи и инициаторами запроса с помощью IVssComponent::GetBackupStamp

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

Хранятся и задаются инициаторами запроса для определенного компонента с помощью IVssBackupComponents::SetPreviousBackupStamp

Извлекается авторами и инициаторами запроса с помощью IVssComponent::GetPreviousBackupStamp

— сообщения об ошибках до и после операций восстановления

Устанавливается модулями записи с помощью IVssComponent::SetPreRestoreFailureMsg или IVssComponent::SetPostRestoreFailureMsg

Извлекается авторами и инициаторами запроса с помощью IVssComponent::GetPreRestoreFailureMsg или IVssComponent::GetPostRestoreFailureMsg