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中的信息来指示这一点。