一月 06 2011

解決網域控制站的複寫錯誤問題-事件ID 2042

分類:Servers

昨天為了做 Exchange 2010 升級測試,一口氣將玩了好幾個月的 Hyper-V LAB 通通砍掉,重新把去年六月中所建立的初始環境匯入並還原。但在還原時,卻突然想到某件恐怖的事情可能會發生,因為我的 LAB 是公司 AD 環境的縮小版,其中包含了兩台網域控制站 ( DC );果然,DC 在開機後立即出現了服務錯誤的警告,到事件檢視器檢查後就發現「事件ID 2042」的問題,導致 DC 除了沒辦法互相做複寫,連 LAB 環境中的 Exchange 2003 也無法正常跟 DC 溝通了。

主要原因其實就是,當時 DC 備份的時間跟再還原的時間,已經遠遠超過 Server 2003 AD 環境預設的標記存留時間 (TSL,Tombstone Lifetime) 了。

還好解決方式並不難,微軟 TechNet 技術文件庫裡面其實就有資料。

請參考其中:Event ID 2042: It has been too long since this machine replicated ( Server 2008 版本以上請改參考:事件識別碼 2042:這部電腦複寫後已經過很長一段時間 ),直接對下列位置的機碼:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

新增一組 DWORD 值名為「Allow Replication With Divergent and Corrupt Partner」,並將數值資料設為「1」。

最後,再將修改好的 DC 重開使機碼及功能生效,就恢復正常了。以小弟發生的狀況來說,主 DC ( 具有 FSMO 五大角色、GC ) 及次要 DC  ( 具有 GC ) 都有同樣錯誤訊息,所以兩台都做了機碼的編修。

要特別注意的是,如果修改後確認 DC 及 AD 環境不再有異常複寫錯誤,請務必將該值修改為「0」。避免有其他因還原或其他狀況而過期的 DC 想進行複寫,最後導致 AD 運作混亂。

假使有人跟我一樣,常需要在 Hyper-V 裡做快照及還原的動作,其實也可以參考另一份文件修改預設的 Tombstone Lifetime:Determine the tombstone lifetime for the forest;只是我沒這樣做,原因在於即使是 LAB,我還是會希望讓他接近真實環境,越能從 LAB 的各種錯誤狀況中找到解決方法,其實也會加快我的學習。

另外,如果建立 AD 時是使用 Windows Server 2000 或 Windows Server 2003 ( 無 SP ),那麼預設的 TSL 值就是 60 天,也不會因為 Server 2003 升級了 ServicePack 1 以後,而自動增加為 180 天,除非手動進行修改。

推薦延伸閱讀:
● 微軟 TechNet 技術文件庫:在 Hyper-V 執行網域控制站

目前有 4 個回應 , 標籤:


目前有 4 個回應

  1. Peddy 說道:

    想請問~版主
    不曉得是否有Windows 2008 Foundation 32bit 的還原光碟片呢?

    (因看了版主發文,供User很多參考價值,想詢問看看)

    • AskaSu 說道:

      Hi, Peddy

      不好意思,我這邊並沒有 Windows 2008 Foundation 的還原光碟,
      而且印象中 Windows 2008 Foundation 並沒有零售,
      是由 OEM 硬體製造商附在機器隨同出貨,
      可以試著詢問你的設備原廠客服看看。

  2. IT新手 說道:

    請教蘇老:
    若是使用Windows 2008R2 標準版本,是否也苦以使用此該改機碼方式

    ,得以排除標記存留期的問題?

    • AskaSu 說道:

      2008R2的處理方式,在文章中有提到可以參考哪一份資料喔

      至於能否用機碼方式,
      官方並沒有提供這樣的作法,
      但錯誤訊息中卻有告知這樣的選項。

發表迴響

*