Exchange 2007 資料備份和磁碟區陰影複製服務

 

適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上次修改主題的時間: 2012-03-26

應用程式會使用 Windows Server 2008 的磁碟區陰影複製服務 (VSS) 來備份和還原 Microsoft Exchange Server 2007。VSS 提供一個基礎結構,讓協力廠商儲存管理程式、商務程式及硬體提供者能夠一起合作建立和管理陰影複製。以此基礎結構為基礎的解決方案可以使用陰影 (或鏡像) 副本來備份和還原一或多個 Exchange 2007 資料庫。

VSS 可以協調要求者 (備份應用程式)、編寫器 (Windows 中的應用程式,例如 Exchange 2007) 及提供者 (建立陰影複製的系統元件、軟體元件或硬體元件) 之間的通訊。若要使用 VSS 來備份 Exchange 2007,備份程式必須包含 Exchange 2007 感知的 VSS 要求者。Windows Server 2008 中的 Windows Server Backup 程式不包含 Exchange 感知的 VSS 要求者。

但是, Exchange 2007 Service Pack 2 (SP2) 內含的全新外掛程式可讓您使用 Windows Server 2008 中的 Windows Server Backup 對 Exchange 資料進行磁碟區陰影複製服務 (VSS) 備份。您可以使用 Windows Server Backup 來備份及還原您的 Exchange 2007 SP2 資料庫。徹底了解需要備份的內容、備份儲存的位置,以及還原備份的方法,對於成為有效率的 Exchange 系統管理員而言極為關鍵。如需 Exchange 2007 中有哪些內容需要備份的相關資訊,請參閱 使用 Windows Server Backup 備份及還原 Exchange 資料

note附註:
Windows Server Backup 程式不支援 Exchange 2007 可延伸儲存引擎資料流 API。您無法透過此程式進行 Exchange 2007 資料流 ESE 的備份。

主動儲存群組和被動儲存群組都支援 Exchange 感知的 VSS 備份。Exchange 被動副本備份解決方案是一種僅限 VSS 的解決方案。此解決方案是由複寫服務中的 Exchange 複本 VSS 編寫器來實作。資料流備份只能從主動儲存群組來支援。因此,您無法使用資料流備份 API 來備份複本資料庫。若要備份複本資料庫,VSS 感知的備份程式必須搭配 Exchange 編寫器的 VSS 要求者一起使用。

note附註:
Exchange 2007 SP2 中的 Windows Server Backup 外掛程式不支援複寫服務中的 Exchange 複本 VSS 編寫器,因此無法用它對儲存群組進行被動備份。

Exchange 2007 支援對同一部 Exchange 伺服器執行兩個不同的 VSS 備份作業。另外,Exchange 2007 編寫器還可讓您將 Exchange 資料還原至其他位置。這包括「復原儲存群組」。Exchange 2007 編寫器也可讓您將資料庫檔案還原至與儲存群組無關的資料夾。接著,您可以使用 JET 資枓庫引擎,將交易記錄檔重新顯示到資料庫中,讓資料庫進入一致又可裝載的狀態。

note附註:
在 Microsoft Exchange Server 2003 中,您可以使用資料流備份 API,同時對兩個不同的儲存群組執行兩個備份。不過,您無法使用 VSS 來執行這些作業。在 Exchange 2003 中,您必須等到第一個儲存群組的備份完成後,才能使用 VSS 來備份第二個儲存群組。另外,Exchange 2003 編寫器不允許您將 Exchange 資料還原至原始路徑以外的路徑。

為了要符合 Exchange 2007,VSS 型備份程式必須符合下列基本需求:

  • Exchange 編寫器必須用於備份檔案。

    Exchange 2007 包含 Exchange 儲存區內建的編寫器。

  • 備份程式必須驗證陰影複製備份組。

  • 在任何會將檔案還原至原始位置的還原作業中,必須使用 Exchange 編寫器。

    原始位置是指與之前進行 VSS 備份的伺服器具有相同名稱和相同檔案路徑的 Exchange 伺服器。

這些需求有助於確保陰影複製備份的完整性和復原能力。如果未達到這些需求,Microsoft 客戶服務和支援 (CSS) 會考慮採用 Exchange VSS 架構以外的備份解決方案。在此情況下,Microsoft CSS 就無法疑難排解備份或還原問題。建議您連絡備份解決方案廠商,確認備份程式符合本主題所列的需求。如需這些需求的詳細資料,請參閱本主題稍後的<Exchange 2007 VSS 需求>。

