共用方式為


Active Directory 複寫事件標識碼 2087:DNS 查閱失敗導致復寫失敗

本文提供 Active Directory 複寫事件識別碼 2087 的解決方案,此標識碼會在功能變數名稱系統(DNS) 查閱失敗導致復寫失敗時發生。

適用於: 支援的 Windows Server 版本
原始 KB 編號: 4469661

徵兆

當功能變數名稱系統 (DNS) 查閱失敗導致複寫失敗時,通常會發生此問題。 當目的地域控制器在目錄服務事件記錄檔中收到事件標識碼 2087 時,嘗試解析別名 (CNAME) 資源記錄中的全域唯一標識碼 (GUID),完整功能變數名稱 (FQDN),以及來源域控制器 IP 位址的 NetBIOS 名稱都失敗。 找不到來源複寫夥伴會防止使用該來源進行複寫,直到問題修正為止。

以下是事件文字的範例:

記錄檔名稱:目錄
服務來源:Microsoft-Windows-ActiveDirectory_DomainService
日期:2008/3/9 上午 11:00:21
事件標識碼:2087
工作類別:DS RPC 用戶端
層級:錯誤
關鍵字:傳統
使用者:匿名登入
電腦:DC3.contoso.com
描述:Active Directory 無法將來源域控制器的下列 DNS 主機名解析為 IP 位址。 此錯誤可防止在樹系中的一或多個域控制器之間復寫 Active Directory 網域服務 新增、刪除和變更。 在解決此錯誤之前,安全組、組策略、用戶和計算機及其密碼在域控制器之間將會不一致,這可能會影響登入驗證和網路資源的存取。

來源域控制器:DC2
DNS 主機名失敗:
b0069e56-b19c-438a-8a1f-64866374dd6e._msdcs.contoso.com
注意:根據預設,即使發生超過 10 個失敗,任何指定的 12 小時期間最多會顯示 10 個 DNS 失敗。 若要記錄所有個別失敗事件,請將下列診斷登錄值設定為 1:

登入路徑: HKLM\System\CurrentControlSet\Services\NTDS\Diagnostics\22 DS RPC Client

使用者動作:

  1. 如果來源網域控制站不再運作,或其作業系統已以不同的電腦名稱稱或 NTDSDSA 物件 GUID 重新安裝,請使用 MSKB 文章 216498中所述的步驟,移除來源網域控制站的中繼資料與 ntdsutil.exe。

  2. 輸入 「net view \\<source DC name」 或 「ping <來源 DC 名稱>>」,確認來源域控制器正在執行 Active Directory 網域服務 且可在網络上存取。

  3. 使用 http://www.microsoft.com/dns 上提供的 DNS 增強版 DCDIAG.EXE,確認來源網域控制站使用有效的 DNS 伺服器進行 DNS 服務,並正確註冊來源網域控制站的主機記錄和 CNAME 記錄
    dcdiag /test:dns

  4. 在目的地網域控制站的主控台上執行 DNS 增強版本的 DCDIAG.EXE 命令,以確認此目的地網域控制站使用有效的 DNS 伺服器,如下所示:
    dcdiag /test:dns

  5. 如需 DNS 錯誤失敗的進一步分析,請參閱 KB 824449:http://support.microsoft.com/?kbid=824449

其他資料
錯誤值:11004
要求的名稱有效,但找不到要求類型的數據。

診斷

