Exchange 2007 SP1 與 SP2 中的線上維護資料庫掃描

 

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

上次修改主題的時間: 2009-05-20

在 Microsoft Exchange Server 2007 Service Pack 1 (SP1) 和 Exchange 2007 Service Pack 2 (SP2) 中,您可以使用三個登錄子機碼來啟用及設定線上維護資料庫掃描。線上維護資料庫掃描啟用時,Exchange 會執行下列步驟:

  1. 讀取資料庫頁面。

  2. 進行資料庫頁面的總和檢查。總和檢查是一項程序,可讓 Exchange 據以計算依存於資料庫內容的值 (總和檢查碼),以檢查資料庫的完整性。

  3. 如果設定好,會在資料庫頁面上執行頁面清空。頁面清空是一項在資料流備份結束時執行的程序,在此程序中會以針對此目的所選取的字元覆寫資料庫中的資料。這樣會使得資料無法透過一般方式加以復原。

如果您使用本主題所說明的程序設定要執行線上維護資料庫掃描的伺服器,頁面清空與總和檢查程序將會一併提供 (亦稱為搭便車 (piggybacked)),以有效將讀取輸入/輸出 (I/O) 負載減半。

本主題說明:

  • Exchange 資料庫的總和檢查與頁面清空程序,適用於 Exchange 2007 與 Exchange 2007 SP1 和 SP2 的量產發行 (RTM) 版本。

  • 可用以啟用及設定線上維護資料庫掃描的登錄子機碼。

  • 可用以分析線上維護資料庫掃描期間之系統行為的效能計數器。

  • 可適用於監視線上維護資料庫掃描的事件。

Exchange 2007 RTM 中的總和檢查與頁面清空

在 Exchange 2007 RTM 中,有幾種情況會使資料完整性無法自動透過總和檢查進行驗證,並使頁面清空無法執行。

這些情況包括:

  • 僅從叢集連續複寫 (CCR) 或本機連續複寫 (LCR) 組織中的儲存群組被動副本建立備份。如果僅從被動副本建立備份,資料庫的主動副本將一律不進行總和檢查。

  • 使用 Microsoft Data Protection Manager (DPM) 建立 Exchange 資料的差異區塊層級備份。在此情況下,將只會對備份的已變更資料進行總和檢查。未變更的資料不會進行總和檢查。因此,資料完整性無從明確得知,因為時間一久,資料即可能不復完整 (這種情形一般稱為位元衰減 (bit rot))。

  • 在 CCR 或 LCR 組織中使用磁碟區陰影複製服務 (VSS) 型備份。在此情況下將不會執行頁面清空,因為此功能只會對資料流備份啟用。

  • 在 CCR 或 LCR 組織中使用資料流備份。在此情況下,對資料庫的主動副本執行的頁面清空活動將不會產生交易記錄檔。少了交易記錄檔,這些變更即無法複寫至資料庫的被動副本。

總和檢查資料庫

如前所述,總和檢查是一項計算依存於資料庫內容的值 (總和檢查碼),藉以檢查資料庫完整性的程序。總和檢查碼會與資料存放在一起,而 Exchange 會使用此值確定資料並未受損。在 Exchange 2007 SP1 之前,整個資料庫都會在線上完整資料流備份期間進行總和檢查。資料庫的完整 VSS 快照集亦可進行總和檢查 (但接受總和檢查的是副本,而不是實際的生產資料庫)。然而,隨著 CCR 與 LCR 的發展以及 DPM 的推出,此方法已不敷使用。

使用 CCR 與 LCR 進行總和檢查

若使用 CCR 與 LCR,Exchange 資料庫將會有兩個副本,因此您可以選擇是要備份來源副本還是目標副本。進行備份的副本即為屆時接受總和檢查的副本 (藉由資料流或 VSS 方法)。其他副本不會進行總和檢查。

在 Exchange 2007 SP1 之前,執行完整備份是排定總和檢查的唯一方法。有兩種常見的方式可解決此問題:

  • 每週移動叢集信箱伺服器,使備份移至替代副本。此方法不甚理想,因為它:

    • 必須以可感知 CCR 的備份應用程式執行。

    • 會使管理工作更複雜。

    • 會增加停機時間 (使用此方法無法達到 99.999 的執行時間)。

    • 無法與 LCR 搭配使用。

  • 使用 Exchange Server 資料庫公用程式 (Eseutil) 擱置複寫及重新顯示,然後進行資料庫的總和檢查。此方法也不太理想,因為叢集對這段期間內的失敗沒有足夠的彈性,而此問題必須透過指令碼編寫才能解決。實際上,只有一個副本可定期進行總和檢查,因此叢集內其中一個資料庫副本的完整性將較無法確定。理想情況下,應及早發現錯誤,使資料庫的兩個副本無從受損。

