Идентификаторы событий репликации Active Directory 2108 и 1084 происходят во время входящей репликации доменные службы Active Directory

В этой статье описывается решение проблемы, при которой при входящей репликации доменные службы Active Directory (AD DS) возникают идентификаторы событий 2108 и 1084.

Применяется к: Windows Server 2016, Windows Server 2012 R2
Исходный номер базы знаний: 837932

Симптомы

При выполнении входящей репликации доменные службы Active Directory (AD DS) контроллер домена назначения под управлением Microsoft Windows Server 2003 с пакетом обновления 1 (SP1) по Windows Server 2016 регистрирует в журнале службы каталогов следующее событие:

Идентификатор события 1084: внутреннее событие: доменные службы Active Directory не удалось обновить следующий объект с изменениями, полученными от следующей службы исходных каталогов. Это связано с ошибкой при применении изменений в доменные службы Active Directory в службе каталогов.

Объект: CN=<cn path>

GUID объекта: <objectguid>

Служба исходного каталога: NTDSA._msdcs.<имя корневого DNS-домена forst>

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

Эта операция будет предпринята еще раз при следующей запланированной репликации.

Действие пользователя:

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

Дополнительные данные:

Значение ошибки: <строка ошибки с кодом><ошибки>

Примечание.

  • В тексте Значения ошибки код> ошибки и <строка> ошибки представляют фактические значения, <отображаемые в записи журнала.
  • Событие 1804 регистрируется с Windows 2000 Server.

Контроллеры домена назначения под управлением Windows Server 2003 с пакетом обновления 1 (SP1) также регистрируют следующее событие в журнале службы каталогов:

Идентификатор события 2108: это событие содержит процедуры REPAIR для события 1084, которое ранее было зарегистрировано. Это сообщение указывает на определенную проблему с согласованность базы данных доменные службы Active Directory в этом назначении репликации. Ошибка базы данных при применении реплицированных изменений к следующему объекту. В базе данных было непредвиденное содержимое, что не позволяло вносить изменения.

Примечание.

  • Событие 2108 регистрируется в Windows Server 2003 после установки с пакетом обновления 1 (SP1).
  • Это партнерское событие для события 1084.

Причина

Эти события возникают, когда контроллер домена не может записать транзакционные изменения в локальную копию базы данных Active Directory.

Разрешение