note附註:
對於您可能遇到的任何備份或復原問題而言,協力廠商備份程式的廠商是主要的支援提供者。對於 Exchange 資料庫或交易記錄檔可能發生的問題,Microsoft CSS 則可以協助診斷或進行疑難排解。然而,Microsoft CSS 協助您復原 Exchange 環境中的資料庫檔案和交易記錄檔的能力有限。

如需 Microsoft CSS 如何支援 VSS 型解決方案的相關資訊,請參閱 Microsoft 知識庫文章 841696 Microsoft 協力廠商儲存軟體解決方案的支援原則概觀

相關資訊

Exchange 2007 VSS 需求

下列各節描述任何陰影複製備份程式必須遵循的 Exchange 2007 需求,以確保 Exchange 資料庫的完整性和復原能力。這幾節列出特定的應用程式事件,有助於指出備份程式是否符合 Exchange 需求。備份程式和 Exchange 伺服器可能會記錄與備份和還原程序相關聯的其他事件。若要驗證是否符合 Exchange VSS 需求,請確認會在備份和還原作業期間記錄事件。

對於任何在 Exchange 上執行的協力廠商備份解決方案,目前尚無認證計劃。符合 VSS 有助於確保陰影複製備份的完整性和復原能力。不過,這並不保證協力廠商解決方案的效能或可靠性。

Exchange 編寫器必須用於備份檔案

只能透過 Exchange 編寫器來備份 Exchange 資料庫檔案、交易記錄檔及檢查點檔案。如果在陰影複製備份期間使用 Exchange 編寫器,則會在應用程式記錄檔中記錄下列事件:

事件類型:參考

事件來源:ESE

事件類別:陰影複製

事件識別碼: 2005

使用者:無

電腦:ServerName.contoso.com

一般:資訊儲存庫 (2884) 正在開始陰影複製執行個體 5。這將是 backup-type 陰影複製。

note附註:
在此事件中,backup type 代表您執行的備份類型。例如,backup type 可以是 []、[複製]、[增量] 或 [差異]。

事件類型:參考

事件來源:MSExchangeIS

事件類別:Exchange VSS 編寫器

事件識別碼: 9608

使用者:無

電腦:ServerName.contoso.com

一般:Exchange VSS 編寫器 (執行個體 GUID) 已成功準備快照集。

事件類型:參考

事件來源:MSExchangeIS

事件類別:Exchange VSS 編寫器

事件識別碼: 9610

使用者:無

電腦:ServerName.contoso.com

一般:Exchange VSS 編寫器 (執行個體 GUID) 已成功凍結儲存群組。

事件類型:參考

事件來源:MSExchangeIS

事件類別:Exchange VSS 編寫器

事件識別碼: 9612

使用者:無

電腦:ServerName.contoso.com

一般:Exchange VSS 編寫器 (執行個體 GUID) 已成功取消儲存群組的凍結。

備份程式必須驗證陰影複製備份組的完整性

在備份程式通知 Exchange 表示已順利完成備份之前,建議讓備份程式先驗證陰影複製備份組的完整性。提出此建議的原因如下。

在備份成功後,Exchange 會執行下列兩項作業:

  • Exchange 會更新所備份資料庫的標頭,以指出上次成功備份的時間。

  • Exchange 會截斷交易記錄。在此情況下,Exchange 會從上次成功的備份中移除不再需要向前復原的交易記錄檔。  

因此,如果備份程式延後到 Exchange 執行這些工作之後才驗證完整性,您必須特別注意要保留上次驗證的備份,以及該特定備份所需的所有交易記錄檔的副本。雖然可能已經向 Exchange 回報備份成功,但在備份程式順利完成完整性驗證作業之前,您還是不能夠依賴備份。

如需如何執行完整性檢查以及如何判斷必須保留哪些資料庫檔案和交易記錄檔的相關資訊,請參閱主本題稍後的<VSS 備份的完整性驗證>。

任何還原至原始位置的作業都必須使用 Exchange 編寫器

在任何會將 Exchange 相關的檔案還原至原始位置的還原作業中,必須使用 Exchange 編寫器。原始位置是指與之前進行 VSS 備份的 Exchange 伺服器具有相同伺服器名稱和相同檔案路徑的 Exchange 伺服器。

在陰影複製還原作業期間,Exchange 編寫器會在應用程式記錄檔中記錄下列事件:

事件類型:參考

事件來源:MSExchangeIS

事件類別:Exchange VSS 編寫器