有了 Exchange 2007 SP1 提供的線上維護資料庫掃描,您將不再受限於這些效能不彰的解決方法。

使用 DPM 進行總和檢查

Microsoft Data Protection Manager (DPM) 第 2 版支援 Exchange 2007 資料庫的備份與還原作業。DPM 可執行差異區塊同步處理,以進行手動完整 VSS 備份。這項手動完整備份只會複製在前次完整備份後變更過的區塊 (以縮短備份期間)。手動完整備份的缺點之一,是未變更的資料庫頁面不會進行總和檢查。因此,有些資料庫頁面有可能長時間未進行總和檢查。使用區塊差異備份時,將無法確保原始副本的可靠性與完整性。系統管理員只知道備份副本是經過驗證的。

頁面清空資料庫

頁面清空 (亦稱為清空頁面刪除) 是一項在資料流備份結束時執行的程序,在此程序中會以您特意選取的字元覆寫資料庫中的資料。這樣會使得資料無法透過一般方式加以復原。當某項目從 Exchange 伺服器中刪除 (例如使用者刪除其信箱中的郵件時),且刪除項目保留功能停用時,該項目所佔據的頁面將標示為未使用。頁面清空啟用時,未使用的頁面中所包含的資料在線上備份期間將會被選取的覆寫內容所覆寫。由於每個資料庫頁面皆已備份,因此頁面會在資料庫中以選取的字元覆寫一次於硬碟上。備份完成後,刪除的資料會存放在備份副本上,但資料庫中將不再有這些資料,也無法透過一般方式加以復原。

在 Exchange 2007 RTM 中,您可以在資料流線上備份執行時設定 [備份期間零資料庫] 登錄機碼,以清空已刪除的資料庫頁面。此方法很管用。但若搭配使用 VSS 備份與 CCR,則又會出現不敷使用的情形,因為 VSS 備份無法讓您清空已刪除的頁面。

note附註:
如果要啟用資料庫的頁面清空功能,您最好在建立資料庫時就啟用。如果您沒有在建立資料庫時設定頁面清空,則第一次對資料庫執行頁面清空時,伺服器效能會大受影響。此效能影響會在頁面清空完成資料庫的第一次作業後大幅緩解。您可以使用節流來限制第一次頁面清空作業所產生的效能影響。

使用連續複寫進行頁面清空

在 Exchange Server 2003 與 Exchange 2007 中,您可以在 VSS 備份必須進行頁面清空時使用資料流備份增加這些備份。但在 Exchange 2007 推出 CCR 與 LCR 後,另一項問題也隨之產生:頁面清空會修改資料庫,但不會產生對應的交易記錄。這表示在 CCR 與 LCR 組織中,頁面清空活動不會在資料庫之間進行複寫。在 Exchange 2007 RTM 中,為確保以 CCR 執行頁面清空的有效性,您必須執行下列其中一項工作:

  • 對每個副本執行資料流備份。執行此工作時,必須在節點之間移動 CCR 叢集 CCR 信箱伺服器。

  • 使目標資料庫離線,並使用 Eseutil 執行 eseutil /z 命令。

但隨著對安全性與符合性的顧慮逐漸提高,這些選項也已不再堪用。在 Exchange 2007 SP1 和 SP2 中,頁面清空已移至背景處理程序,並且現在會產生可傳送的記錄,以將頁面清空複寫至 CCR 及 LCR 環境,以及使用待命連續複寫 (SCR) 環境中的資料庫副本。

note附註:
在線上維護期間暫時啟用頁面清空,將會增加記錄的數量。在啟用此功能一段時間後,記錄產生活動應回到啟用頁面清空之前的等級。

Exchange 2007 SP1 與 SP2 的線上維護資料庫掃描

當您在 Exchange 2007 SP1 與 SP2 中啟用線上維護資料庫掃描時,Exchange 會讀取資料庫頁面、對其進行總和檢查,然後在確認其設定相符後對其執行頁面清空。這些步驟全都會在背景中執行。