無法將來源域控制器的目前別名 (CNAME) 資源記錄解析為IP位址,可能會有下列原因:

  • 來源域控制器已關閉電源、離線或位於隔離的網路,且離線域控制器的 Active Directory 和 DNS 資料尚未刪除,表示無法存取域控制器。

  • 下列其中一個條件存在:

    • 來源域控制器尚未在 DNS 中註冊其資源記錄。
    • 目的地域控制器設定為使用無效的 DNS 伺服器。
    • 來源域控制器已設定為使用無效的 DNS 伺服器。
    • 來源域控制器使用的 DNS 伺服器不會載入正確的區域,或區域未設定為接受動態更新。
    • 目的地域控制器查詢的直接 DNS 伺服器無法解析來源域控制器的 IP 位址,因為不存在或無效的轉寄站或委派。
  • Active Directory 網域服務 (AD DS) 已在來源域控制器上移除,然後使用相同的 IP 位址重新安裝,但新 NTDS 設定 GUID 的知識尚未到達目的地域控制器。

  • 來源域控制器上已移除AD DS,然後以不同的IP位址重新安裝,但來源域控制器IP位址的目前主機位址 (A) 資源記錄未註冊,或目的地域控制器因復寫延遲或復寫錯誤而查詢的 DNS 伺服器上不存在。

  • 來源域控制器的作業系統已以不同的計算機名稱重新安裝,但其元數據尚未移除或已移除,而且尚未由目的地域控制器進行輸入複寫。

解決方法

首先, 判斷域控制器是否正常運作。 如果來源域控制器無法運作,請 從AD DS 移除其剩餘的元數據。

如果來源域控制器正常運作,請視需要繼續執行診斷和解決 DNS 問題的程式:

判斷域控制器是否正常運作

若要判斷來源域控制器是否正常運作,請使用下列測試。

需求:

  • 域控制器網域中的 Domain Users 群組成員資格或對等專案,是完成此程式的最低需求。 請檢閱本機與網域預設群組中關於使用適當帳戶和群組成員資格的詳細資料。

  • 工具:網路檢視

若要確認域控制器正在執行 AD DS 且可在網路上存取,請在命令提示字元中輸入下列命令,然後按 Enter

net view \\<SourceDomainControllerName>

其中 <SourceDomainControllerName> 是域控制器的 NetBIOS 名稱。

此命令會顯示 Netlogon 和 SYSVOL 共用,指出伺服器正在當做域控制器運作。 如果這項測試顯示域控制器無法在網路上運作,請判斷中斷連線的性質,以及是否可以復原域控制器,或是否必須手動從 AD DS 移除其元數據。 如果域控制器無法運作且無法還原,請使用下一節 中的程式清除域控制器元數據,從 AD DS 刪除與該伺服器相關聯的數據。

清除域控制器元數據

如果測試顯示域控制器已不再運作,但仍會在 Active Directory Sites and Services 嵌入式管理單元中看到代表域控制器的物件,則繼續嘗試複寫,您必須手動從 AD DS 移除這些物件。 您必須使用 Active Directory 使用者和電腦 嵌入式管理單元或 Ntdsutil 工具來清除已失效域控制器的元數據(刪除)。

如果無用域控制器是網域中的最後一個域控制器,您也應該移除網域的元數據。 在您升級具有相同名稱的新網域之前,請讓樹系中的所有全域編錄伺服器有足夠的時間輸入複寫網域刪除。

清除元數據的程式已改善任何支援的 Windows Server 版本 Ntdsutil 版本。 下列程式提供使用 Ntdsutil 清除元數據的指示。

需求:

  • Enterprise Admins 的成員資格或對等專案是完成此程式的最低需求。 請檢閱本機與網域預設群組中關於使用適當帳戶和群組成員資格的詳細資料。
  • 工具:Ntdsutil (System32 命令行工具)

清除伺服器元數據的步驟

清除域控制器元數據的便利方法,是使用 Active Directory 使用者和電腦 嵌入式管理單元。 如需詳細資訊,請參閱

