BETest 工具
BETest 是 VSS 要求者,可測試進階備份和還原作業。 此工具可用來測試應用程式使用複雜的 VSS 功能,例如:
- 增量和差異備份
- 複雜的還原選項,例如授權還原
- Rollforward 選項
注意
BETest 包含在適用於 Windows Vista 和更新版本的 Microsoft Windows 軟體開發工具包 (SDK) 中。 VSS 7.2 SDK 包含只在 Windows Server 2003 上執行的 BETest 版本。 本主題描述 BETest 的 Windows SDK 版本,而不是 VSS 7.2 SDK 中包含的 Windows Server 2003 版本。 如需下載 Windows SDK 和 VSS 7.2 SDK 的相關信息,請參閱 磁碟區陰影複製服務。
在 Windows SDK 安裝中,BETest 工具可在 (適用於 64 位 Windows) 和 %Program Files(x86)%\Windows Kits\8.1\bin\x86
(適用於 32 位 Windows) 中找到%Program Files(x86)%\Windows Kits\8.1\bin\x64
。
若要從命令行執行 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 工具會使用下列命令行選項來識別要執行的工作。
-
/認證
-
執行 Active Directory 或 Active Directory 應用程式模式的授權還原作業。
Windows Server 2003: 不支援此命令行選項。
-
/B
-
執行備份作業,但不會執行還原。
-
/西元前
-
只執行備份完成作業。
Windows Server 2003: 不支援此命令行選項。
-
/C 檔名
-
注意
這個命令行選項僅供回溯相容性使用。 應該改用 /X 命令行選項。
根據 Filename 所指定的組態檔內容,選取要備份或還原的元件。 此檔案必須只包含介於 0 到 127 之間的 ANSI 字元,且不能大於 1 MB。 檔案中的每個行都必須使用下列格式:
WriterId : ComponentName;
其中 WriterId 是寫入器標識碼, 而 ComponentName 是其中一個寫入器元件的名稱。 寫入器標識碼和元件名稱必須以引弧括住,而且冒號前後必須有空格(:)。 如果指定了兩個或多個元件,則必須以逗號分隔它們。 例如:
“5affb034-969f-4919-8875-88f830d0ef89” : “TestFiles1”、“TestFiles2”、“TestFiles3”;
-
/D 路徑
-
將備份的檔案儲存至或從Path所指定的備份目錄還原它們。
-
/NBC
-
省略備份完成作業。
Windows Server 2003: 不支援此命令行選項。
-
/O
-
指定備份包含可開機的系統狀態。
-
/P
-
建立持續性陰影複製。
Windows Server 2003: 不支援此命令行選項。
-
/Pre Filename
-
如果 /T 命令行選項中指定的備份類型是 INCREMENTAL 或 DIFFERENTIAL,請將備份檔案設定為 Filename 針對先前的完整或增量備份所指定的檔案。
Windows Server 2003 和 Windows XP: 不支援此命令行選項。
-
/R
-
執行還原,但不會執行備份。 必須與 /S 命令行選項搭配使用。
-
/反轉
-
建立可用於應用程式復原的陰影複製。
Windows Server 2003: 不支援此命令行選項。
-
/S 檔案名
-
如果是備份,請將備份文件儲存至 Filename 所指定的檔案。 如果只還原,請從這個檔案載入備份檔。
-
/快照
-
建立磁碟區陰影複製,但不會執行備份或還原。
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 所指定的 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”)
- 可選取以指出可選取的備份狀態
Component 元素也有名為 ComponentFile 的子專案,以將檔案規格新增至此元件。 (Component 元素可以有任意數目的 ComponentFile 元素,可以為每個元件指定。此 ComponentFile 元素具有下列屬性:
- path=“c:\TestPath”
- filespec=“*”
- recursive=“no”