编写器元数据文档生命周期
为了响应 标识事件,系统上存在的每个编写器都使用 IVssCreateWriterMetadata 构造自己的编写器元数据文档。 标识事件通常由调用 IVssBackupComponents::GatherWriterMetadata 的请求者生成。
创建编写器元数据文档时,通过 IVssCreateWriterMetadata 接口或通过编写器初始化 (CVssWriter::Initialize) ,编写器必须显式指定以下内容:
- 还原方法
- 编写器名称
- 编写器类 ID
- 数据使用情况 (请参阅 VSS_USAGE_TYPE)
- 日期源类型 (请参阅 VSS_SOURCE_TYPE)
此外,它还可能指定以下内容:
- (可能包含或不包含文件集的组件)
- 添加备用映射
- 排除文件列表
编写器元数据文档创建概述是在备份初始化期间在编写器操作中找到的。
请求者通常使用两种方法之一来获取对编写器元数据的访问权限:
- 在大多数备份操作期间,请求者使用 IVssBackupComponents::GetWriterMetadata 获取 IVssExamineWriterMetadata 接口的实例,以允许访问当前执行的编写器的元数据。
- 有关使用导入卷影副本的还原操作或备份, (请参阅导入可传输卷影复制卷以获取有关导入卷影副本的详细信息) ,请求者检索包含元数据的 XML 文档,并使用 CreateVssExamineWriterMetadata 获取 IVssExamineWriterMetadata 接口,该接口用于读取还原元数据。
编写器元数据文档使请求方能够在备份的发现阶段了解当前正在执行的编写器。
对于选择参与备份的编写器来说,请求者在备份发现阶段将写入器元数据文档中的信息导入其自己的备份组件文档,但并非全部信息。
但是,只有编写器元数据文档,而不是备份组件文档包含文件和路径规范。
有关如何执行备份操作的发现阶段的详细信息,请参阅备份发现阶段概述。
此外,在备份操作期间,仅显式包含的组件在其备份组件文档中存储其信息。 备份操作期间,备份组件文档中不包含隐式包含组件的信息,并且必须使用有关显式包含的组件和可用编写器元数据文档的信息进行内插。
隐式包含的组件可能仍可用于还原,并且可能需要在还原时显式包含在备份组件文档中。 在这种情况下,就像在备份操作期间添加组件需要访问组件的编写器的编写器元数据文档一样, (然后从编写器) 检索,请求者将需要访问该编写器的编写器元数据文档的副本,这些文档存储在备份时。
因此,获取有关备份或还原中涉及的所有文件和组件的所有信息的唯一方法是让每个编写器元数据文档与备份组件文档一起存储备份的每个编写器元数据文档。 (有关详细信息,请参阅 实际文件还原概述。)