事件識別碼: 9620

使用者:無

電腦:ServerName.contoso.com

一般:Exchange VSS 編寫器 (執行個體 GUID) 已成功處理預先還原事件。

事件類型:參考

事件來源:MSExchangeIS

事件類別:Exchange VSS 編寫器

事件識別碼: 9618

使用者:無

電腦:ServerName.contoso.com

一般:Exchange VSS 編寫器 (執行個體 GUID) 已成功處理還原後事件。

VSS 備份的完整性驗證

當您使用 Exchange 資料流備份 API 來備份資料庫時,會依序讀取資料庫中的每一分頁,並且在備份過程中驗證每一分頁的總和檢查碼完整性。在備份交易記錄檔之前,也會驗證交易記錄檔的總和檢查碼完整性。

不過,在 VSS 備份期間,Exchange 就沒有機會讀取每一個資料庫檔案和驗證總和檢查碼完整性。因此,必須由備份程式來驗證資料庫和交易記錄檔的完整性。您可以執行 Eseutil 命令來執行這些驗證檢查。

如果您不執行 VSS 備份的總和檢查碼驗證,資料庫中可能會留下未偵測到的損壞分頁。損壞的分頁最後可能會出現在所有可用的備份中。只有修復資料庫才能解決這種情況。資料庫修復可能需要長時間停機,而且會導致一些資料遺失。您將會失去每一個受損資料庫分頁上的資料。

不過,如果您驗證前次 VSS 備份中的分頁都沒有問題,您就可以從資料庫中清除損壞的分頁。作法是還原已驗證的備份,並使用完成良好備份之後所建立的交易記錄,將備份向前復原。此作業所需的停機時間通常會比資料庫修復作業所需的停機時間還要短許多。另外,執行這種復原作業時不會遺失資料。因此,直到備份中的所有檔案都經過總和檢查碼驗證之後,您才能將 VSS 備份視為成功。

建議您利用下列兩個規則來驗證備份完整性:

  • 您一定要保留一份已經過完整性驗證的資料庫檔案副本。已經過完整性驗證的備份是指已對備份組中的資料庫檔案完成分頁總和檢查碼驗證的備份。

  • 您必須備份要復原已經過完整性驗證的最新資料庫檔案所需的所有交易記錄檔。此外,您也必須驗證交易記錄檔的總和檢查碼完整性。

必要的交易記錄至少包括上次驗證之備份內含的每一個資料庫檔案的標頭中,[需要的記錄] 欄位所列的記錄檔含括範圍。如果沒有這些記錄檔,則資料庫將無法在還原之後進行裝載。

important重要事項:
這些需求適用於上次經過完整性驗證的備份,而非最新的備份。最新備份在通過總和檢查碼驗證之後,才算是有效的備份。

對於在還原資料庫之後將資料庫完整地向前復原時所需的其他交易記錄檔,您也可以選擇性地保留這些交易記錄檔。這些交易記錄檔包括連續不間斷的所有交易記錄檔,從最低的 [需要的記錄] 檔案開始,一直到已從 Exchange 伺服器中清除的最近建立之交易記錄。以下顯示這些檔案的範例和說明。

您可自行決定是否要保留超出 [需要的記錄] 範圍所列的交易記錄檔。但是,所謂的自行決定,僅限於即使不保留記錄檔也能成功還原和裝載備份的資料庫這種情況。然而,如果您不保留所有適當的記錄檔,則從備份還原時會導致失去在備份之後對資料庫所做的一切變更。

強烈建議您保留在還原和裝載備份的資料庫時所需的交易記錄檔,以及將向前復原資料庫時所需的後續所有交易記錄檔。

決定需要的交易記錄檔

如果 Exchange 資料庫是在線上進行備份,則至少一定會有一個交易記錄檔隨之備份。不論您使用的是資料流備份 API 還是 VSS 備份 API,都會出現這種情形。

還原線上備份之後,必須將交易記錄中的資訊套用至資料庫。此作業稱為重新顯示交易記錄檔。每一個資料庫標頭的 [需要的記錄] 欄位會記錄必須重新顯示至資料庫中的交易記錄檔範圍的序列 (產生) 編號。

如果 [需要的記錄] 欄位顯示 0-0,則不必重新顯示任何其他交易記錄資料,也能裝載資料庫。只有在資料庫進入正常關機狀態之後,[需要的記錄] 值才會是 0-0。當資料庫正在執行時,[需要的記錄] 欄位一律會記錄尚未套用至資料庫的交易記錄範圍。此範圍會持續地更新。

