共用方式為


Windows Server 域控制器會在遇到 USN 復原時記錄 Directory Services 事件 2095

本文說明如何使用操作系統的映像式安裝,偵測及復原 Windows Server 域控制器是否不正確復原。

原始 KB 編號: 875495

注意

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

摘要

本文說明更新序號 (USN) 復原所造成的無訊息 Active Directory 複寫失敗。 當舊版的 Active Directory 資料庫未正確還原或貼上就地時,就會發生 USN 復原。

發生USN復原時,對某個域控制器上發生的物件和屬性所做的修改不會複寫到樹系中的其他域控制器。 因為復寫夥伴認為他們有 Active Directory 資料庫的最新複本,所以監視和疑難解答工具,例如Repadmin.exe不會報告任何復寫錯誤。

域控制器會在偵測到USN復原時,記錄目錄服務事件記錄檔中的目錄服務事件 2095。 事件訊息的文字會指示系統管理員前往本文,以了解復原選項。

事件 2095 記錄專案的範例

Log Name:      <Service name> Service  
Source:        Microsoft-Windows-ActiveDirectory_DomainService  
Date:          <DateTime>
Event ID:      2095  
Task Category: Replication  
Level:         Error  
Keywords:      Classic  
User:          <USER NAME>  
Computer:      SERVER.contoso.com  
Description:

During an Active Directory Domain Services replication request, the local domain controller (DC) identified a remote DC which has received replication data from the local DC using already-acknowledged USN tracking numbers.

Because the remote DC believes it is has a more up-to-date Active Directory Domain Services database than the local DC, the remote DC will not apply future changes to its copy of the Active Directory Domain Services database or replicate them to its direct and transitive replication partners that originate from this local DC.

If not resolved immediately, this scenario will result in inconsistencies in the Active Directory Domain Services databases of this source DC and one or more direct and transitive replication partners. Specifically the consistency of users, computers and trust relationships, their passwords, security groups, security group memberships and other Active Directory Domain Services configuration data may vary, affecting the ability to log on, find objects of interest and perform other critical operations.

To determine if this misconfiguration exists, query this event ID using http://support.microsoft.com or contact your Microsoft product support.

The most probable cause of this situation is the improper restore of Active Directory Domain Services on the local domain controller.

User Actions:

If this situation occurred because of an improper or unintended restore, forcibly demote the DC.

下列主題討論如何在以 Windows Server 為基礎的域控制器中偵測及復原 USN 復原。

在執行 Windows Server 2012 和更新版本的域控制器上備份 Active Directory 的支援方法

Windows Server 2012 新增 Hyper-Visor 世代標識符 (GenID) 的支援。 這可讓虛擬客體偵測具有新標識符的磁碟區,並回應新的 GenID。 在 Active Directory 中,目錄服務的反應就像從備份還原域控制器一樣。 然後會產生新的調用標識碼。 藉由使用新的調用標識碼,資料庫實例可以在樹系中安全地重新輸入複寫。

這是虛擬域控制器部署和設定中涵蓋的其中一個案例。

在執行 Windows Server 2003 或更新版本的 Windows Server 域控制器上備份 Active Directory 的支援方法

在域控制器的生命週期中,您可能必須還原或「回復」Active Directory 資料庫的內容到已知的良好時間點。 或者,您可能必須將域控制器主機操作系統的元素,包括 Active Directory 復原到已知的良好點。

以下是可用來復原 Active Directory 內容的支援方法:

  • 使用 Active Directory 感知備份和還原公用程式,其使用Microsoft提供的和Microsoft測試的 API。 這些 API 不具權威或權威地還原系統狀態備份。 還原的備份應該源自於相同的操作系統安裝,以及正在還原的相同實體或虛擬計算機。

  • 使用使用Microsoft磁碟區陰影複製服務 API 的 Active Directory 感知備份和還原公用程式。 這些 API 會備份並還原域控制器系統狀態。 磁碟區陰影複製服務支援在執行 Windows Server 2003、Windows Server 2008 或 Windows Server 2008 R2 的計算機上,建立單一或多個磁碟區的單一時間點陰影複本。 單一時間點陰影複製也稱為快照集。 如需詳細資訊,請在 Microsoft 支援服務搜尋「磁碟區陰影複製服務」。

  • 還原系統狀態。 評估此網域控制站是否有有效的系統狀態備份。 如果在復原域控制器未正確還原之前進行有效的系統狀態備份,而且如果備份包含域控制器上最近所做的變更,請從最新的備份還原系統狀態。

