VSS 备份状态

在备份操作期间,请求者使用 IVssBackupComponents::SetBackupState 来定义正在进行的操作类型。

此信息未包含在备份组件文档中易于检索的表单中,因此请求者开发人员应将此信息单独存储在任何备份介质上。

备份状态包含以下内容:

备份类型

备份类型指定用于标识要备份的文件的条件。 必须使用 VSS API 对这些条件进行评估。

在决定要追求的备份类型和要使用的编写器时,请求者应检查 (或架构的类型,请参阅每个系统的编写器支持的备份操作) 编写器 备份架构支持 。 VSS 下的备份可以是以下类型:

  • 完整 (VSS_BT_FULL) - 无论文件的上次备份日期如何,都将备份文件。 将更新每个文件的备份历史记录,此类备份可用作增量备份或差异备份的基础。 还原完整备份只需要一个备份映像。
  • 复制备份 (VSS_BT_COPY) - 与VSS_BT_FULL备份类型一样,无论文件的上次备份日期如何,都将备份文件。 但是,不会更新每个文件的备份历史记录,并且此类备份不能用作增量备份或差异备份的基础。
  • 增量 (VSS_BT_INCREMENTAL) - VSS API 用于确保仅将自上次完整备份或增量备份以来已更改或添加的文件复制到存储介质。 还原增量备份需要原始备份映像和自初始备份以来创建的所有增量备份映像。
  • 差异 (VSS_BT_DIFFERENTIAL) - VSS API 用于确保仅将自上次完整备份以来已更改或添加的文件复制到存储媒体;忽略所有中间备份信息。 还原差异备份需要原始备份映像和自上次完整备份以来创建的最新差异备份映像。
  • 日志文件 (VSS_BT_LOG) - 仅备份编写器的日志文件 (使用 IVssCreateWriterMetadata::AddDataBaseLogFiles 方法添加到组件的文件,并通过调用 IVssWMComponent::GetDatabaseLogFile) 进行检索。 此备份类型特定于 VSS。

请求者可以使用 VSS 外部的信息和方法来实现这些备份。 仅当请求者使用 VSS API 实现备份时,才应将其描述为列出的备份类型之一。 例如,仅当请求方使用 IVssWMComponent::GetDatabaseLogFile 返回的信息来标识日志文件时,才参与VSS_BT_LOG类型的备份。 同样,VSS_BT_INCREMENTAL和VSS_BT_DIFFERENTIAL类型仅适用于增量或差异操作,如 增量备份和差异备份中所述。

有关可选择性的规范

VSS 备份可以选择遵循组件可选择性的 VSS 概念(这称为在 组件模式下运行)或忽略它们。

未在组件模式下运行的一个示例是执行系统映像备份,其中备份应用程序需要编写器合作以确保数据稳定性,但组件的选择将无关紧要。

保存可启动状态

VSS 支持在完全可启动的配置中保存正在运行的系统状态。 但是,这并不总是必要的,编写器准备保存可启动状态有时会降低正在运行的系统实时性能。

因此,请求者指示备份是否将包含可启动的系统状态作为 IVssBackupComponents::SetBackupState 的参数。 编写器确定是否必须通过调用 CVssWriter::IsBootableStateBackedUp 来支持保存可启动的系统状态。

即使未选择可启动的系统状态,也会创建系统文件的卷影副本,并且可能会备份这些文件。

但是,如果备份未保存可启动的系统状态 (请参阅 Windows Server 2003 R2 和 Windows Server 2003 SP1) 中的备份和还原系统状态 ,应谨慎还原系统文件。

无法从检索到的备份组件文档恢复此信息,因此请求者作者应存储系统是否使用可启动的系统状态进行备份。

部分文件支持

某些编写器支持通过覆盖其管理的文件的一部分来还原文件。 请求方可以设计为利用此优势,如果是,则通过在 IVssBackupComponents::SetBackupState 中设置信息来指示这一点。