在線上狀態備份的資料庫,其 [需要的記錄] 範圍一定不是零。因此,必須隨著資料庫一起備份適當的交易記錄檔。如果還原資料庫之後沒有記錄檔,則無法裝載資料庫。如果您無法取得必要的記錄檔,則必須執行資料庫修復作業。不過,並不保證資料庫修復作業一定會成功。另外,資料庫修復作業一定會導致某種程度的資料遺失,包括只是失去遺漏記錄檔中的資料。

如果您使用 Exchange 編寫器內含的 Exchange 資料流備份 API 或 VSS 備份 API,則會自動隨著資料庫一起備份要裝載資料庫所需的記錄檔。如果您只重新顯示 [需要的記錄] 欄位中指定的記錄檔,則資料庫會還原至完成備份當時的狀態。如果要將資料庫向前復原到超過那個時間點,您也必須顯示在完成備份後所產生的記錄檔。

若要從任何特定備份中完整地將資料庫向前復原,您必須連續不間斷地保留所有的記錄檔,從 [需要的記錄] 範圍中最低的記錄開始,一直到資料庫的儲存群組中最近產生的記錄檔。如果此序列中有任何記錄遺失或損壞,您只能向前復原至在遺失或受損檔案之前最後一個良好記錄檔為止的那個時間點。

因此,若不要在從備份復原時遺失資料,您必須保留上次驗證的良好資料庫備份中所有交易記錄檔的良好副本。

交易記錄截斷

如果不從 Exchange 伺服器中移除交易記錄檔,則記錄檔會一直累積,直到填滿所有可用的磁碟空間為止。因此,資料流和 VSS 備份 API 都支援在完成 [一般] 備份或 [增量] 備份後清除交易記錄檔。在備份程式通知 Exchange 表示備份作業已順利完成之後,就會自動從伺服器中刪除比復原最近備份所需的記錄檔還要舊的記錄檔。

使用資料流 API 時,會在備份過程中執行資料庫的總和檢查碼驗證。在備份作業完成以前,就已檢查過整個資料庫和必要記錄檔的實體完整性。使用 VSS API 時,無法在實際備份過程中執行總和檢查碼驗證。備份程式廠商必須在備份程序之外另外驗證資料的實體完整性。在備份作業之前,或在程式通知 Exchange 表示備份已完成之後,都可以使用 Eseutil 命令來執行此驗證。

  • 如果在備份完成之前執行總和檢查碼驗證,而且在備份組中發現問題,則會向 Exchange 表示備份失敗。此動作會阻止 Exchange 截斷來自伺服器的交易記錄檔。

  • 如果總和檢查碼驗證延後到告知備份完成之後執行,則 Exchange 會從伺服器中刪除較舊的記錄檔。從更早的良好備份向前復原時,可能需要其中一些記錄檔。如果您尚未製作這些記錄檔的副本,可能就無法完整地向前復原。

建議在備份程式通知 Exchange 表示備份完成之前,先在 VSS 備份上執行總和檢查碼驗證。如果延後到備份完成後才執行總和檢查碼驗證,則備份程式必須保留已截斷的所有交易記錄檔的副本,除非無法完整地向前復原 Exchange 並不重要。

在大多數情況下,在與先前備份一起儲存的那一組記錄檔中,以及與目前備份一起儲存的記錄檔中,都可以取得將 VSS 備份向前復原時所需的所有交易記錄檔。不過,當您選取備份解決方案時,您還是要確認實際情況是否如此。

還原未驗證的備份

在備份上執行總和檢查碼驗證之前,您可能必須先從備份中還原資料庫。在此情況下,建議您從較早驗證的備份中還原資料庫,然後將該備份向前復原。這種作法比依賴未驗證的備份更好。

不過,您的服務等級協定可能會要求您更快地還原資料,而無法等到從較早的備份來執行。在此情況下,只要您保留先前驗證的備份,以及自先前備份中完整地向前復原所需的所有記錄檔,則從未驗證的備份中還原可能是較好的選擇。如果您發現未驗證的備份已受損,這可讓您從已知的良好備份中向前復原。

檢查快照集一致性

VSS 要求者必須驗證快照集一致性。此外,為了讓 Exchange 團隊支援備份解決方案,驗證快照集一致性也是一項需求。Exchange 2007 支援下列兩種檢查快照集一致性的方法:

  • CHKSGFILES API

  • Eseutil 命令列工具