還原 Active Directory 感知系統狀態備份時發生的一般行為

Windows Server 域控制器會搭配調用標識碼使用 USN 來追蹤必須在 Active Directory 樹系中的復寫夥伴之間復寫的更新。

來源域控制器會使用 USN 來判斷要求變更的目的地域控制器已收到哪些變更。 目的地域控制器會使用 USN 來判斷應從來源域控制器要求哪些變更。

調用標識碼會識別在指定域控制器上執行的 Active Directory 資料庫版本或具現化。

使用Microsoft已設計和測試的 API 和方法,在域控制器上還原 Active Directory 時,還原域控制器上的調用標識碼會正確重設。 樹系中的域控制器會收到調用重設的通知。 因此,它們會據以調整其高水位線值。

導致 USN 復原的軟體和方法

使用下列環境、程式或子系統時,系統管理員可以略過Microsoft在還原域控制器系統狀態時所設計的檢查和驗證:

  • 啟動 Active Directory 域控制器,其 Active Directory 資料庫檔案已還原(複製)到位,方法是使用諾頓幽靈等映像程式。

  • 啟動先前儲存的域控制器虛擬硬碟映像。 下列案例可能會導致 USN 復原:

    1. 在虛擬主控環境中升級域控制器。
    2. 建立虛擬裝載環境的快照集或替代版本。
    3. 讓域控制器繼續輸入複寫和輸出複寫。
    4. 啟動您在步驟 2 中建立的域控制器映像檔。
  • 造成此案例的虛擬化裝載環境範例包括Microsoft Virtual PC 2004、Microsoft Virtual Server 2005 和 EMC VMWARE。 其他虛擬化裝載環境也可能造成此案例。

  • 如需虛擬裝載環境中域控制器支援條件的詳細資訊,請參閱 在虛擬裝載環境中裝載 Active Directory 域控制器時要考慮的事項。

  • 啟動位於磁碟子系統載入磁碟區上的 Active Directory 域控制器,方法是使用先前儲存的作業系統映像,而不需要還原 Active Directory 的系統狀態。

    • 案例 A:啟動位於儲存多個磁碟區版本之磁碟子系統上的 Active Directory 複本

      1. 升級域控制器。 在磁碟子系統上找出 Ntds.dit 檔案,以儲存裝載 Ntds.dit 檔案的多個磁碟區版本。
      2. 使用磁碟子系統來建立裝載域控制器 Ntds.dit 檔案之磁碟區的快照集。
      3. 繼續讓域控制器從您在步驟 1 中建立的磁碟區載入 Active Directory。
      4. 啟動 Active Directory 資料庫儲存在步驟 2 中的域控制器。
    • 案例 B:從中斷鏡像中的其他磁碟驅動器啟動 Active Directory

      1. 升級域控制器。 找出鏡像磁碟驅動器上的 Ntds.dit 檔案。
      2. 中斷鏡像。
      3. 在鏡像的第一個磁碟驅動器上使用 Ntds.dit 檔案,繼續輸入復寫和輸出複寫。
      4. 在鏡像的第二個磁碟驅動器上使用 Ntds.dit 檔案啟動域控制器。

即使未預期,這些案例中的每一個都可能導致域控制器透過不支援的方法回復到舊版的 Active Directory 資料庫。 復原 Active Directory 或 Active Directory 域控制器本機狀態的唯一支援方式,就是使用 Active Directory 感知備份和還原公用程式還原源自相同操作系統安裝的系統狀態備份,以及正在還原的相同實體或虛擬計算機。

Microsoft不支援採取 Active Directory 域控制器系統狀態元素快照集的任何其他程式,並將該系統狀態的元素複製到操作系統映像。 除非系統管理員介入,否則這類程式會造成USN復原。 此 USN 復原會導致未正確還原域控制器的直接和可轉移復寫夥伴在其 Active Directory 資料庫中有不一致的物件。

USN 復原的效果

發生 USN 回復時,物件和屬性的修改不會由先前看過 USN 的目的地網域控制站進行輸入複寫。

因為這些目的地網域控制站認為他們是最新的,所以在目錄服務事件記錄中或從監視及診斷工具,不會回報任何複寫錯誤。

USN 回復可能會影響任何分割區中任何物件或屬性的複寫。 最常見的副作用是,在回復網域控制站上建立的使用者帳戶和電腦帳戶,在一或多個複寫協力電腦上不存在。 或者,在回復網域控制站上產生的密碼更新,不存在於複寫協力電腦上。

下列步驟顯示可能導致 USN 復原的事件順序。 使用不支援的系統狀態還原,當域控制器系統狀態及時回復時,就會發生USN回復。

  1. 系統管理員會在網域中升級三個域控制器。 (在此範例中,域控制器是DC1、DC2和DC2,而網域是 Contoso.com。DC1 和 DC2 是直接復寫夥伴。 DC2 和 DC3 也是直接復寫夥伴。 DC1 和 DC3 不是直接復寫夥伴,而是透過 DC2 以轉移方式接收原始更新。

  2. 系統管理員會在 DC1 上建立 10 個對應至 USN 1 到 10 的用戶帳戶。 所有這些帳戶都會復寫到 DC2 和 DC3。

  3. DC1 上會擷取作業系統的磁碟映像。 此影像有對應至 DC1 上本機 USN 1 到 10 的物件記錄。

  4. Active Directory 中會進行下列變更:

    • 在步驟 2 中建立之所有 10 個使用者帳戶的密碼都會在 DC1 上重設。 這些密碼會對應至 USN 11 到 20。 所有 10 個更新的密碼都會復寫到 DC2 和 DC3。
    • DC1 上會建立10個對應至USN21到30的新用戶帳戶。 這10個用戶帳戶會復寫到DC2和DC3。
    • DC1 上會建立10個對應至USN31到40的新電腦帳戶。 這 10 個電腦帳戶會復寫到 DC2 和 DC3。
    • DC1 上會建立10個對應至USN 41到50的新安全組。 這10個安全組會復寫到DC2和DC3。
  5. DC1 發生硬體故障或軟體失敗。 系統管理員會使用磁碟映像公用程式,將步驟 3 中建立的操作系統映像複製到就地。 DC1 現在從具備 USN 1 到 10 知識的 Active Directory 資料庫開始。

    由於操作系統映像已就地複製,且未使用還原系統狀態的支援方法,因此 DC1 會繼續使用建立資料庫初始復本的相同調用標識碼,且所有變更最多可達 USN 50。 DC2 和 DC3 也會針對 DC1 維護相同的調用標識碼,以及 DC1 的 USN 50 最新向量 。 (最新向量是指定目錄分割的所有域控制器上要發生的最新原始更新目前狀態。

    除非系統管理員介入,否則 DC2 和 DC3 不會輸入復寫對應至來自 DC1 之本機 USN 11 到 50 的變更。 此外,根據 DC2 所使用的調用標識碼,DC1 已經知道對應至 USN 11 到 50 的變更。 因此,DC2 不會傳送這些變更。 由於步驟 4 中的變更不存在於 DC1 上,登入要求會失敗,並出現「拒絕存取」錯誤。 此錯誤可能是因為密碼不相符,或因為較新的帳戶隨機向DC1進行驗證時,帳戶不存在。

  6. 在樹系中監視復寫健全狀況的系統管理員請注意下列情況:

    • Repadmin /showreps命令行工具會報告 DC1 與 DC2 之間的雙向 Active Directory 複寫,以及 DC2 和 DC3 之間的雙向複寫未發生錯誤。 這種情況會使任何復寫不一致難以偵測。

    • 執行 Windows Server 之域控制器之目錄服務事件記錄中的複寫事件不會指出目錄服務事件記錄檔中的任何復寫失敗。 這種情況會使任何復寫不一致難以偵測。

    • 當 DC2 和 DC3 上的網域目錄分割區與 DC1 上的分割區相比較時,Active Directory 使用者和電腦 或 Active Directory 管理工具 (Ldp.exe) 會顯示不同的物件計數和不同的物件元數據。 差異在於對應至 USN 變更 11 到步驟 50 的一組變更。

      注意

      在此範例中,不同的物件計數會套用至用戶帳戶、計算機帳戶和安全組。 不同的物件元數據代表不同的用戶帳戶密碼。

    • 步驟 2 中建立之 10 個使用者帳戶的使用者驗證要求偶爾會產生「拒絕存取」或「不正確的密碼」錯誤。 此錯誤可能是因為 DC1 上的這些用戶帳戶與 DC2 和 DC3 上的帳戶之間存在密碼不符。 遇到此問題的用戶帳戶會對應至步驟 4 中建立的用戶帳戶。 步驟 4 中的使用者帳戶和密碼重設並未復寫到網域中的其他域控制器。

  7. DC2 和 DC3 會從 DC1 開始從 DC1 開始輸入復寫原始更新,這些更新對應至大於 50 的 USN 數位。 由於先前記錄的最新向量臨界值 USN 50 已超過,因此此複寫通常會在沒有系統管理介入的情況下繼續執行。 (USN 50 是 DC1 在 DC2 和 DC3 上為 DC1 記錄的最新向量 USN,然後 DC1 離線並還原。不過,在不支援的還原之後,原始 DC1 上對應至 USN 11 到 50 的新變更永遠不會復寫到 DC2、DC3 或其可轉移的復寫夥伴。

雖然步驟 6 中提及的徵兆代表 USN 復原在使用者和計算機帳戶上可以具有的一些效果,但 USN 復原可以防止任何 Active Directory 分割區中的任何物件類型複寫。 這些物件類型包括:

  • Active Directory 複寫拓樸和排程

  • 樹系中的網域控制站以及這些網域控制站保存的角色的存在

    注意

    這些角色包括全域編錄、相對標識碼 (RID) 配置,以及作業主要角色。 (Operations master 角色也稱為彈性單一主要作業或 FSMO。

  • 樹系中網域和應用程式分割區的存在

  • 安全性群組及其目前群組成員資格的存在

  • Active Directory 整合 DNS 區域中的 DNS 記錄註冊

USN 洞的大小可能代表數百、數千、甚至數萬的使用者、電腦、信任、密碼和安全性群組的變更。 (USN 洞是由還原的系統狀態備份進行時存在的最高 USN 數目和在離線之前在回覆域控制器上建立的原始變更數目所定義。

偵測 Windows Server 域控制器上的 USN 復原

由於 USN 復原難以偵測,因此當來源域控制器將先前認可的 USN 號碼傳送至目的地域控制器時,Windows Server 2003 SP1 或更新版本域控制器會記錄事件 2095,而不會對調用標識符進行對應的變更。

為了避免在不正確的還原網域控制站上建立 Active Directory 的唯一原始更新,會暫停 Net Logon 服務。 當 Net Logon 服務暫停時,使用者和電腦帳戶無法變更域控制器上不會輸出復寫這類變更的密碼。 同樣地,Active Directory 管理工具在對 Active Directory 中的物件進行更新時,會優先使用狀況良好的網域控制站。

在網域控制站上,如果下列條件成立,則會記錄類似下列的事件訊息:

  • 來源網域控制站會將先前認可的 USN 號碼傳送至目的地網域控制站。
  • 呼叫識別碼中沒有對應的變更。

這些事件可能可在目錄服務的事件記錄檔中擷取。 不過,系統管理員可能還沒觀察到就先將其覆寫了。

您可能懷疑已發生 USN 復原。 不過,您不會在目錄服務事件記錄檔中看到相互關聯的事件。 在此案例中,請檢查 Dsa Not Writable 登錄專案。 此項目可提供 USN 回復已發生的鐵證。

  • 登錄子機碼: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
  • 登錄專案:Dsa 不可寫入
  • 值:0x4

刪除或手動變更 Dsa Not Writable 登錄專案值,會將復原域控制器置於永久不支援的狀態。 因此,不支援這樣的變更。 具體而言,修改此值會移除 USN 回復偵測程式碼所增加的隔離行為。 回復網域控制站上的 Active Directory 分割區,與同一 Active Directory 樹系中的直接和轉移複寫協力電腦將永遠不一致。

從 USN 復原復原

有三種方法可從USN復原復原。

參考資料