或者,您可以使用 Ntdsutil:

  1. 開啟提高權限的命令提示字元。

  2. 在命令提示字元中 ntdsutil ,輸入 命令,然後按 Enter

  3. 在 ntdsutil 命令提示字元中 metadata cleanup ,輸入命令,然後按 Enter

  4. 執行元數據清除,如下所示:

    注意

    如果您要移除網域元數據以及伺服器元數據,請略過下列程式,並使用步驟 1 開始的程式。

    • 如果您只執行伺服器元資料清除,而且您使用支援的 Windows Server 版本隨附的 Ntdsutil.exe 版本, metadata cleanup: 請在命令提示字元中輸入下列命令,然後按 Enter

      remove selected server <ServerName>
      

      Or

      remove selected server <ServerName1> on <ServerName2>
      
      參數 描述
      <ServerName>、 <ServerName1> 您要移除其元數據的域控制器辨別名稱,格式為 cn=<ServerName,cn=Servers,cn=<SiteName,cn>>=Sites,cn=Configuration,dc=<ForestRootDomain>
      <ServerName2> 您要連接之域控制器的 DNS 名稱,以及要從中移除伺服器元數據的 DNS 名稱。
    • 如果您要使用 Ntdsutil.exe 版本執行元數據清除,或執行網域元數據清除和伺服器元數據清除,請執行元數據清除,如下所示:

      1. metadata cleanup: 提示字元中 connection ,輸入 命令,然後按 Enter
      2. server connections: 提示字元中 connect to server <Server> ,輸入 命令,然後按 Enter
      3. connection: 提示字元中 quit ,輸入 命令,然後按 Enter
      4. metadata cleanup: 提示字元中 select operation target ,輸入 命令,然後按 Enter
      5. select operation target: 提示字元中 list sites ,輸入 命令,然後按 Enter
      6. 網站編號清單隨即出現。 select site <SiteNumber>輸入 命令,然後按 Enter 鍵。
      7. select operation target: 提示字元中 list domains in site ,輸入 命令,然後按 Enter
      8. 所選網站中的網域編號清單隨即出現。 select domain <DomainNumber>輸入 命令,然後按 Enter 鍵。
      9. select operation target: 提示字元中 list servers in site ,輸入 命令,然後按 Enter
      10. 網域和站台中的伺服器編號清單隨即顯示。 select server <ServerNumber>輸入 命令,然後按 Enter 鍵。
      11. select operation target: 提示字元中 quit ,輸入 命令,然後按 Enter
      12. metadata cleanup: 提示字元中 remove selected server ,輸入 命令,然後按 Enter
      13. 如果您移除的元數據伺服器是網域中的最後一個域控制器,而且您想要移除網域元數據, metadata cleanup: 請在提示字元中輸入 remove selected domain 命令,然後按 Enter。 已移除您在步驟 h 中選取之網域的元數據。
      14. metadata cleanup:ntdsutil: 提示字元中輸入 quit,然後按 Enter 鍵。
      參數 Description
      <Server> 您想要連線之域控制器的 DNS 名稱。
      <SiteNumber> 與您要清除之伺服器月台相關聯的數位,其會出現在清單中。
      <DomainNumber> 與您要清除之伺服器網域相關聯的數位,其會出現在清單中。
      <ServerNumber> 與您要清除之伺服器相關聯的數位,其會出現在清單中。

使用 Dcdiag 診斷 DNS 問題

如果域控制器在在線運作,請繼續使用 Dcdiag 工具來診斷並修正可能會干擾 Active Directory 複寫的 DNS 問題。

使用下列程式來完成此程式:

開始這些程式之前,請先收集事件標識碼 2087 消息正文中包含的下列資訊:

  • 來源域控制器和目的地域控制器的 FQDN
  • 來源域控制器的IP位址

任何支援的 Windows Server 版本中包含的 Dcdiag 更新版本包含的測試,可提供基本和進階 DNS 功能的合併和改進測試。 您可以使用此工具來診斷基本 DNS 功能和動態更新。

當您使用 Dcdiag 進行 DNS 測試時,有不適用於所有 Dcdiag 測試的特定需求。

需求:

  • Enterprise Admins 或對等的成員資格是完成 DNS 測試的最低需求。 請檢閱本機與網域預設群組中關於使用適當帳戶和群組成員資格的詳細資料。
  • 工具:Dcdiag.exe
  • 作業系統:任何支援版本的 Windows Server 或用戶端搭配遠端伺服器管理工具 (RSAT)

注意

您可以使用 /f: Dcdiag 命令中的 參數,將輸出儲存至文字檔。 使用 /f: FileName 在 FileName指出的位置產生檔案,例如 /f:c:\Test\DnsTest.txt

確認基本 DNS 功能