如需如何使用 CHKSGFILES API 來驗證快照集一致性的相關資訊,請參閱使用 CHKSGFILES 驗證備份完整性 (英文)。

如需如何使用 Eseutil 命令列工具來驗證快照集一致性的相關資訊,請參閱使用 Eseutil 驗證備份完整性 (英文)。

磁碟區陰影複製服務的疑難排解

Windows Server 2008 預設會安裝 VSS。此服務會設為 [手動] 啟動類型。如果備份程式 (要求者) 可以使用一或多個 VSS 編寫器,此服務就會啟動。

對於使用 Exchange 2007 VSS 備份時可能遇到的問題,您可以利用下列項目來進行疑難排解:

  • 事件日誌資訊

  • VSSADMIN 命令

  • 診斷記錄

  • Exchange Extra 工具

  • BETest 工具

事件日誌資訊

下列步驟描述使用 VSS 時發生的 Exchange 2007 備份程序以及所記錄的對應事件。請檢查在備份作業期間所記錄的事件,以協助判斷失敗的元件。

步驟 1:資料庫準備

  1. 備份程式 (亦稱為代理程式) 會執行已排定的工作。

  2. 備份程式中的 VSS 要求者會提交要求給 VSS,以便為快照集備份準備選取的 Exchange 儲存群組。

  3. VSS 會告知 Exchange VSS 編寫器為快照集備份做好準備。

下表列出在應用程式記錄檔中針對每個已開始的備份執行個體所記錄的事件序列。

事件識別碼 事件類型 事件來源 一般

9604

參考

MSExchangeIS

Exchange VSS 編寫器已成功收集準備備份或還原用的中繼資料文件。

9818

參考

MSExchangeIS

已對 "EcPrepareSGForBackup" 呼叫 Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56)。

資料:

0000: 54 68 69 72 64 20 53 74 第三個

0008: 6f 72 61 67 65 20 47 72 儲存群組。

9811

參考

MSExchangeIS

Exchange VSS 編寫器 (執行個體 56) 已順利準備資料庫引擎,以供進行儲存群組 '第三個儲存群組' 的完整或複製備份。已裝載下列 1 個資料庫且將會加以備份:

第三個儲存群組

資料:

0000: 46 75 6c 6c 00 完整。

9606

參考

MSExchangeIS

Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27) 已成功準備備份。

9818

參考

MSExchangeIS

已對 "CVssIExchWriter::OnPrepareSnapshot" 呼叫 Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56)。

9608

參考

MSExchangeIS

Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56) 已成功準備快照集。

2005

參考

ESE

資訊儲存庫 (2256) 正在開始陰影複製執行個體 56。這將是完整陰影複製。

步驟 2:資料庫快照集

在 Exchange 編寫器向 VSS 回報表示備份準備完成之後,接著會發生下列動作:

  1. Exchange 編寫器凍結適當的 Exchange 資料庫。在此情況下,Exchange 會執行下列作業。

    • Exchange 禁止針對特定儲存群組的系統管理動作。

    • Exchange 檢查儲存群組的磁碟區相依性。

    • Exchange 擱置對適當資料庫檔案和交易記檔的所有寫入作業。

      note附註:
      Exchange 仍然允許對資料庫檔案和交易記錄檔進行「讀取」。
  2. 當 Exchange 開始執行作業來凍結 Exchange 資料庫檔案和交易記錄檔時,Exchange 會啟動一個工作者執行緒,以追蹤要花多少時間來建立資料庫的快照集複製。複製程序不得超過 10 秒。

整個快照集複製程序不得超過 70 秒。這包括在「步驟 2:資料庫快照集」程序中發生的所有作業。如果整個程序超過 70 秒,工作者執行緒就會逾時。如果發生逾時,Exchange 會停止備份工作,並取消凍結 Exchange 儲存群組。接著,Exchange 會繼續執行平常的作業。

下表列出於快照集作業期間在應用程式記錄檔中記錄的事件序列。

事件識別碼 事件類型 事件來源 一般

2001

參考

MSExchangeIS

MSExchangeIS (2256) 第三個儲存群組:已開啟陰影複製執行個體 56 凍結。

9818

參考

MSExchangeIS

已對 "CVssIExchWriter::OnFreeze" 呼叫 Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56)。

9610

參考

MSExchangeIS

Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56) 已成功凍結儲存群組。

9818

參考

MSExchangeIS

已對 "CVssIExchWriter::OnThaw" 呼叫 Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56)

2003

參考

ESE

