Гайд: Восстановление поврежденной базы Active Directory (NTDS.dit) через ESENTUTL
Симптомы повреждения базы данных NTDS.dit
Контроллер домена падает в синий экран (BSOD) с кодом c00002e2 (Directory Services Initialization Failed) при загрузке. Операционная система загружается исключительно в режиме восстановления служб каталогов (DSRM). В журнале Directory Service фиксируются ошибки движка ESE (Extensible Storage Engine): Event ID 1046, Event ID 1047 или Event ID 467 (Database page corruption). Служба каталогов Active Directory не может инициализировать файл базы NTDS.dit из-за физического или логического повреждения страниц базы данных.
Причины повреждения файла NTDS.dit:
- Внезапное отключение питания хоста (Dirty Shutdown) без сброса дискового кэша на диск.
- Появление сбойных секторов (Bad Blocks) на физическом носителе контроллера домена.
- Сбой дискового контроллера или сбой драйвера виртуализации при записи транзакционных логов (
edb.log).
Пошаговый регламент восстановления базы NTDS через ESENTUTL
Шаг 1: Загрузка в режим DSRM и проверка целостности
- Загрузите сервер в режим Directory Services Restore Mode (DSRM).
- Откройте командную строку от имени Администратора.
- Выполните проверку целостности файла базы данных (Integrity Check):
esentutl /g "C:\Windows\NTDS\ntds.dit" /!10240 /8 /o - Если утилита возвращает ошибку
JET_errDatabaseCorrupted (-1206)илиJET_errPageChecksumMismatch (-1018), база повреждена физически.
Шаг 2: Программный ремонт базы данных (Soft / Hard Repair)
Сначала попытайтесь восстановить транзакции с помощью 'мягкого восстановления' (Soft Recovery):
# 1. Мягкое восстановление с проигрыванием логов транзакций
cd /d C:\Windows\NTDS
esentutl /r edb /d /8 /o
# 2. Если Soft Recovery завершился ошибкой, запуск жесткого восстановления (Hard Repair):
# ВНИМАНИЕ: Hard Repair удаляет поврежденные страницы базы данных!
esentutl /p "C:\Windows\NTDS\ntds.dit" /!10240 /8 /oШаг 3: Семантическая проверка целостности базы через NTDSUTIL
После физического ремонта базы утилитой esentutl необходимо восстановить логические структуры Active Directory.
# Запуск семантической проверки базы данных NTDS
ntdsutil
activate instance ntds
semantic database analysis
go fixup
quit
quitШаг 4: Автономная дефрагментация и удаление старых логов
# 1. Автономное сжатие базы данных NTDS
esentutl /d "C:\Windows\NTDS\ntds.dit"
# 2. Удаление старых транзакционных логов EDB (чтобы избежать повторного сбоя)
del C:\Windows\NTDS\*.log
del C:\Windows\NTDS\*.chkПерезагрузите контроллер домена в нормальный режим.
Типовые ошибки администраторов
- Попытка восстановить поврежденный DC при наличии живых партнеров: Если в домене работают другие здоровые контроллеры домена, восстановление через
esentutl /p— худший выбор (база теряет часть данных). Правильный регламент: выполнить принудительное удаление мертвого DC (Metadata Cleanup) на живом сервере и поднять новый контроллер с нуля через чистую репликацию.
Восстановление поврежденной базы NTDS.dit — сложнейшая инженерная задача. Доверьте спасение Active Directory сертифицированным экспертам ITSTM: восстановим структуру базы ESE, извлечем объекты и запустим домен.
Частые вопросы (FAQ)
Почему после esentutl /p размер базы NTDS.dit уменьшается?
Ключ /p выполняет жесткий ремонт (Hard Repair), физически вырезая поврежденные страницы и таблицы базы данных, которые невозможно прочитать. Утерянные записи удаляются.
Что означает ошибка 0xc00002e2 при старте Windows Server?
Код 0xc00002e2 (STATUS_DIRECTORY_SERVICE_ABORTED) указывает на то, что подсистема безопасности LSASS не смогла смонтировать файл NTDS.dit при инициализации доменных служб.
Можно ли выполнять esentutl на работающем контроллере домена?
Нет. Файл NTDS.dit монопольно заблокирован процессом lsass.exe. Любые операции с файлом базы требуют либо режима DSRM, либо остановки службы Active Directory Domain Services (ntds).
Как избежать повреждения NTDS.dit в виртуальной среде?
Отключите кэширование записи дисков без батареи, никогда не делайте снимки (снапшоты) ВМ контроллеров домена с откатом назад (USN Rollback) и используйте источники бесперебойного питания (ИБП).