若要確認可能會干擾 Active Directory 複寫的設定,您可以從執行基本 DNS 測試開始,以確保 DNS 在域控制器上正常運作。

基本 DNS 測試會檢查下列各項:

  • 連線能力:測試會判斷域控制器是否已在 DNS 中註冊、可透過 PING 連絡,以及具有輕量型目錄存取通訊協定/遠端過程調用 (LDAP/RPC) 連線能力。 如果網域控制站上的連線測試失敗,則不會針對該網域控制站執行其他測試。 連線測試會在執行任何其他 DNS 測試之前自動執行。

  • 基本服務:測試會確認下列服務正在執行,且可在測試的域控制器上使用:

    • DNS 用戶端服務
    • Net Logon 服務
    • 金鑰配送中心 (KDC) 服務
    • DNS 伺服器服務(如果 DNS 安裝在域控制器上)
  • DNS 用戶端設定:測試會確認所有適配卡上的 DNS 伺服器皆可連線。

  • 資源記錄註冊:測試會確認每個域控制器的主機 (A) 資源記錄至少在客戶端上設定的其中一部 DNS 伺服器上註冊。

  • 區域和授權啟動 (SOA):如果網域控制站正在執行 DNS 伺服器服務,則測試會確認 Active Directory 網域區域以及 Active Directory 網域區域的授權啟動 (SOA) 資源記錄存在。

  • 根區域:檢查是否有根 (.) 區域。

驗證基本 DNS 功能的步驟
  1. 在命令提示字元中,輸入下列命令,然後按 Enter

    dcdiag /test:dns /s:<SourceDomainControllerName> /DnsBasic
    

    其中 <SourceDomainControllerName> 是域控制器的辨別名稱、NetBIOS 名稱或 DNS 名稱。

    或者,您可以輸入 /e: 而非 /s:,以測試樹系中的所有域控制器。

  2. 將報表複製到 [記事本] 或對等文本編輯器中。

  3. 捲動至 Dcdiag 記錄檔底部附近的 [摘要] 資料表。

  4. 請注意摘要數據表中報告「警告」或「失敗」狀態的所有域控制器名稱。

  5. 搜尋字串 「DC: <DomainControllerName>」,以尋找問題域控制器的詳細分組區段。

  6. 在 DNS 用戶端和 DNS 伺服器上進行必要的設定變更。

  7. 若要驗證組態變更,請使用 /e:/s: 參數重新執行Dcdiag /test:DNS

如果基本 DNS 測試未顯示任何錯誤,請繼續確認用來尋找域控制器的資源記錄已在 DNS 中註冊。

確認資源記錄註冊

目的地網域控制站會使用 DNS 別名 (CNAME) 資源記錄來找到其來源網域控制站複寫夥伴。 雖然域控制器可以使用 FQDN 找到來源複寫夥伴(或者,如果失敗,NetBIOS 名稱),但預期有別名 (CNAME) 資源記錄存在,而且應該驗證是否有適當的 DNS 運作。

您可以使用 Dcdiag 來驗證註冊域控制器位置所需的所有資源記錄,方法是使用 dcdiag /test:dns /DnsRecordRegistration 測試。 此測試會驗證 DNS 中下列資源記錄的註冊:

  • 別名 (CNAME) (以 GUID 為基礎的資源記錄,可找出複寫夥伴)
  • 主機 (A) (包含網域控制器 IP 位址的主機資源紀錄)
  • LDAP SRV (服務 (SRV) 找到 LDAP 伺服器的資源記錄)
  • GC SRV (服務 (SRV) 找到全域編錄伺服器的資源記錄)
  • PDC SRV (服務 (SRV) 資源記錄,可找出主要域控制器 (PDC) 模擬器作業主機)

或者,您可以使用下列程式,只檢查別名 (CNAME) 資源記錄。