資訊儲存庫 (2256) 已結束陰影複製執行個體 56。

9612

參考

MSExchangeIS

Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56) 已成功取消儲存群組的凍結。

9818

參考

MSExchangeIS

已對 "CVssIExchWriter::OnPostSnapshot" 呼叫 Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56)

步驟 3:陰影複製驗證

備份程式中的 VSS 要求者會驗證陰影複製的健康狀況。然後,程式會通知 Exchange 表示備份是否成功。此動作會指出備份作業已完成。OnBackupComplete() 方法可用來重設 backupInProgress 標幟。

下表列出於備份完成期間在應用程式記錄檔中記錄的事件序列:

事件識別碼 事件類型 事件來源 一般

9818

參考

MSExchangeIS

已對 "CVssIExchWriter::OnBackupComplete" 呼叫 Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56)。

9818

參考

MSExchangeIS

已對 "EcSGBackupComplete" 呼叫 Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56)。

資料:

0000: 54 68 69 72 64 20 53 74 第三個儲存群組。

9780

參考

MSExchangeIS

Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56) 已順利完成儲存群組 '第三個儲存群組' 的完整或增量備份。

2006

參考

ESE

資訊儲存庫 (2256) 已順利完成陰影複製執行個體 56。

9616

參考

MSExchangeIS

Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56) 已順利處理備份完成事件。

當備份作業結束時,Exchange 編寫器會呼叫 OnBackupShutdown() 方法。在備份工作完成之後,此方法用來執行當備份程式結束時所需的作業。

如果發生嚴重錯誤,OnBackupShutdown() 方法會將 Exchange 編寫器狀態設為 [失敗]。

下表列出於 BackupShutdown 事件期間在應用程式記錄檔中記錄的事件序列。

事件識別碼 事件類型 事件來源 一般

9818

參考

MSExchangeIS

已對 "CVssIExchWriter::OnBackupShutdown" 呼叫 Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56)。

9648

參考

MSExchangeIS

Exchange VSS 編寫器 (執行個體 097f686a-7ffb-4903-935f-1b1b1a0d3a27:56) 已順利處理備份關閉事件。

備份失敗期間會發生下列兩個函數呼叫:

  • CVssIExchWriter::OnAbort()

    此方法指出陰影複製作業提前結束。Exchange 編寫器會使用此方法來清除 Exchange 編寫器,以及告知 JET 資料庫取消凍結 (釋放) 資訊儲存庫。另外,Exchange 編輯器也會使用此方法讓 JET 資料庫知道快照集已停止。

  • CVssIExchWriter::EcBackupCleanup()

    如果備份失敗,Exchange 會使用此方法來執行備份失敗後的清除作業。Exchange 會使用此方法讓 JET 資料庫知道快照集已失敗。另外,Exchange 也會使用此方法讓資訊儲存庫知道快照集已失敗。

步驟 4:交易記錄截斷

在成功備份結束時,Exchange 會執行下列作業:

  • Exchange 會截斷交易記錄檔。

    note附註:
    如果您未執行 Exchange 備份,反而是對含有 Exchange 資料庫檔案的磁碟區進行快照集備份,則此備份的處理方式就像處理 Exchange 備份一樣。不過,在此情況下,備份會視為「複製」備份,且不會有任何交易記錄截斷。
  • Exchange 會使用適當的 [需要的記錄] 欄位資訊來更新資料庫標頭。

  • Exchange 會清除備份進行中狀態。

  • Exchange 會記錄適當資料庫上次備份的時間。

VSSADMIN 命令

您可以使用 VSS 系統管理命令列工具 (VSSADMIN),取得已向 VSS 註冊的編寫器和提供者相關資訊。

