共用方式為


針對 Active Directory 複寫錯誤 8614 進行疑難解答

本文提供針對 Active Directory 複寫錯誤 8614 進行疑難解答的步驟。

原始 KB 編號: 2020053

注意

主使用者: 本文僅適用於技術支持專員和IT專業人員。 如果您要尋找問題的說明,請 詢問Microsoft社群

徵兆

  1. DCDIAG 報告 Active Directory 複寫測試失敗,錯誤狀態代碼為 8614:Active Directory 無法使用此伺服器進行復寫,因為自上次使用此伺服器復寫以來的時間已超過墓碑存留期。

    Testing server: <site name><destination dc name>  
    Starting test: Replications  
    * Replications Check  
    [Replications Check,<destination DC name] A recent replication attempt failed:  
    From <source DC> to <destination DC>  
    Naming Context: <directory partition DN path>  
     The replication generated an error (8614):
     Active Directory cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime.  
    The failure occurred at <date> <time>.  
    The last success occurred at <date> <time>.  
    3 failures have occurred since the last success.  
    
  2. REPADMIN.EXE報告上次復寫嘗試失敗,狀態為8614。 通常引用 8614 狀態的 REPADMIN 命令包括但不限於:

    • REPADMIN /REPLSUM
    • REPADMIN /SHOWREPL
    • REPADMIN /SHOWREPS
    • REPADMIN /SYNCALL

    以下顯示從 CONTOSO-DC2 到 CONTOSO-DC1 輸入複寫失敗且復寫存取遭拒的錯誤範例輸出REPADMIN /SHOWREPS

     efault-First-Site-Name\CONTOSO-DC1  
     DSA Options: IS_GC  
     Site Options: (none)  
     DSA object GUID:  
     DSA invocationID:  
    
    ==== INBOUND NEIGHBORS ======================================  
    
    DC=contoso,DC=com  
    Default-First-Site-Name\CONTOSO-DC2 via RPC  
    DSA object GUID:  
    Last attempt @ <date> <time> failed, result 8614(0x21a6):
    The Active Directory cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime.  
    <#> consecutive failure(s).  
    Last success @ <date> <time>.  
    
  3. NTDS KCC、NTDS 一般或具有五個狀態Microsoft-Windows-ActiveDirectory_DomainService事件會記錄在目錄服務事件記錄檔中。

    通常引用 8524 狀態的 Active Directory 事件包括,但不限於:

    事件來源 ID 事件字串
    NTDS KCC 1925 嘗試建立下列可寫入目錄磁碟分割的複寫連結失敗。
  4. NTDS 複寫事件 2042 可能會記錄在目錄服務事件記錄檔中:

    Event Type: Error
    Event Source: NTDS Replication
    Event Category: Replication
    Event ID: 2042
    User: NT AUTHORITY\ANONYMOUS LOGON
    Computer: <name of DC that logged event>
    
    Description:  
    It has been too long since this machine last replicated with the named source
    machine. The time between replications with this source has exceeded the tombstone
    lifetime. Replication has been stopped with this source.
    
    The reason that replication is not allowed to continue is that the two machine's views of deleted objects may now be different. The source machine may still have copies of objects that have been deleted (and garbage collected) on this machine. If they were allowed to replicate, the source machine might return objects which have already been deleted.
    
    Time of last successful replication: YYYY-MM-DD HH:MM:SS
    Invocation ID of source: <32 character GUID for source DC>
    Name of source: <fully qualified cname record of source DC>
    Tombstone lifetime (days): <current TSL value. Default = 60 or 180 days>
    
    The replication operation has failed.
    
    User Action:
    
    Determine which of the two machines was disconnected from the forest and is now out of date. You have three options:
    
    1. Demote or reinstall the machine(s) that were disconnected.
    2. Use the repadmin /removelingeringobjects tool to remove inconsistent deleted objects and then resume replication.
    3. Resume replication. Inconsistent deleted objects may be introduced. You can continue replication by using the following registry key. Once the systems replicate once, it's recommended that you remove the key to reinstate the protection.  
    
  5. Active Directory Sites and Services 中的 [ 立即 復寫] 命令會傳回下列訊息:

    Active Directory 無法使用此伺服器進行複寫,因為上次使用此伺服器的復寫時間已超過墓碑存留期。

    以滑鼠右鍵按兩下來源 DC 的連接物件,然後選擇 [立即 在 Active Directory Sites and Services 中復寫] (DSSITE)。MSC 未成功。 您會看見下列訊息:

    Active Directory 無法使用此伺服器進行複寫,因為上次使用此伺服器的復寫時間已超過墓碑存留期。

    畫面上的錯誤訊息文字如下所示:

    對話框標題文字:立即複寫
    對話框訊息正文:嘗試將命名內容 <%directory 資料分割名稱%>從域控制器<來源 DC 同步處理至域控制器<目的地 DC>> 期間發生下列錯誤:

    Active Directory 無法使用此伺服器進行複寫,因為上次使用此伺服器的復寫時間已超過墓碑存留期。
    作業不會繼續

    對話框中的按鈕:確定