驗證別名 (CNAME) 資源記錄註冊的步驟
  1. 在 DNS 嵌入式管理單元中,找出執行 DNS 伺服器服務的任何域控制器,其中伺服器裝載 DNS 區域的名稱與域控制器的 Active Directory 網域相同。

  2. 在主控台樹中,按兩下名為 _msdcs的區域。Dns_Domain_Name。

    注意

    在 Windows 2000 Server DNS 中,_msdcs。Dns_Domain_Name是 Active Directory 功能變數名稱 DNS 區域的子域。 在 Windows Server 2003 DNS 中,_msdcs。Dns_Domain_Name是個別的區域。

  3. 在詳細資料窗格中,確認下列資源記錄存在:

    • 名為 Dsa_Guid._msdcs 的別名 (CNAME) 資源記錄。Dns_Domain_Name
    • DNS 伺服器名稱的對應主機 (A) 資源記錄

如果未註冊別名 (CNAME) 資源記錄,請確認動態更新正常運作。 使用下一節中的測試。

確認動態更新

如果基本 DNS 測試顯示 DNS 中沒有資源記錄,請使用動態更新測試來診斷 Net Logon 服務未自動註冊資源記錄的原因。 若要確認 Active Directory 網域區域已設定為接受安全動態更新,以及執行測試記錄 (_dcdiag_test_record) 的註冊,請使用下列程序。 測試記錄會在測試之後自動予以刪除。

若要確認動態更新,請在命令提示字元中輸入下列命令,然後按 Enter

dcdiag /test:dns /s:<SourceDomainControllerName> /DnsDynamicUpdate

其中 <SourceDomainControllerName> 是域控制器的辨別名稱、NetBIOS 名稱或 DNS 名稱。

或者,您可以使用 參數來測試所有域控制器 /e: ,而不是 /s: 參數。

如果未設定安全動態更新,請使用下列程式進行設定。

啟用安全的動態更新

  1. 開啟 DNS 嵌入式管理單元。
  2. 在主控台樹中,以滑鼠右鍵按下適用的區域,然後按兩下 [ 屬性]。
  3. 在 [ 一般] 索引標籤上,確認區域類型為 Active Directory 整合。
  4. 在 [動態更新],按兩下 [僅限安全]。

註冊 DNS 資源記錄

如果來源域控制器的 DNS 資源記錄未出現在 DNS 中,表示您已驗證動態更新,而且您想要立即註冊 DNS 資源記錄,您可以使用下列程式手動強制註冊。 網域控制站上的 Net Logon 服務會註冊在網路上找到網域控制站所需的 DNS 資源記錄。 DNS 用戶端服務會註冊別名 (CNAME) 記錄所指向的主機 (A) 資源記錄。

需求:

  • 樹系根域或 Enterprise Admins 群組中的 Domain Admins 群組成員資格,或對等專案,是完成此程式的最低需求。
  • 工具: net stop/net start、ipconfig

手動註冊 DNS 資源記錄

若要在來源域控制器上手動起始域控制器定位器資源記錄的註冊,請在命令提示字元中輸入下列命令,然後在每個命令之後按 Enter

net stop net logon
net start net logon

若要手動起始主機 A 資源記錄的註冊,請在命令提示字元輸入下列命令,然後按 Enter

ipconfig /flushdns
ipconfig /registerdns

等候 15 分鐘,然後檢閱 事件檢視器 中的事件,以確保資源記錄的適當註冊。

重複本節稍早的 [驗證資源記錄註冊 ] 區段中的程式,確認資源記錄是否出現在 DNS 中。

同步處理來源與目的地域控制器之間的複寫

完成 DNS 測試之後,請使用下列程式,將輸入連線上的複寫從來源域控制器同步處理至目的地域控制器。

需求:

  • 目的地域控制器網域中的 Domain Admins 群組成員資格或對等專案,是完成此程式的最低需求。 請檢閱本機與網域預設群組中關於使用適當帳戶和群組成員資格的詳細資料。
  • 工具:Active Directory 月臺和服務

從來源域控制器同步復寫的步驟

  1. 開啟 [Active Directory 站台及服務]。
  2. 在主控台樹中,按兩下 [月 臺] 容器,按兩下您要同步複寫的域控制器月臺,按兩下 [伺服器 ] 容器,按兩下域控制器的伺服器物件,然後按兩下 [NTDS 設定]。
  3. 在詳細資料窗格中,於 [ 從伺服器 ] 資料行中,找出顯示來源域控制器名稱的連接物件。
  4. 以滑鼠右鍵按兩下適當的連接物件,然後按兩下 [ 立即複寫]。
  5. 按一下 [確定]

如果復寫失敗,請使用下一節中的程序來驗證NTDS設定GUID的一致性。

確認 NTDS 設定 GUID 的一致性

如果您已執行所有 DNS 測試和其他測試和複寫未成功,請使用下列程式來確認目的地域控制器用來找出其復寫夥伴所使用之 NTDS Settings 物件的 GUID 符合目前在來源域控制器本身上生效的 GUID。 若要執行此測試,您可以檢視物件 GUID,因為它出現在每個域控制器的本機目錄中。

需求:

  • 目的地域控制器網域中的 Domain Admins 群組成員資格或對等專案,是完成此程式的最低需求。
  • 工具:Ldp.exe (Windows 支援工具)

驗證 NTDS 設定 GUID 一致性的步驟

  1. 按兩下 [ 開始],按兩下 [執行],輸入 Ldp,然後按兩下 [ 確定]。
  2. 在 [連線] 功能表上,按一下 [連線])。
  3. 在 [ 連線] 對話框中,將 [ 伺服器 ] 方塊保留空白。
  4. [埠] 中,輸入 389,然後按兩下 [ 確定]。
  5. 在 [ 連線] 功能表上,按兩下 [ 系結]。
  6. 在 [系 ] 對話框中,提供企業系統管理員認證。 如果尚未選取,請按兩下 [ 網域]。
  7. 在 [ 網域] 中,輸入樹系根域的名稱,然後按兩下 [ 確定]。
  8. 在 [ 檢視] 功能表上,按兩下 [ 樹狀結構]。
  9. 在 [ 樹視圖 ] 對話框中,輸入 CN=Configuration,DC=Forest_Root_Domain ,然後按兩下 [ 確定]。
  10. 流覽至物件 CN=NTDS 設定,CN=SourceServerName,CN=Servers,CN=SiteName,CN=Sites,CN=configuration,DC=ForestRootDomain。
  11. 按兩下 [NTDS 設定 ] 物件。 在詳細數據窗格中,檢視屬性 objectGUID 的值。 以滑鼠右鍵按下該值,然後將它複製到 [記事本]。
  12. 在 [ 連線] 功能表上,按兩下 [ 中斷連線]。
  13. 重複步驟 2 到 11,但在步驟 3 中,輸入來源域控制器的名稱,例如 DC03。
  14. 在 [記事本] 中,比較兩個 GUID 的值。
  15. 如果值不相符,目的地域控制器必須接收有效 GUID 的復寫。 檢查其他域控制器上的 GUID 值,並嘗試在目的地域控制器上使用具有正確 GUID 的不同域控制器進行複寫。
  16. 如果值相符,請確認 GUID 符合 Dsa_Guid._msdcs 中的 GUID。Dns_Domain_Nameresource來源域控制器的記錄,如下所示:
    1. 請注意每個域控制器在其網路設定中 TCP/IP 屬性中識別的主要 DNS 伺服器。 個別 TCP/IP 屬性中列出的所有 DNS 伺服器都應該能夠間接或直接解析此別名 (CNAME) 資源記錄。
    2. 從列出的伺服器中,查看區域根目錄名稱伺服器 (NS) 資源記錄所列的伺服器名稱,以識別此網域區域的授權名稱伺服器或伺服器。 (在 DNS 嵌入式管理單元中,選取根域的正向對應區域,然後在詳細資料窗格中檢視名稱伺服器 (NS) 記錄。
    3. 在步驟 B 中取得的名稱伺服器或伺服器上,開啟 DNS 嵌入式管理單元,然後按兩下樹系根功能變數名稱的正向對應區域。 按兩下_msdcs資料夾,並記下您伺服器名稱存在的別名 (CNAME) 資源記錄。

資料收集

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