BETest 工具
BETest 是一个 VSS 请求程序,用于测试高级备份和还原操作。 此工具可用于测试应用程序使用复杂 VSS 功能的情况,例如:
- 增量备份和差异备份
- 复杂的还原选项,例如权威还原
- Rollforward 选项
备注
BETest 包含在适用于 Windows Vista 及更高版本的 Microsoft Windows 软件开发工具包 (SDK) 中。 VSS 7.2 SDK 包含仅在 Windows Server 2003 上运行的 BETest 版本。 本主题介绍 WINDOWS SDK 版本的 BETest,而不是 VSS 7.2 SDK 中包含的 Windows Server 2003 版本。 有关下载 Windows SDK 和 VSS 7.2 SDK 的信息,请参阅卷影复制服务。
在安装 Windows SDK 时,可以在%Program Files(x86)%\Windows Kits\8.1\bin\x64
(适用于 64 位 Windows)和%Program Files(x86)%\Windows Kits\8.1\bin\x86
(适用于 32 位 Windows)中找到 BETest 工具。
若要从命令行运行 BETest 工具,请使用以下语法:
BETest 命令行选项
以下使用示例演示如何将 BETest 工具与 VSS 测试编写器工具(即 VSS 编写工具)一起使用。
BETest 工具用法示例
创建名为 C:\BETest 的测试目录。 将以下文件复制到此目录中:
- betest.exe
- vswriter.exe
- BetestSample.xml
- VswriterSample.xml
创建名为 C:\TestPath 的目录。 在此目录中放置一些测试数据文件。
创建名为 C:\BackupDestination 的目录。 将此目录留空。
打开两个提升的命令窗口,并将每个窗口中的工作目录设置为 C:\BETest。
在第一个命令窗口中,按如下所示启动 VSS 测试编写器工具:
vswriter.exe VswriterSample.xml
vswriterSample.xml 文件配置 VSS 测试写入工具 (vswriter) 以报告 c:\TestPath 目录的内容,为备份操作做准备。 请注意,VSS 测试编写器工具在检测到来自请求方(如 BETest)的活动之前不会生成输出。 若要停止 VSS 测试编写器工具,请按 Ctrl+C。
在第二个命令窗口中,使用 BETest 工具执行备份操作,如下所示:
betest.exe /B /S backup.xml /D C:\BackupDestination /X BetestSample.xml
BETest 会将文件从 C:\TestPath 目录备份到 C:\BackupDestination 目录。 它将备份组件文档保存到 C:\BETest\backup.xml。
如果备份操作成功,请删除 C:\TestPath 目录的内容,并使用 BETest 工具执行还原操作,如下所示:
betest.exe /R /S backup.xml /D C:\BackupDestination /X BetestSample.xml
BETest 工具使用以下命令行选项来标识要执行的操作。
-
/Auth
-
为 Active Directory 或 Active Directory 应用程序模式执行权威还原操作。
Windows Server 2003:不支持此命令行选项。
-
/B
-
执行备份操作,但不执行还原。
-
/BC
-
仅执行备份完成操作。
Windows Server 2003:不支持此命令行选项。
-
/C Filename
-
备注
此命令行选项仅用于向后兼容性。 应改用 /X 命令行选项。
根据 Filename 指定的配置文件的内容选择要备份或还原的组件。 此文件必须仅包含 0 到 127 范围内的 ANSI 字符,并且绝不能大于 1 MB。 文件中的每一行都必须使用以下格式:
WriterId : ComponentName;
其中 WriterId 是编写器 ID,ComponentName 是编写器其中一个组件的名称。 编写器 ID 和组件名称必须使用引号,并且冒号 (:) 前后必须有空格。 如果指定了两个或多个组件,则必须用逗号分隔它们。 例如:
"5affb034-969f-4919-8875-88f830d0ef89" : "TestFiles1", "TestFiles2", "TestFiles3";
-
/D Path
-
将备份的文件保存到 Path 指定的备份目录或从该目录中还原。
-
/NBC
-
省略备份完成操作。
Windows Server 2003:不支持此命令行选项。
-
/O
-
指定备份包含可启动的系统状态。
-
/P
-
创建持久的卷影副本。
Windows Server 2003:不支持此命令行选项。
-
/Pre Filename
-
如果 /T 命令行选项中指定的备份类型为 INCREMENTAL 或 DIFFERENTIAL,则将备份文档设置为 Filename 为上一次完整或增量备份指定的文件。
Windows Server 2003 和 Windows XP: 不支持此命令行选项。
-
/R
-
执行还原,但不执行备份。 必须与 /S 命令行选项一起使用。
-
/Rollback
-
创建可用于应用程序回滚的卷影副本。
Windows Server 2003:不支持此命令行选项。
-
/S Filename
-
在备份时,将备份文档保存到 Filename 指定的文件中。 如果仅还原,请从此文件加载备份文档。
-
/Snapshot
-
创建卷影副本,但不执行备份或还原。
Windows Server 2003:不支持此命令行选项。
-
/StopError
-
遇到第一个编写器错误时停止 BETest。
Windows Server 2003:不支持此命令行选项。
-
/T BackupType
-
指定备份文件类型。 BackupType 可以是 FULL、LOG、COPY、INCREMENTAL 或 DIFFERENTIAL。 有关备份类型的详细信息,请参阅 VSS_BACKUP_TYPE。
-
/V
-
生成可用于故障排除的详细输出。
Windows Server 2003:不支持此命令行选项。
-
/X Filename
-
根据 Filename 指定的 XML 配置文件的内容选择要备份或还原的组件。 此文件必须仅包含 0 到 127 范围内的 ANSI 字符。 XML 文件的格式由 BETest.xml 文件中的架构定义。 有关示例配置文件,请参阅 BetestSample.xml。 这两个文件都在 vsstools 目录中。
备注
可以在 Internet Explorer 中查看 BETest.xml 文件。 打开此文件之前,请确保 xdr-schema.xsl 文件与 BETest.xml 位于同一目录中。 xdr-schema.xsl 文件包含使 BETest.xml 文件更易于阅读的呈现指令。
Windows Server 2003:不支持此命令行选项。
以下配置文件示例 (BetestSample.xml) 可在 Vsstools 目录中找到。
<BETest>
<Writer writerid="5affb034-969f-4919-8875-88f830d0ef89">
<Component componentName="TestFiles">
</Component>
</Writer>
</BETest>
此简单配置文件的示例选择了一个要备份或还原的组件。
以下配置文件示例 (VswriterSample.xml) 可在 Vsstools 目录中找到。
<TestWriter usage="USER_DATA"
deleteFiles="no">
<RestoreMethod method="RESTORE_IF_CAN_BE_REPLACED"
writerRestore="always"
rebootRequired="no" />
<Component componentType="filegroup"
componentName="TestFiles">
<ComponentFile path="c:\TestPath" filespec="*" recursive="no" />
</Component>
</TestWriter>
此配置文件中的根元素名为 TestWriter。 所有其他元素都排列在 TestWriter 元素下。
与 TestWriter 关联的第一个属性是使用属性。 此属性指定通过 IVssExamineWriterMetadata::GetIdentity 方法报告的使用类型。 此属性的可能值之一是 USER_DATA。
第二个属性是 deleteFiles 属性。 配置编写器属性中介绍了此属性。
根元素的第一个子元素是 RestoreMethod 元素。 此元素指定以下内容:
- 还原方法(在本例中为 RESTORE_IF_CAN_BE_REPLACED)
- 编写器是否需要还原事件(在这种情况下为始终)
- 在还原编写器后是否需要重新启动(在这种情况下为否)
此元素可以选择指定备用位置映射。 (在这种情况下,未指定备用位置。)有关详细信息,请参阅指定备用位置映射。
第二个子元素是 Component 元素。 此元素使编写器将组件添加到其元数据中。 Component 元素包含用于描述组件的属性以及用于描述组件内容的子元素,如下所示:
- componentType 指示这是文件组还是数据库(在本例中为文件组)
- logicalPath 表示组件逻辑路径(在本例中,未指定任何逻辑路径)
- componentName 表示组件名称的(在本例中为“TestFiles”)
- selectable 表示可选择的备份状态
Component 元素还有一个名为 ComponentFile 的子元素,用于向此组件添加文件规范。 (一个 Component 元素可以有任意数量的 ComponentFile 元素,可以为每个组件指定这些元素。)此 ComponentFile 元素具有以下属性:
- path="c:\TestPath"
- filespec="*"
- recursive="no"