Поделиться через


Ошибка репликации Active Directory 8545: "Не удалось применить обновление репликации"

В этой статье описывается решение проблемы, из-за которой репликация Active Directory завершается сбоем для одной или нескольких секций с ошибкой 8545.

Исходный номер базы знаний: 3110029

Примечание.

Домашние пользователи: эта статья предназначена только для агентов технической поддержки и ИТ-специалистов. Если вы ищете помощь с проблемой, обратитесь к сообществу Майкрософт.

Симптомы

Репликация Active Directory завершается ошибкой для одной или нескольких секций и возвращает ошибку 8545: "Обновление репликации не удалось применить, так как источник или назначение еще не получили сведения о недавней операции перемещения между доменами".

Кроме того, следующая ошибка регистрируется в журнале службы каталогов на целевом контроллере домена:

Событие Microsoft-Windows-ActiveDirectory_DomainService Event ID 1084Internal: домен Active Directory Services не удалось обновить следующий объект с изменениями, полученными из следующей исходной службы каталогов. Это связано с ошибкой во время применения изменений домен Active Directory Services в службе каталогов.

Объект:

CN=<User,OU>=Users,OU=Boulder,DC=na,DC=contoso,DC=com
GUID объекта:
33555323-8e42-42dd-ab95-51693b54281f

Исходный сервер службы каталогов:
1126750c-e8ac-4355-8412-ccb287e48c23._msdcs.contoso.com

Синхронизация службы каталогов с исходной службой каталогов блокируется до устранения этой проблемы с обновлением.
Эта операция будет выполнена повторно при следующей запланированной репликации.

Действие пользователя
Перезапустите локальный компьютер, если это условие, как представляется, связано с низкими системными ресурсами (например, низкой физической или виртуальной памятью).

Дополнительные данные
Значение ошибки:
8545 Не удалось применить обновление репликации, так как источник или назначение еще не получили сведения о недавней операции перемещения между доменами.

Примечание.

Дополнительные сведения о применении значений, на которые ссылается идентификатор события 1084, см. в таблицах в разделе "Дополнительные сведения".

Причина

Эта проблема возникает, если объект, указанный в событии 1084, был перенесен из одного домена в другой домен в том же лесу. Контроллер домена назначения не узнает о новом расположении объекта (его секции). Поэтому объект по-прежнему присутствует в старой секции на целевом контроллере домена.

Исходный контроллер домена знает о миграции объекта и находит его в новом расположении объекта.

Ошибка репликации Active Directory 8545 регистрируется, когда исходный контроллер домена пытается отправить изменения для этого недавно перенесенного объекта, когда целевой контроллер домена находит объект, присутствующих в другой секции.

Решение

В качестве профилактической меры рассмотрите возможность применения последних доступных Обновл. Windows на всех контроллерах домена. Для этого выполните следующие шаги.

  1. Определите различающееся имя (DN) контекста именования (NC) или секции, из которой был перенесен объект. Дополнительные сведения об этом см. в разделе "Дополнительные сведения".

  2. На целевом контроллере домена выполните следующие действия, чтобы отменить размещение этой секции:

    1. Выполните следующую командную строку: Repadmin /unhost DestinationDC <DNofObject sOldLocation>

      Например, если целевой контроллер домена — DC1 и DN для секции, из которой был перенесен объект dc=corp,dc=contoso,dc=com, команда будет Repadmin /unhost DC1 dc=corp,dc=contoso,dc=com.

      Примечание.

      Отслеживайте журнал службы каталогов на контроллере домена для идентификатора события 1660. Просмотрите текст события, чтобы убедиться, что контроллер домена больше не размещает NC CORP.

    2. Идентификатор события 1659 указывает состояние операции unhost. Не считывайте секцию до тех пор, пока не будете успешно синхронизировать другую секцию.

  3. На целевом контроллере домена активируйте репликацию с исходным контроллером домена (сбоем).

  4. Повторное размещение секции с контроллера домена с допустимой копией секции чтения и записи. Для этого выполните следующую командную строку:

    Repadmin /add DNobObject'sOldLocation DestinationDC GoodSourceDC /readonly

    Например, предположим, что конечный контроллер домена — DC1, секция, которую вы не размещали, — dc=corp,dc=contoso,dc=com, а контроллер домена с копией секции CorpDC1.corp.contoso.comcorp. В этой ситуации команда будет Repadmin /add dc=corp,dc=contoso,dc=com dc1 CorpDC1.corp.contoso.com /readonly. Дополнительные сведения об этом конкретном сценарии см. в разделе "Дополнительные сведения".

Дополнительная информация

Сценарий, описанный в предыдущих разделах, может быть запутан. Используйте следующий стиль таблицы, чтобы документировать все точки данных, необходимые для устранения этой проблемы.

Сначала определите, является ли он исходным или целевым контроллером домена, который имеет копию объекта в старом расположении (расположение, из которого был перенесен объект).

Полное имя Details
DN объекта CN=JUSTINTU,OU=Users,OU=BOULDER,DC=na,DC=contoso,DC=com
ObjectGUID 33555323-8e42-42dd-ab95-51693b54281f
DN родительского объекта OU=Users,OU=BOULDER,DC=na,DC=contoso,DC=com
Старый исходный домен (DN) В каком домене был объект?

Dc=corp,dc=contoso,dc=com
Целевой домен (DN) В какой домен был перенесен объект?

Dc=na,dc=contoso,dc=com
Определение всех контроллеров домена с помощью объектов (метаданных репликации) Repadmin /showobjmeta *"<GUID=33555323-8e42-42ddd-ab95-51693b54281f>" >JUSTINTUObjmeta.txt

Важный:

Для всех контроллеров домена, из которыми не удается получить данные:
1. Подключитесь к каждому контроллеру домена, из которых вы не получили данные.
2. Повторно выполните команду и замените имя контроллера домена звездочкой.

Пример: repadmin /showobjmeta DC004 "<GUID=33555323-8e42-42dd-ab95-51693b54281f>" >LCTXDC004_JUSTINTUObjmeta.txt
Определение всех контроллеров домена с помощью объектов (значений атрибутов) Repadmin /showattr *"<GUID=33555323-8e42-42dd-ab95-51693b54281f>" /gc >JUSTINTUattr.txt

Важный:

Для всех контроллеров домена, из которыми не удается получить данные:
1. Подключитесь к каждому контроллеру домена.
2. Повторно выполните команду и замените имя контроллера домена звездочкой.

Пример: repadmin /showobjattr LCTXDC004 "<GUID=33555323-8e42-42dd-ab95-51693b54281f>" /gc >LCTXDC004_JUSTINTUAttr.txt
Определение всех контроллеров домена в лесу Repadmin /viewlist * >allDCs.txt
Определение DSA_GUID для всех контроллеров домена Repadmin /showattr DCNAME NCOBJ: Config: /filter:"(Objectclass=NTDSDSA)" /atts:objectGUID /subtree >ntdsa.txt

Предыдущие две команды.
КОНТРОЛЛЕР домена в исходном домене без объекта в разделе NA— имя
Контроллер домена в исходном домене без объекта в разделе NA DSA_GUID
Состояние репликации для леса Repadmin /showrepl * /csv >showrepl.csv

Чтобы определить текущее расположение объекта в базе данных:

  1. Дамп базы данных одного из целевых контроллеров домена.
  2. Откройте файл дампа базы данных и найдите объект objectGUID, который сообщается в событии 1084.
  3. Захватите DNT и PDNT и создайте иерархию объектов, скопируйте соответствующие значения в таблицу следующим образом:
ДНТ PDNT RDN ObjectGUID
61001 45020 Джастинту 33555323-8e42-42dd-ab95-51693b54281f
45020 20005 LostAndFound
6931 1752 Корпорация
1751 20003 Contoso
1750 2 com

С помощью файла дампа базы данных можно просмотреть текущее расположение этого объекта в базе данных на этом контроллере домена:

CN=LostAndFound,DC=Corp,DC=Contoso,DC=com

Вы можете увидеть, что объект присутствует в контейнере LostAndFound на corp.contoso.com NC. Однако репликация блокируется для этого объекта, за исключением NA.contoso.com NC. Так как этот объект уже присутствует в базе данных (но в старой, неправильной NC), необходимо удалить эту секцию из этого контроллера домена, чтобы удалить старый объект.

Пример плана действий сценария

Объект configuration был перенесен из раздела Corp в раздел NA. Однако секция NA не реплицируется из NADC1.na.contoso.com DC1.la.contoso.comнее, и попытка возвращает ошибку 8545.

Целевой контроллер домена: DC1.la.contoso.com

Исходный контроллер домена: NADC1.na.contoso.com

  1. В качестве профилактической меры рекомендуется установить статью базы знаний 2682997 на всех контроллерах домена, которые по-прежнему работают под управлением Windows Server 2008 или Windows Server 2008 R2. Для этого потребуется отменить размещение секции Corp на контроллере домена, реплицировать секцию NA, а затем прочитать секцию CORP из известного хорошего источника. Для этого выполните следующие действия.
    1. Отмените размещение секции из GC, выполнив следующие команды:

      Repadmin /options dc +disable_ntdsconn_xlate

      Repadmin /unhost the DC dc=corp,dc=contoso,dc=com

    2. Отслеживайте журнал службы каталогов на контроллере домена для идентификатора события 1660. Просмотрите текст события, чтобы убедиться, что контроллер домена больше не размещает NC CORP.

  2. Идентификатор события 1659 указывает состояние операции unhost. Не считывайте секцию до тех пор, пока не синхронизируете раздел NA, как показано ниже.
    1. Репликация секции NA. После успешного удаления секции из базы данных инициируйте репликацию CORPDC.na.contoso.com , выполнив следующую команду:

      
      Repadmin /replicate the DC1.la.contoso.com NADC1.na.contoso.com DC=na,DC=bayer,DC=cnb
      
    2. Считывал NC CORP обратно в этот контроллер домена, выполнив следующие команды repadmin /add:

      Repadmin /add dc=corp,dc=contoso,dc=com DC1.la.contoso.com CorpDC1.corp.contoso.com /readonly 
      
      Repadmin /options the DC -disable_ntdsconn_xlate 
      

Сбор данных

Если вам нужна помощь от службы поддержки Майкрософт, мы рекомендуем собрать информацию, выполнив действия, описанные в разделе "Сбор сведений" с помощью TSS для проблем с репликацией Active Directory.