Чтобы устранить эту проблему, выполните следующие действия. Повторите операцию репликации после каждого шага, вносящее изменения.

  1. Убедитесь, что на томах, на которых размещена база данных Active Directory, доступно достаточно свободного места, а затем повторите операцию. Чтобы освободить дополнительное место на диске, выполните следующие действия.

    1. Перемещение несвязанных файлов в другой том.

    2. Выполните резервное копирование состояния системы. Этот процесс уменьшает размер файлов журнала транзакций. Дополнительные сведения см. в статье Использование функции резервного копирования для резервного копирования и восстановления данных в Windows Server 2003.

    3. Выполните автономную дефрагментацию Active Directory. Дополнительные сведения см. в статье Выполнение автономной дефрагментации базы данных Active Directory.

  2. Убедитесь, что на физических дисках, на которых размещен файл Ntds.dit и файлы журнала транзакций, не включено сжатие файловой системы NTFS. Чтобы подтвердить это, щелкните правой кнопкой мыши букву диска на вкладке "Мой компьютер", а затем убедитесь, что флажок Сжатие диска для экономии дискового пространства проверка не установлен.

  3. Убедитесь, что физические диски, на которых размещен файл Ntds.dit и файлы журнала транзакций, специально исключены из удаленных и локальных антивирусных программ. Дополнительные сведения см. в документации по антивирусной программе.

  4. Если контроллер домена назначения содержит глобальный каталог и ошибка возникает в одной из секций, доступных только для чтения, используйте один из следующих методов, чтобы устранить проблему:

    • Способ 1. Используйте параметр повторного размещения средства Repadmin.exe для повторного размещения затронутой секции.

      Средство Repadmin.exe устанавливается на компьютерах с ролью контроллера домена и устанавливается вместе со средством RSAT на рядовых рабочих станциях и серверах. Для этого введите в командной строке следующую команду, где domain_controller — имя целевого контроллера домена, а good_source_domain_controller_name — имя другого контроллера домена:

      repadmin /rehost domain_controller naming_context good_source_domain_controller_name
      
    • Способ 2. Настройте контроллер домена так, чтобы он больше не был сервером глобального каталога. Выполните следующие действия:

      1. Нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Active Directory Сайты и службы.
      2. Найдите поддерееСерверы\ имен\ по умолчанию domain_controller_name \ NTDS Settings (Параметры NTDS).
      3. Щелкните правой кнопкой мыши параметры NTDS и выберите пункт Свойства.
      4. Снимите флажок Глобальный каталог проверка и нажмите кнопку ОК.
    • Способ 3

      Если ошибка возникает в разделе программы, используйте средство Ntdsutil.exe, чтобы изменить реплика, на котором размещен раздел программы.

  5. Используйте стороннюю служебную программу, например служебную программу FileMon, чтобы определить, обращается ли программа или пользователь к базе данных Active Directory, файлам журнала транзакций или файлу Edp.tmp. Если действие доступа к файлам существует, остановите службы, которые отвечают за действие. Дополнительные сведения о программе FileMon см. в разделе FileMon для Windows версии 7.04.

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

    1. На исходном контроллере домена временно переместите объект, на который ссылается событие 1084, в контейнер подразделения. Подразделение не должно быть связано с текущим контейнером. Например, переместите объект в новый контейнер из корневого каталога домена.

    2. Если репликация завершена после перемещения объекта, переместите объект обратно в исходный контейнер.

    3. Принудительное распространение дескриптора безопасности перестроит происхождение контейнера объектов в базе данных, которая существует как на исходном, так и на целевом контроллерах домена. Для этого выполните следующие действия:

      1. Убедитесь, что установлены средства поддержки Windows Server 2003. Средства поддержки доступны на компакт-диске Windows Server 2003 в папке Support\Tools. Дважды щелкните файл Suptools.msi, чтобы установить средства.

      2. Нажмите кнопку Пуск, нажмите кнопку Выполнить, введите ldp и нажмите кнопку ОК.

      3. Щелкните Подключение, нажмите кнопку Подключить, а затем введите имя сервера, к которому требуется подключиться.

        Примечание.

        Вы будете подключаться через порт 389 для Active Directory.

      4. Щелкните Подключение, щелкните Привязать, а затем введите имя пользователя, пароль и домен администратора. (Необходимо использовать учетные данные администратора домена или администратора предприятия.) Нажмите кнопку ОК.

      5. В меню Обзор выберите команду Изменить. Оставьте поле DN пустым. В текстовом поле Атрибут введите FixUpInheritance. Нажмите кнопку Да в текстовом поле Значение .

      6. В области Операция нажмите кнопку Добавить.

      7. Нажмите клавишу ВВОД , чтобы заполнить область Список записей .

        Примечание.

        В области Список записей появляется [Add]fixupinheritance:yes .

      8. Нажмите кнопку Выполнить.

        Примечание.

        Теперь на правой панели отображается состояние Изменено , и запускается средство распространения дескриптора безопасности. Среда выполнения для распространителя дескриптора безопасности зависит от размера базы данных Active Directory. Процесс завершается, когда счетчик событий распространения безопасности DS в объекте производительности NTDS возвращается к нулю.

      9. Нажмите кнопку Закрыть, щелкните Подключение, а затем — Выход.

  7. В исходном контроллере домена введите repadmin /showmeta distinguished_name_path в командной строке, а затем просмотрите метаданные объекта для различающегося пути к имени, на который ссылается событие 1084. Повторите этот шаг на целевом контроллере домена. Найдите несогласованные значения, которые включают, помимо прочего, следующие:

    • Неправильные имена и номера атрибутов, отображаемых в объекте
    • Неправильные исходные метки времени или даты
    • Неправильные локальные порядковые номера обновления (USN)

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

    Чтобы использовать средство Repadmin.exe, если путь к различаемого имени относится к динамическому объекту, введите в командной строке следующую команду:

    repadmin /showmeta remote_domain_controller_name distinguished_name_path_of_reference _object
    

    Если объект находится в контейнере удаленных объектов или не удается найти объект с помощью средства Repadmin.exe, используйте ссылку guid объекта для поиска объекта. Ссылка на этот GUID указана в событии 1084. Для этого введите в командной строке следующую команду:

    repadmin /showmeta remote_domain_controller_name "GUID_for_the_object that_is_referenced_in_Event_ID_1084"
    

    Например, если события 1084 и событие 2108 ссылаются на объект с идентификатором GUID b49cd496-98a2-4500-bb08-58550c2f79ac, введите repadmin /showmeta "<GUID=b49cd496-98a2-4500-bb08-58550c2f79ac>".

    Примечание.

    Требуются кавычки и квадратные скобки.

  8. Получите последнее средство Ntdsutil.exe, установив последний пакет обновления для операционной системы. Используйте средство Ntdsutil.exe для выполнения проверка целостности базы данных Active Directory на исходном контроллере домена.

    Перед запуском компьютера в режиме восстановления служб каталогов получите пароль для учетной записи автономного администратора. Если вы не знаете пароль учетной записи администратора, сбросьте пароль в режиме восстановления служб каталогов перед запуском в этом режиме. На контроллерах домена под управлением Windows 2000 с пакетом обновления 2 (SP2) и более поздних версий используйте команду Setpwd.exe. Команда Setpwd.exe находится в папке %Systemroot%\System32. На контроллерах домена под управлением Windows Server 2003 используйте команду Ntdsutil Set Directory Services Mode Restore Mode Password .

    Дополнительные сведения о режиме восстановления служб каталогов см. в статье Сообщение об ошибке "Не удается запустить службы каталогов" при запуске контроллера домена под управлением Windows или SBS.

    Дополнительные сведения об изменении пароля в Windows Server 2003 см. в статье Сообщение об ошибке "Не удается запустить службы каталогов" при запуске контроллера домена под управлением Windows или SBS.

  9. Перезапустите исходный контроллер домена и нажмите клавишу F8, чтобы запустить режим восстановления служб каталогов. В командной строке введите ntdsutil files integrity, а затем нажмите Ввод.

    Примечание.

    Эта команда подтверждает целостность базы данных.

    • Если средство Ntdsutil сообщает, что база данных повреждена и у вас есть реплики контекстов именования на исходном контроллере домена, принудительное понижение исходного контроллера домена, а затем повторное повышение его после проверки целостности драйверов, встроенного ПО и физических дисков, на которых размещена база данных Active Directory и файлы журнала транзакций.

    • Если база данных повреждена и реплик контекста именования на исходном контроллере домена не существует, восстановите новейшее состояние системы. Используйте средство NTDSutil.exe, чтобы снова подтвердить целостность базы данных. Если вы по-прежнему получаете сообщение о повреждении, восстанавливайте старые резервные копии, пока не сможете подтвердить целостность контроллера домена.

    • Если база данных по-прежнему повреждена, восстановите последнюю резервную копию состояния системы, а затем в командной строке введите:

      ntdsutil files recover
      

      Используйте средство NTDSutil.exe еще раз подтвердите целостность базы данных. Если база данных передает проверка целостности, выполните автономную дефрагментацию раздела диска. Дополнительные сведения см. в статье Выполнение автономной дефрагментации базы данных Active Directory.

      Чтобы выполнить проверка целостности базы данных, введите в командной строке следующую команду и нажмите клавишу ВВОД, где database_name — это имя базы данных Active Directory:

      esentutl.exe /g database_name
      

      Наконец, используйте параметр Запустить Windows Обычно, чтобы перезагрузить компьютер, а затем повторить репликацию с исходного контроллера домена на затронутый целевой контроллер домена. Если база данных не проверка целостности, контроллер домена должен быть прекращен. Для переноса объектов используется средство миграции Active Directory (ADMT). Вы также можете использовать средства Ldifde.exe и Csvde.exe для экспорта объектов, которые будут импортированы в новый контроллер домена назначения.

      Дополнительные сведения об использовании средств Ldifde.exe и Csvde.exe см. в разделе Пошаговое руководство по массовому импорту и экспорту в Active Directory.

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

  11. Используйте команду ntdsutil files compact для выполнения автономной дефрагментации базы данных Active Directory. Дополнительные сведения см. в статье Выполнение автономной дефрагментации базы данных Active Directory .

  12. Введите в командной строке следующую команду, а затем нажмите клавишу ВВОД:

    ntdsutil "semantic database analysis" "go"
    

    Примечание.

    Кавычки в этом примере необходимы для выполнения команды анализа семантической базы данных с использованием одного аргумента командной строки.

    Если сообщается об ошибках, type ntdsutil go fixupи нажмите клавишу ВВОД.

    Примечание.

    Команды семантической базы данных не выполняют исправление потерь в базах данных Active Directory, таких как восстановление файлов ntdsutil до Windows Server 2003 с пакетом обновления 1 (SP1) или Esentutl /p команды.

    Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

    В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.

Сбор данных

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