Event ID 1084: Внутреннее событие репликации AD (Replication Error)
Архитектура репликации AD и симптомы сбоя (Internal Event)
Событие 1084 логируется в журнале Directory Service на контроллерах домена. Сообщение: «Внутреннее событие: доменным службам Active Directory не удалось обновить следующий объект в результате изменений, полученных от службы каталогов источника». Симптомы: репликация Active Directory между конкретными DC полностью останавливается на одном сбойном объекте. Изменения (новые пользователи, сбросы паролей) не доходят до филиалов.
Коды ошибок репликации (Win32 Status)
Событие 1084 — это контейнер. Оно всегда содержит Код ошибки (Error value), который указывает на реальную физическую или логическую проблему:
| Код ошибки (Win32) | Текст ошибки и её Суть |
|---|---|
| 8606 | "Недостаточно атрибутов...". Попытка реплицировать "зависший объект" (Lingering Object). |
| 8418 | "Сбой операции репликации...". Рассинхронизация паролей машинных учеток (Secure Channel) или шифрования между DC. |
| 8451 | "Сбой операции репликации: ошибка базы данных". Логическое повреждение самой базы NTDS.dit. |
| 8409 | "Произошла ошибка базы данных". Нехватка места на диске C: (где лежит база AD) или проблемы с кэшем Jet DB. |
Пошаговое дерево решений (Восстановление репликации)
Сценарий 1: Лечение призраков (Ошибка 8606 Lingering Objects)
Если код 8606 — исходный контроллер домена был выключен больше полугода (Tombstone Lifetime = 180 дней), а теперь включился и пытается передать удаленного пользователя (зомби-объект). Репликация блокируется механизмом 'Strict Replication Consistency'.
- Решение: Найдите призраков утилитой Microsoft Lingering Object Liquidator (LoL) или консольной командой
repadmin /removelingeringobjectsи физически удалите их из базы. (Подробно см. >Гайд 8606).
Сценарий 2: Рассинхронизация доверия (Ошибка 8418)
Если код 8418 — два контроллера не доверяют друг другу (сломался пароль машинной УЗ DC01$).
- Зайдите на проблемный DC (который не может принять реплику).
- Откройте PowerShell от имени Админа и восстановите защищенный канал с PDC-эмулятором:
Test-ComputerSecureChannel -Repair -Server PDC_ИМЯ - Перезапустите службу KDC (
net stop kdc & net start kdc) и Netlogon.
Сценарий 3: Повреждение базы NTDS (Ошибки 8451 / 8409)
Если диск с базой AD переполнен или контроллер падал по питанию (Dirty Shutdown), база Jet (NTDS.dit) может логически сломаться.
- Перезагрузите DC в Режим восстановления служб каталогов (DSRM) (потребуется DSRM-пароль).
- Откройте CMD и запустите проверку семантики базы:
ntdsutil activate instance ntds semantic database analysis go fixup quit quit - Перезагрузитесь в нормальный режим.
Типовые ошибки администраторов
- Игнорирование остановки очереди (Blocked Queue): Ошибка 1084 на ОДНОМ объекте блокирует всю очередь репликации для данного раздела (Naming Context). Если сломалась репликация одного забытого принтера, весь домен перестанет реплицироваться, пока вы не удалите или не почините этот объект!
Восстановление топологии Active Directory и базы NTDS.dit не терпит ошибок (USN Rollback). Делегируйте обслуживание домена профессионалам ITSTM: мы вычистим ошибки KCC, удалим 'призраков' (Lingering objects), настроим мониторинг Repadmin и защитим инфраструктуру от 'Split-Brain'.
Частые вопросы (FAQ)
Почему 1084 сопровождается событием 1988?
Событие 1988 (Изоляция репликации) генерируется механизмом Strict Replication Consistency, когда он обнаруживает Lingering Object (призрака). Событие 1084 (с кодом 8606) — это технический 'отлуп', который ядро отдает партнеру по репликации.
Поможет ли команда repadmin /syncall?
Нет. При ошибке 1084 проблема не в том, что серверы забыли синхронизироваться (как при сбоях сети RPC), а в том, что они НЕ МОГУТ договориться о конкретном 'испорченном' объекте. Форсирование репликации лишь снова выдаст ошибку 1084.
Что делать, если база NTDS.dit фатально разрушена?
Если ntdsutil не может починить базу (Fatal Error), проще всего выполнить процедуру понижения роли неисправного контроллера (Demote - dcpromo /forceremoval), сделать Metadata Cleanup на живом DC, а затем заново повысить роль сервера до DC (Promote). База скачается свежая.
Может ли антивирус вызвать 8451 (Ошибка базы данных)?
Да! Если антивирус заблокировал файлы базы (C:\Windows\NTDS\ntds.dit) или логи транзакций (edb.log) для сканирования, служба LSASS не сможет записать реплику и выдаст 8451. Обязательно добавляйте NTDS в Exclusions.
Как найти конкретный сбойный объект?
В тексте события 1084 в поле 'Объект' (Object) всегда указан точный Distinguished Name (DN), например: CN=Петя,OU=Users,DC=corp,DC=local. Используйте ADUC (dsa.msc), чтобы найти и удалить (или исправить) этот объект.