共用方式為


備份選取功能操作

下表描述與備份作業相關的四種元件類型。

元件類型 描述
不可選取的備份元件
其邏輯路徑中沒有可選取的備份上階。
可供備份的元件
在其邏輯路徑中沒有可選擇用於備份的上階層。
無法選擇進行備份的子元件
路徑中具有可選取備份上階的不可選取備份元件。
可選擇備份子元件
在路徑中包含可選擇備份祖先的可選擇備份元件。

 

此外,任何可選取的備份元件—不論其是否具有可選取的備份祖先—若在其他元件的邏輯路徑中被作為祖先,則會定義 元件集

管理備份元件選取的規則可以摘要如下:

  • 當邏輯路徑中沒有可選取備份祖系的任何元件,無論是可選取的備份還是不可選取的備份,都必須明確包含 。 這表示這些元件的元數據會新增至備份元件檔。

    要求者會使用 IVssBackupComponents::AddComponent 方法明確新增這些元件。

  • 無法選擇備份的子元件一律隱含 包含在備份中。 這表示這些元件的元數據不是備份元件檔的一部分。

  • 如果在備份中明確包含其上層元件,則可選擇備份的子元件也會被隱含地包含在內。 在此情況下,這些元件的元數據不會新增至備份元件檔。 如果隱含選取的備份子元件定義元件集,則也會隱含選取該元件集的成員。

  • 可選取的備份子元件,其可備份的上層元件未明確包含在備份中,仍然可以由請求者使用 IVssBackupComponents::AddComponent 方法來明確地包含。 接著,元件的元數據會新增至備份元件檔。 此外,如果可選取的備份子元件定義元件集,該元件集的成員就會隱含包含在備份中。

元件邏輯路徑中討論的「MyWriter」案例 可作為範例,說明備份的可選取性。

元件名稱 邏輯路徑 可選取進行備份
“可執行檔” "" N
“ConfigFiles” “可執行檔” N
授權資訊 "" Y
“安全性” "" Y
“UserInfo” “安全性” N
證書 “安全性” N
“writerData” "" Y
“Set1” “writerData” N
“Jan” “writerData\Set1” N
12月 “writerData\Set1” N
“Set2” “writerData” N
“Jan” “writerData\Set2” N
12月 “writerData\Set2” N
“Query” “writerData\QueryLogs” N
“Usage” “writerData” Y
“Jan” “writerData\Usage” N
"12月" “writerData\Usage” N

 

每當備份 「MyWriter」 時,使用 IVssBackupComponents::AddComponent 方法明確包含 “Executables” 元件,就會隱含包含 “ConfigFiles” 元件。

元件 「LicenseInfo」 是獨立可選取的備份元件。 可以由請求者自行決定,使用 IVssBackupComponents::AddComponent 方法進行選取,但此選取不會選擇其他元件。

可選取的備份元件 “Security” 定義了一個簡單的元件集,其中包含兩個不可選取的備份子元件,"UserInfo" 和 "Certificates"。 當備份中明確包含「安全性」項目時,「UserInfo」和「憑證」也會一律隱含包含。 除非包含 「安全性」,否則無法將子元件 「UserInfo」 或 「Certificates」 包含在備份作業中。

如果選取了元件 「writerData」,則會隱含選取不可選取的備份元件 「Set1」、“Set2” 和 「Query」,以及可選取的備份元件 」Usage“。 每個元件都有隱含選取進行備份的子元件。 其元數據都不會新增至備份元件檔。

如果未選取元件 「writerData」,則備份時不會包含不可選取的備份元件 「Set1」、“Set2” 和 「Query」。。

不過,請求者可以選擇明確將「使用量」作為備份元件中的可選擇項目。 此元件的元數據將會新增至備份元件檔。 「使用量」的子元件 「Jan」 和 「Dec」 將會隱含新增至備份,但不會將其資訊新增至備份元件檔。

明確包含備份的元件將會在備份元件檔中建立對應的 IVssComponent 實例。

要求者會從其備份元件檔中擷取明確包含元件的相關信息。為此,要求者會通過檢查檔中包含的寫入器(使用 IVssBackupComponents::GetWriterComponents),並擷取儲存的 IVssComponent 物件。

由於備份元件文件中既不存在元件的檔案集資訊(如檔案規格、路徑和遞歸旗標),也不存在任何隱式新增元件的資訊,因此要求者必須查詢寫入器元數據文件,以獲得包含在備份元件文件中的所有元件的完整資訊。