若要取得 VSS 編寫器的相關資訊,請遵循下列步驟:

  1. 在 Exchange 伺服器上,依序按一下 [開始] 及 [執行],並輸入 cmd,然後按一下 [確定]。

  2. 在命令提示字元中,輸入 vssadmin list writers,然後按 ENTER 鍵。

    檢查傳回的結果以找出 Exchange 編寫器結果。Exchange 編寫器應該處於穩定狀態。Exchange 編寫器處於穩定狀態時會傳回下列結果:

    編寫器名稱:'Microsoft Exchange 編寫器'

    編寫器識別碼:{76fe1ac4-15f7-4bcd987e-8e1acb462fb7}

    編寫器執行個體識別碼:{977637c2-fcdd-463e-b1f8-a9a5d603a2e8}

    狀態:[1] 穩定

    上個錯誤:沒有錯誤

    如果 [狀態] 值不是 [穩定],請重新啟動 Microsoft Exchange Information Store 服務。Exchange 編寫器處於失敗狀態時會傳回類似下列的結果:

    編寫器名稱:'Microsoft Exchange 編寫器'

    編寫器識別碼:{76fe1ac4-15f7-4bcd987e-8e1acb462fb7}

    編寫器執行個體識別碼:{977637c2-fcdd-463e-b1f8-a9a5d603a2e8}

    狀態:[14] 失敗

    上個錯誤:可再嘗試的錯誤

  3. 若要取得已註冊的 VSS 提供者相關資訊,請在命令提示字元中輸入 vssadmin list providers。應該會出現下列結果:

    提供者名稱:'Microsoft 軟體陰影複製提供者 1.0'

    提供者類型:系統

    提供者識別碼:{b5946137-7b9f-4925-af80-51abd60b20d5}

    版本: 1.0.0.7

    預設只會列出 Microsoft 軟體陰影複製提供者。但是,如果已安裝協力廠商備份程式,則可能會列出其他提供者。

note附註:
如需可用命令的相關資訊,請在命令提示字元中輸入 vssadmin /?

診斷記錄

如果您懷疑所遇到的問題是由 Exchange 編寫器的問題所造成,請對 Exchange 編寫器啟用診斷記錄。若要這樣做,請遵循下列步驟:

  1. 啟動 Exchange 管理命令介面。

  2. 執行下列命令:

    get-eventloglevel | where-object {$_.identity -like "*Exchange Writer*"} | set-eventloglevel -level expert 
    
  3. 若要驗證 Exchange 編寫器的記錄等級,請執行下列命令:

    get-eventloglevel | where-object {$_.identity -like "*Exchange Writer*"}
    
  4. 若要將診斷記錄等級還原為其預設等級,請執行下列命令:

    get-eventloglevel | where-object {$_.identity -like "*Exchange Writer*"} | set-eventloglevel -level Lowest
    

Exchange 2007 Extra 工具

您可以使用 Exchange 2007 內含的疑難排解助理員 (Extra) 工具來追蹤 Exchange 編寫器。若要這樣做,請遵循下列步驟:

  1. 在 Exchange 伺服器上,依序按一下 [開始] 及 [執行],並輸入 extra,然後按一下 [確定]。

  2. 如果您之前尚未執行程式,請按一下 [加入 Microsoft 客戶經驗改進計畫],或按一下 [我現在不想加入計畫]。

  3. 在工作窗格中,按一下 [選取工作]。

  4. 在 [疑難排解工作選項] 畫面上,按一下 [追蹤控制]。

  5. 如果您收到下列訊息,請按一下 [確定]:

    此伺服器沒有解譯追蹤所需的模組。只有在合格的 Exchange 技術支援工程師直接監督之下,才能進行後續作業。

  6. 請記下 [選取追蹤檔案位置] 方塊中顯示的路徑。

  7. 按一下 [設定手動追蹤標記]。

  8. 在 [要追蹤的元件] 清單中,按一下 [儲存區],但不要按一下來選取 [儲存區] 核取方塊。

  9. 在 [追蹤標記] 清單中,按一下以選取 [tagVSS] 核取方塊。

  10. 按一下 [開始追蹤]。

BETest 工具

您可以利用 BETest 工具來判斷問題是否由協力廠商 VSS 要求者所造成。

BETest 工具一種測試要求者,可用來測試 Exchange VSS 編寫器。BETest 工具會使用 Microsoft VSS API 對 Exchange 編寫器進行通訊和測試。BETest 工具可以執行一般 VSS 要求者所能執行的許多工作。您可以利用 BETest 工具來取得 Exchange 儲存群組的 VSS 備份。BETest 可以對 Exchange 2007 伺服器上的使用中資料庫或複本資料庫取得 VSS 快照集。

若要取得此工具,請下載並安裝 VSS SDK 7.2 版。若要取得此 SDK,請參閱 Volume Shadow Copy Service SDK 7.2 (英文)。

下列路徑是 BETest i386 版的預設安裝位置:

C:\Program Files (x86)\Microsoft\VSSSDK72\TestApps\betest\obj\i386

note附註:
BETest 也有 AMD64 版本可以使用。在執行 BETest 之前,請先移至含有適當作業系統版本的目錄。