Exchange 2007 SP1 和 SP2 中的線上維護資料庫掃描具有下列功能:

  • 依預設不會啟用線上維護資料庫掃描。資料庫掃描會影響伺服器效能,因此您必須手動將子機碼新增至登錄中,才能予以啟用。如需相關資訊,請參閱本主題稍後的<使用登錄機碼啟用及設定線上維護資料庫掃描>。

  • 資料庫的總和檢查可與頁面清空一起啟用,亦可單獨啟用。

  • 資料庫的頁面清空與總和檢查都會在資料流備份程序以外執行。這兩項作業皆是在頁面擷取自磁碟時,針對頁面而執行。有一種資料庫掃描工作是,只要頁面清空或線上總和檢查有其中一項啟用,兩者將同時被呼叫。

  • 資料庫掃描追蹤其進度的方式與線上磁碟重組相類似。它會以固定間隔更新進度,以便在繼續中斷的作業時可從中斷之處執行。

  • 資料庫掃描只能在伺服器層級啟用。您無法在儲存群組層級或資料庫層級上啟用資料庫掃描。

  • 資料庫掃描的資料庫頁面清空機制,可透過 CCR 與 LCR 在資料庫副本之間複寫變更。

  • 進行資料庫掃描時,頁面清空交易必須執行正常的交易記錄程序,使變更得以複寫至 CCR 與 LCR 副本。

  • 每經過 320 KB 的 I/O,節流就會中斷線上維護資料庫掃描數毫秒 (指定值)。您可以使用節流來緩解伺服器上執行線上總和檢查程序時所造成的效能影響,例如在工作天執行線上維護資料庫掃描時。

  • 當您啟用線上維護資料庫掃描時,排定用於特定資料庫的線上維護時程將會平均分攤給資料庫掃描程序與資料庫線上磁碟重組程序。例如,如果您排定了八小時的線上維護時程,則資料庫掃描工作與線上磁碟重組工作將各使用約四小時的時間。

使用登錄機碼啟用及設定線上維護資料庫掃描

下表列出可用以啟用及設定線上維護資料庫掃描的登錄子機碼。只有系統管理員可將這些子機碼新增至登錄。根據預設,在安裝 Exchange 時不會將這些子機碼新增至登錄。各子機碼的路徑為 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem

Caution請注意:
UNRESOLVED_TOKEN_VAL(exRegistry)

如需使用這些登錄機碼啟用及設定線上維護資料庫掃描的相關資訊,請參閱如何在 Exchange 2007 SP1 和 SP2 中設定線上維護資料庫掃描

工作 登錄子機碼 類型 描述

啟用線上維護資料庫總和檢查

Online Maintenance Checksum

REG_DWORD

此登錄子機碼可啟用線上維護執行期間的資料庫總和檢查。如果登錄中沒有此子機碼 (或是存在但設為 0),即不會執行資料庫總和檢查。

啟用線上維護資料庫頁面清空

Zero Database Pages During Checksum

REG_DWORD

此登錄子機碼可啟用資料庫頁面清空。如果登錄中沒有此子機碼 (或是存在但設為 0),即不會在線上維護資料庫掃描期間執行頁面清空。

啟用線上維護資料庫節流

Throttle Checksum

REG_DWORD

此登錄子機碼可用以指定節流時間間隔 (每 320 KB 的 I/O 間的指定毫秒數),讓伺服器可在此間隔內執行其他工作。如果登錄中沒有此子機碼 (或是值設為 0),則不會使用節流。

用以監視線上維護資料庫總和檢查與頁面清空的效能計數器

下表列出可用以監視及分析資料庫掃描執行時之系統效能的效能計數器。

note附註:
若要使用表中所列的效能計數器,您必須啟用經過延伸的可延伸儲存引擎 (ESE) 效能計數器。如需如何啟用延伸 ESE 效能計數器的相關資訊,請參閱如何啟用延伸 ESE 效能計數器

用以監視總和檢查效能的計數器

效能計數器 描述

MSExchangeDatabase\Online Maintenance (DB Scan) Pages Read/sec

此效能計數器可指定在線上維護資料庫掃描期間,從整個 Exchange 存放區中的所有資料庫讀取資料庫頁面的速率。

MSExchangeDatabase==>Instances\Online Maintenance (DB Scan) Pages Read/sec

此效能計數器可指定在線上維護資料庫掃描期間,讀取個別執行個體 (如單一儲存群組) 的資料庫頁面時所採用的速率。

用以監視頁面清空效能的計數器

效能計數器 描述

MSExchangeDatabase\Online Maintenance (DB Scan) Pages Zeroed/sec

此效能計數器可指定在線上維護資料庫掃描期間,從整個 Exchange 存放區中的所有資料庫清空資料庫頁面的速率。

MSExchangeDatabase\Database==>Instances\ Online Maintenance (DB Scan) Pages Zeroed/sec

此效能計數器可指定在線上維護資料庫掃描期間,清空個別執行個體 (如單一儲存群組) 的資料庫頁面時所採用的速率。

適用於監視線上維護資料庫掃描的事件

下表列出事件檢視器中可用以監視上線維護資料庫掃描的事件。

如需相關資訊,請參閱如何在 Exchange 2007 SP1 和 SP2 中監視線上維護資料庫掃描

事件 描述 來自事件檢視器中的應用程式記錄檔的範例

事件 717:資料庫總和檢查背景工作已啟動。

此事件會在資料庫總和檢查啟動後引發。

不適用

事件 718:資料庫頁面清空背景工作已啟動。

此事件會在資料庫頁面清空啟動後引發。

不適用

事件 721:資料庫總和檢查背景工作已完成。

此事件會在資料庫總和檢查完成後引發。它會報告下列資訊:

  • 已檢視的頁數

  • 錯誤總和檢查碼數目

  • 未初始化的頁面數目

事件類型:參考

事件來源:ESE

事件類別:線上磁碟重組

事件識別碼: 721

日期: 6/20/2007

時間:8:21:37 AM

使用者:無

電腦:ExchangeServer01

描述:

MSExchangeIS (6544) 第三個儲存群組:資料庫 'J:\sg3\priv3.edb' 的線上維護資料庫總和檢查背景工作已完成。此作業起始於 09.07.07,執行時間共計 20 秒,1 天內共要求 1 次呼叫。

作業摘要:

已檢視 768 頁

0 個錯誤總和檢查碼

268 個未初始化的頁面

事件 722:資料庫頁面清空背景工作已完成。

此事件會在資料庫頁面清空完成後引發。它會報告下列資訊:

  • 已檢視的頁數

  • 錯誤總和檢查碼數目

  • 未初始化的頁面數目

  • 自前次清空後未變更的頁面

  • 已清空的未使用頁面數目

  • 已檢視的已使用頁面數目

  • 已清空的已刪除記錄數目

  • 已清空的未參考資料區塊數目

事件類型:參考

事件來源:ESE

事件類別:線上磁碟重組

事件識別碼: 722

日期: 6/20/2007

時間:08:21:37

使用者:無

電腦:ExchangeServer01

描述:

MSExchangeIS (6544) 第三個儲存群組:資料庫 'J:\sg3\priv3.edb' 的線上維護資料庫清空背景工作已完成。此作業起始於 20.06.07,執行時間共計 369 秒,1 天內共要求 1 次呼叫。作業摘要:

已檢視 5850768 頁

0 個錯誤總和檢查碼

72681 個未初始化的頁面

自前次清空後有 4379723 頁未變更

已清空 33759 個未使用的頁面

已檢視 1210764 個已使用的頁面

已清空 57214 個已刪除的記錄

已清空 0 個未參考的資料區塊

事件 723:資料庫總和檢查背景工作發生錯誤。

此事件會在資料庫總和檢查背景工作發生錯誤時引發。

不適用

事件 724:資料庫頁面清空背景工作發生錯誤。

此事件會在資料庫頁面背景工作發生錯誤時引發。

不適用

事件 729:資料庫頁面清空已暫停。

此事件會在資料庫頁面清空於線上維護期間因缺少可用的可清除頁面而暫停時引發。

事件類型:錯誤

事件來源:ESE

事件類別:線上維護

事件識別碼: 729

日期: 7/27/2007

時間:上午 05:05:30

使用者:無

電腦:ExchangeServer01

描述:

MSExchangeIS (5828) SG15:下列資料庫的線上維護頁面清空在過去 60 分鐘內暫停了一或多次:'v:\sg15\data\priv15test.edb'。ESE 資料庫快取的大小不足以對所列的資料庫同時執行線上維護頁面清空。動作:錯開所列資料庫的線上維護時程,或增加伺服器中的實體 RAM 數量。

相關資訊

如需 System Center DPM 2007 的相關資訊,請參閱 System Center Data Protection Manager 2007 (英文)。

如需與 DPM 相關的特定資訊,請參閱 Exchange Server 小組網誌文章 System Center Data Protection Manager 2007 Beta 2 推出了!(英文)。

note附註:
UNRESOLVED_TOKEN_VAL(exBlog)

如需線上維護資料庫掃描與 CCR 的相關資訊,請參閱規劃叢集連續複寫