原因

Active Directory 域控制器支援多宿主複寫。 任何保存可寫入數據分割的域控制器都可以產生物件或屬性的建立、修改或刪除 (value)。 物件/屬性刪除的知識會持續保留至墓碑存留期天數。 (請參閱 Windows Server Active Directory 樹系中揮之不去對象的相關信息。

Active Directory 需要所有分割區持有者的端對端復寫,才能將目錄分割區的所有原始刪除,轉移至所有分割區持有者。 在滾動 TSL 天數內無法輸入複寫目錄分割區會導致揮之不去的物件。 揮之不去的物件是至少一個 DC 刻意刪除的物件,但在無法輸入復寫所有唯一刪除的暫時性知識的目的地 DC 上卻不正確。

錯誤 8614 是執行 Windows Server 2003 或更新版本之域控制器中新增的邏輯範例。 它會隔離揮之不去的物件散佈,並識別導致不一致的目錄分割區的長期復寫失敗。

錯誤 8614 和 NTDS 複寫事件 2042 的根本原因包括:

  1. 記錄 8614 錯誤的目的地 DC 無法從一或多個來源 DC 輸入複寫目錄分割區,以取得墓碑存留期天數。

  2. 目的地 DC 上的系統時間已移動或跳躍,未來自上次成功復寫后一或多個天數的墓碑存留期。 它提供 複寫引擎的外觀 ,目的地DC無法輸入-複寫目錄分割區,以用於墓碑存留期經過的天數。

    當下列條件成立時,可能會發生時間跳躍:

    • 目的地 DC 已成功輸入複寫、採用 不正確的 系統時間 TSL 或未來天數。
    • 然後,目的地 DC 會嘗試從上次從 TSL 複寫的來源輸入復寫,或過去多個天數。

    Or

    時間從目前時間跳到過去日期/時間的墓碑存留期或更多天,成功輸入複寫。 然後,它會嘗試在採用 TSL 或未來多個天數之後進行輸入複寫。

基本上,復寫錯誤 8614 的原因和解決方式同樣適用於 NTDS 複寫事件 2042 的原因和解決方式。

解決方案

注意

有兩個行動計劃可復原記錄錯誤狀態 8614 或 NTDS 複寫事件 2042 的 Active Directory 域控制器。 您可以強制降級域控制器,或使用下方所述的行動計劃: 檢查所需的修正程式、尋找時間跳躍、檢查是否有揮之不去的物件,如果存在,請移除任何復寫隔離、解決複寫失敗,然後將 DC 放回服務。 強制降級這類DC可能更容易且更快速,但可能會導致域控制器上的原始更新(也就是數據遺失)遺失,而域控制器上的強制降級。 Active Directory 會遵循下列步驟,從此條件正常復原。 為您的案例選取最佳解決方案。 請勿假設強制降級是唯一可行的解決方案,特別是當復寫失敗容易解決或 Active Directory 外部時。

  1. 檢查墓碑存留期的非預設值。

    根據預設,根據樹系中部署的 Windows 版本,墓碑存留期會使用 60 或 180 天。 Microsoft 支援服務 會定期看到那些時段內輸入複寫失敗的DC。 墓碑存留期也有可能設定為短期間,例如兩天。 如果是,未針對 輸入複寫的DC,例如,五天會失敗下列測試:

    所有 DC 都必須以滾動 TSL 天數進行複寫

    用來repadmin /showattr查看是否已設定 TombstoneLifetime 屬性的非預設值。

    repadmin /showattr <DC_name> "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=<forest root domain>,DC=<top level domain>"
    

    如果屬性不存在於 showattr 輸出中,則會使用內部預設值。

  2. 檢查 TSL 天數的輸入複寫失敗的 DC。

    使用 repadmin /showrepl * /csv Excel 執行剖析,如驗證成功複寫至域控制器一節中所指定。 排序 Excel 中最後一個復寫成功數據行的重譯輸出,順序是從最小到最新的日期和時間。

  3. 檢查時間跳躍。

    若要判斷是否發生時間 跳躍 ,請檢查目的地DC上的事件和診斷記錄(repadmin /showrepsdcdiag 記錄檔)是否記錄下列時間戳8614錯誤:

    • 在操作系統發行前的日期戳記。 例如,Windows Server 2008 中發行之操作系統的 Windows Server 2003 日期戳記。
      • 在樹系中預安裝作業系統的日期戳記。
      • 未來的日期戳記。
      • 未記錄在指定日期範圍中的事件。

    Microsoft 支援服務 小組在生產域控制器上看到系統時間錯誤地跳躍時數、天、周、年,甚至過去和未來數十年。

    如果系統時間發現不正確,請加以更正。 然後嘗試判斷時間跳躍的原因,以及可以做些什麼來防止不正確的時間前進與糾正錯誤的時間。 調查的可能區域包括:

    • 樹系根 PDC 是使用外部時間來源設定的嗎?
      • 參考時間來源是否在在線、可在網路上使用,以及可在 DNS 中解析?
      • Microsoft或第三方時間服務是否正在執行且處於無錯誤狀態?
      • DC 角色電腦是否設定為使用NT5DS階層至來源時間?
      • 時間復原保護是否已說明 如何設定 Windows Time 服務,以針對已備妥的大型時間位移
      • 系統時鐘在 BIOS 中是否具有良好的電池和準確的時間?
      • 虛擬主機和客體計算機是否根據主機製造商的建議設定為來源時間?

    本文 如何針對大型時間位移 檔步驟設定 Windows Time 服務,以協助保護域控制器不接聽無效的時間範例。 如需 MaxPosPhaseCorrection 和 MaxNegPhaseCorrection 的詳細資訊,可在 Windows Time 服務中使用

  4. 檢查並移除是否有揮之不去的物件。

    8614 錯誤復寫隔離點是檢查是否有揮之不去的物件,如果存在,請在每一個本機保留的分割區中,將目的地 DC 登錄中的 [允許復寫與損毀夥伴] 設定為 1,即使您認為樹系中的所有目的地 DC 都以嚴格的復寫一致性執行。

    拿掉揮之不去的物件超出本文的範圍。 如需詳細資訊,請參閱下列文章:

    Repadmin 語法如下所示:

    語法 線上說明 (Windows Server 2008 及更新版本)
    c:\>repadmin /removelingeringobjects <Dest_DSA_LIST> <Source DSA GUID> <NC> [/advisory_mode] c:\>repadmin /help:removelingeringobject
  5. 評估在目的地DC上設定嚴格的複寫。

    嚴格模式複寫可防止在使用垃圾收集來建立、刪除和回收刻意刪除物件的目的地DC上重新更新物件。

    嚴格複寫的登錄機碼:

    • 路徑:HKEY_LOCAL_MACHINE\system\ccs\services\ntds\parameters
    • 設定:嚴格復寫 <一致性 - 不區分大小寫>
    • 類型:reg_dword
    • 值:0 |1

    Repadmin 在單一或多個 DC 上啟用和停用嚴格複寫的語法如下:

    語法 線上說明 (Windows Server 2008 及更新版本) 在單一 DC 上啟用 在樹系中的所有 DC 上啟用 在樹系中的所有 DC 上啟用
    repadmin /regkey <DSA_LIST> <{+|-}key> [value [/reg_sz]] Repadmin /help:regkey repadmin /regkey <fully qualified computer name> +strict repadmin /regkey * +strict repadmin /regkey gc: +strict
  6. 在 8614 DC 上,將 [允許具有差異且損毀的夥伴復寫] 設定為 1。

    移除任何揮之不去的對象之後,請停用以時間為基礎的復寫隔離:

    登錄方法

    • 登入路徑: HKEY_LOCAL_MACHINE\system\ccs\services\ntds\parameters
    • 登錄設定:允許具有差異和損毀夥伴 <的複寫 - 不區分大小寫」
    • 登錄值:0 = 不允許,1 = 允許

    Repadmin 方法

    語法 線上說明 (Windows Server 2008 及更新版本) 在單一 DC 上啟用 在樹系中的所有 DC 上啟用 在樹系中的所有 DC 上啟用
    repadmin /regkey <DSA_LIST> <{+|-}key> [value [/reg_sz]] Repadmin /help:regkey repadmin /regkey dc01.contoso.com +allowDivergent repadmin /regkey * +allowDivergent repadmin /regkey GC: +allowDivergent
  7. 如果 AD 複寫失敗存在,請加以解決。

    在目的地 DC 上記錄 8614 錯誤狀態時,會遮罩先前在 TSL 天數中記錄的先前復寫錯誤。

    目的地 DC 回報 8614 錯誤的事實並不表示複寫錯誤位於目的地 DC 上。 相反地,復寫失敗的來源可能在於網路或 DNS 名稱解析。 或者,下列其中一個專案可能有問題:

    • 驗證 (authentication)
    • jet 資料庫
    • 拓撲
    • 來源 DC 或目的地 DC 上的復寫引擎

    檢閱來源 DC、目的地 DC 所產生的過去目錄服務事件和診斷輸出(dcdiag、 repadmin logs),以及過去由替代復寫夥伴所產生,以識別導致目的地 DC 與來源 DC 之間無法復寫的範圍和失敗狀態。

  8. 刪除 允許復寫與分化和損毀的夥伴,或將 [允許復寫與分化和損毀的夥伴] 設定為登錄中的 0。

  9. 持續監視 Active Directory 複寫。

    使用 Active Directory 監視應用程式,每天監視 Active Directory 樹系中的端對端復寫。 一個便宜但有效的選項是執行 repadmin /showrepl * /csv ,然後在 Excel 中剖析結果。 如需詳細資訊,請參閱 方法 2:使用命令行監視複寫。

    識別接近 50% 和 90% 墓碑存留期復寫失敗的 DC。 將它們放在監看式清單上。 在 TSL 的 50% 處,進行強式推送以解決複寫錯誤。 在 90% 的情況下,請考慮降級會導致強制復寫錯誤的 DC。 若要這麼做,請使用 dcpromo /forceremoval 命令。

    同樣地,登入目的地 DC 的復寫錯誤可能是因為下列問題所造成:

    • 來源 DC
    • 目的地 DC
    • 基礎網路

    因此,請嘗試先判斷原因和錯誤的位置,再採取預防性動作。

資料收集

如果您需要Microsoft支援方面的協助,建議您遵循使用 TSS 收集 Active Directory 複寫問題的資訊中所述的步驟來收集資訊。

參考資料

修正復寫揮動物件問題 (事件標識符 1388、1988、2042)