若要使用 BETest,請遵循下列步驟:

  1. 開啟命令提示字元,然後移至作業系統的適當目錄。例如,移至 C:\Program Files (x86)\Microsoft\VSSSDK72\TestApps\betest\obj\amd64 目錄。

  2. 確認可用的 VSS 編寫器。作法是輸入 betest.exe >AvailableWriters.txt

  3. 建立可供 BETest 使用的 Components.txt 檔案。若要這樣做,請遵循下列步驟:

    1. 使用文字編輯器 (例如記事本) 開啟 AvailableWriters.txt。

    2. 找出 [Microsoft Exchange Writer] 區段。在記事本中,按 F3,在 [尋找目標] 方塊中輸入 Microsoft Exchange Writer,然後按 [找下一個]。

    3. 利用 WriterName = Microsoft Exchange Writer 區段中出現的資訊來填入 Components.txt 檔案。此檔案具有下列格式:

      "<WriterIdGUID>":"<component-logical-path>" {"target" # "new target", ...}, ..."<component-logical-path>" :"<subcomponent-logical-path>,...";

      在此檔案中,<component-logical-path> 代表 LogicalPath 項目、LogicalPath 項目連同元件 GUID,或僅限元件 GUID (如果沒有 LogicalPath 值存在)。元件 GUID 代表特定的儲存群組。例如,<component-logical-path> 項目可以是 "Microsoft Exchange Server\Microsoft Information Store\ServerName\000dd565-c4e8-4f58-a8b1-2e29eee4f5c0"。

      下列是 Components.txt 檔案範例:

      "{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\ServerName\999dd565-c4e8-4f58-a8b1-2e29eee4f5c0 ";

      在此範例中,第一個 GUID 是 Exchange 編寫器的 GUID。您無法修改此 GUID。第二個 GUID 屬於特定的儲存群組。您可以藉由指定適當儲存群組的 GUID,進而指定您要執行此命令的儲存群組。若要取得特定儲存群組的 GUID,請執行 Get-StorageGroup '<StorageGroupName>' | fl GUID 指令程式。

      Exchange 僅支援在主動儲存群組上執行資料流備份。因此,若要備份被動儲存群組,您必須使用 VSS 備份。如果您有 Exchange 連續叢集複寫  (CCR) 叢集,或想要從已啟用本機連續複寫 (LCR) 的伺服器備份複本副本,Components.txt 檔案都必須類似下列範例。

      若為 CCR 被動副本

      "{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\Replica\<Clustered Mailbox Server Name>\<Storage Group GUID>";

      若為 LCR 被動副本

      "{76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}":"Microsoft Exchange Server\Microsoft Information Store\Replica\<Server Name>\<Storage Group GUID>";

  4. 建立 Components.txt 檔案之後,請執行下列命令來備份儲存群組:

    BETEST.exe /B /E /T 1 /S output.XML /C components.txt /D c:\betest > output.txt
    
    note附註:
    此命令會在 C:\Betest 目錄中建立備份。您在執行此命令時也可以不使用 /E 選項。
  5. 如果您在執行此命令時收到錯誤訊息,則表示 Exchange 編寫器有問題。為了要協助疑難排解問題,請檢查您在步驟 4 執行命令時所建立的 Output.txt 檔案內容。

最佳作法

下列清單包含對 VSS 備份問題進行疑難排解時的一些建議最佳作法:

  • 確認您已安裝最新的 Windows Service Pack 和最新的 VSS 更新。

  • 假設您正在對嘗試開始備份工作時所發生的 -2403 錯誤進行疑難排解。在此情況下,VSS 會使用 [手動] 啟動類型。如果備份工作懸置,VSS 可能不會停止。相反地,VSS 會認定備份仍在執行中。在此情況下,當您嘗試開始新的備份工作時,您會收到 -2403 錯誤。若要解決此問題,請手動停止 VSS,然後再開始備份工作。

  • 如果您使用 BETest 程式進行問題的疑難排解,請利用此程式來擷取許多天內的多個 BETest 備份。另外,當您執行 BETest 程式時,您必須停止並暫時停用任何協力廠商備份相關的服務。

  • 如果您遇到 VSS 編寫器逾時問題,伺服器的效能可能會有問題。在此情況下,請收集效能記錄來判斷是否有效能問題。

  • VSS 編寫器處於 [可再嘗試的] 狀態。此問題表示 VSS 編寫器遇到非嚴重錯誤。經過一段時間之後,狀態就會自動變更。不過,您可以重新啟動伺服器來解決 [可再嘗試的] 狀態問題。

VSS 參考資料

以下是 VSS 相關的參考資料: