locked
база NTDS.DIT, Server 2012 CRASH – ERROR 0XC00002E2, RRS feed

  • Вопрос

  • День добрый. 

    подскажите пожалуйста по такой проблеме . 

    есть домен на 2х контроллерах Win srv 2012 r2 .

    один не смог загрузиться из-за переполнения диска где лежит журнал AD. вываливается теперь с 

    Server 2012 CRASH – ERROR 0XC00002E2

    нормально грузится в режиме восстановления . файл базы сначало вообще не давал ничего с собой делать через ntdsutil. ругался что не может запустить JET . 

    журналы переименовывал (как одно из средств восстановления, создаются по новой.)

    после Esentutl с разными ключами , база начала хоть как то дефрагментироваться и проверяться. но есть ошибка:

    _____________________________

    ntdsutil: Activate Instance NTDS
    Активный экземпляр - "NTDS".
    ntdsutil: files
    file maintenance: Compact to c:\temp\tempNTDS
    Запуск режима ДЕФРАГМЕНТАЦИИ...
         Исходная база данных: C:\Windows\NTDS\ntds.dit
         Конечная база данных: c:\temp\tempNTDS\ntds.dit

                      Defragmentation  Status (% complete)

              0    10   20   30   40   50   60   70   80   90  100
              |----|----|----|----|----|----|----|----|----|----|
              .................................................Операция прекращена с
     ошибкой -1605( JET_errKeyDuplicate, Illegal duplicate key ).
    ______________________________

    проверял все доступы к папкам журнала и базы . все нормально. 

    recover проходит без ошибок. а вот 

    ---------------------------------------

    file maintenance: integrity
    Выполнение проверки целостности для базы данных: C:\Windows\NTDS\ntds.dit.

    Checking database integrity.

                         Scanning  Status (% complete)

              0    10   20   30   40   50   60   70   80   90  100
              |----|----|----|----|----|----|----|----|----|----|
              ...................................................


    Integrity check completed.  Database is CORRUPTED!
    Операция прекращена с ошибкой -1206( JET_errDatabaseCorrupted, Non database file
     or corrupted db ).

    --------------------------------------------------------

    вопроса 2 :

    - в домене трудится второй контроллер - с него как то можно взять файл базы или синхронизировать ?

    - можно сломанный сервер освободить от роли AD загрузиться в нормальном режиме и опять развернуть службу AD - домен его как " страый "второй КД подхватит?





    20 июля 2016 г. 6:50

Ответы

  • ВОПРОС - МОЖНО ЕГО СЕЙЧАС В СЕТЬ ВОЗВРАЩАТЬ чтоб он реплицировался и встал в строй полноценно??

    проверки есть какие нибудь ??

    Лучше не возвращать, а принудительно понизить (Uninstall-ADDSDomainController -ForceRemoval в Powershell), вычистить на другом КД информацию о нём из Active Directory (к примеру - удалить подобъект NTDS Settings объекта этого сервера в AD Sites and services) и, если он ещё нужен как КД - повысить заново.

    Дело в том, что после выполнения esentutl /p потеря данных при таком исправлении может привести к рассогласованию БД Active Directory с копией на другом КД, которое практически невозможно выявить. А также - к другим трудновыявляемым ошибкам.

    Поэтому Microsoft советует (есть статья 258062 в MS KB) прибегать к esentutl /p только как крайней мере - для восстановления единственного КД в домене при отсутствии резервной копии - и даже рекомендует после этого по возможности быстрее произвести миграцию учётных записей пользователей и компьютеров в неповреждённый домен.


    Слава России!


    • Изменено M.V.V. _ 20 июля 2016 г. 11:46 Добавил ссылку на MS KB
    • Помечено в качестве ответа Больных Сергей 20 июля 2016 г. 12:27
    20 июля 2016 г. 11:41
  • если второй контроллер в порядке, то я бы вообще не рисковал.
    Удалил бы аварийный контроллер из AD, удалил бы с аварийного контроллера AD.

    Затем обратно.

    20 июля 2016 г. 8:40
  • Я третий за удаление) Вычистить информацию из AD и DNS, захватить роли, если на старом что то осталось не такая уж сложная задача. Лучше так, чем потом ошибки репликации вылавливать.
    20 июля 2016 г. 12:21

Все ответы

  • так есть изменения . 

    сделал повторно

    esentutl /g ... путь к базе /o

    и 

    esentutl /p ...  путь к базе /o

    ура! ... DONE !  ... SUCCESSFUL! 

    сделал тут сразу проверку file maintenance: integrity  -  тоже все хорошо.

    сделал file maintenance: Compact to c:\...

    так же все успешно.

    далее скопировал дефрагментированную базу обратно в c:\win\ntds   (предыдущую переименовал)

    и удалил файлы логов как советовал после compact to  ntdsutil,

    сервер запустился . 

    запустил я его без сети - чтоб не побежал чего не нужного реплицыровать. 

    ВОПРОС - МОЖНО ЕГО СЕЙЧАС В СЕТЬ ВОЗВРАЩАТЬ чтоб он реплицировался и встал в строй полноценно??

    проверки есть какие нибудь ??

    в логах он страсть как хочет репликаций.

    я понимаю как реплики проходят , они должны пойти от самой старшей версии DB. но все равно перестраховаться и спросить надо! как бы не внести ошибок во второй сервер (хотя все проверки файла ntds дали положительный результат. но мало ли сами данные в базе не верные. а база сама рабочая)

    20 июля 2016 г. 8:16
  • ВОПРОС - МОЖНО ЕГО СЕЙЧАС В СЕТЬ ВОЗВРАЩАТЬ чтоб он реплицировался и встал в строй полноценно??

    проверки есть какие нибудь ??

    20 июля 2016 г. 8:35
  • если второй контроллер в порядке, то я бы вообще не рисковал.
    Удалил бы аварийный контроллер из AD, удалил бы с аварийного контроллера AD.

    Затем обратно.

    20 июля 2016 г. 8:40
  • спасибо . такое тоже рассматриваю.

    чтоб удалить аварийный - надо роли переназначить  и вычистить все от старого  в AD и DNS  , что тоже может в дальнейшем выйти мусором. 

    сейчас смотрю версии репликаций на двух DC . контроллеры успели реплицыроваться прям перед сбоем.

    20 июля 2016 г. 9:16
  • вопрос актуален. 

    ВОПРОС - МОЖНО ЕГО СЕЙЧАС В СЕТЬ ВОЗВРАЩАТЬ чтоб он реплицировался и встал в строй полноценно??

    проверил версии USN баз ntds на каждом сервере. на рабочем(исправном) версия сильно больше той что в кэше у "сломанного". у сломанного версия тоже изменилась с момента последней репликации. но у работающего по датам все равно изменения имеют преимущество.

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

    да и хозяин схемы - работающий сервер . 

    все вроде к тому что будет все нормально работать.



    20 июля 2016 г. 9:44
  • ВОПРОС - МОЖНО ЕГО СЕЙЧАС В СЕТЬ ВОЗВРАЩАТЬ чтоб он реплицировался и встал в строй полноценно??

    проверки есть какие нибудь ??

    Лучше не возвращать, а принудительно понизить (Uninstall-ADDSDomainController -ForceRemoval в Powershell), вычистить на другом КД информацию о нём из Active Directory (к примеру - удалить подобъект NTDS Settings объекта этого сервера в AD Sites and services) и, если он ещё нужен как КД - повысить заново.

    Дело в том, что после выполнения esentutl /p потеря данных при таком исправлении может привести к рассогласованию БД Active Directory с копией на другом КД, которое практически невозможно выявить. А также - к другим трудновыявляемым ошибкам.

    Поэтому Microsoft советует (есть статья 258062 в MS KB) прибегать к esentutl /p только как крайней мере - для восстановления единственного КД в домене при отсутствии резервной копии - и даже рекомендует после этого по возможности быстрее произвести миграцию учётных записей пользователей и компьютеров в неповреждённый домен.


    Слава России!


    • Изменено M.V.V. _ 20 июля 2016 г. 11:46 Добавил ссылку на MS KB
    • Помечено в качестве ответа Больных Сергей 20 июля 2016 г. 12:27
    20 июля 2016 г. 11:41
  • 2 ответа за удаление неисправного КД. 
    20 июля 2016 г. 12:14
  • Я третий за удаление) Вычистить информацию из AD и DNS, захватить роли, если на старом что то осталось не такая уж сложная задача. Лучше так, чем потом ошибки репликации вылавливать.
    20 июля 2016 г. 12:21
  • 3 ответа за удаление. 

    будем готовить первый к удалению.

    на "сломанном", если понизить и снять с него службу и после чистки рабочего, дать ему опять роль КД, по "феншую" будет? или совсем новый сервер готовить?

    20 июля 2016 г. 12:29
  • 3 ответа за удаление. 

    будем готовить первый к удалению.

    на "сломанном", если понизить и снять с него службу и после чистки рабочего, дать ему опять роль КД, по "феншую" будет? или совсем новый сервер готовить?


    Можно просто понизить и повысить - вся информация базы AD и политик в SYSVOL будет заново целиком среплицирована с исправного КД. Главное, сделать так, чтобы ещё раз диск не переполнился.

    Слава России!

    20 июля 2016 г. 12:43
  • Коллеги Спасибо. 

    так и поступил .

    понизил сломанный КД

    почистил основной КД

    ввел сервер в домен уже без ролей КД

    создал отдельный новый КД. 

    перенастроил сопутствующие элементы. 

    чисто.


    16 августа 2016 г. 13:07
  • Такая же беда, коллеги только 2016 сервер.

    0XC00002E2

    Провели загрузку в режиме восстановления.

    Проделали:

    esentutl /g ... путь к базе /o

    и 

    esentutl /p ...  путь к базе /o

    все нормально ошибок нету все прошло

    и проверку file maintenance: integrity  -  тоже все нормально.

    Проблема в том что ничего не поменялось после этого загрузки нету все тот же синий экран.

    11 ноября 2019 г. 6:48
  • если я вас правильно понял - вы решили задать вопрос по другой ОС, в закрытой теме трехлетней давности. Такие "продолжение" обсуждений не приветсвуются на форума, и в том числе на этом.

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


    The opinion expressed by me is not an official position of Microsoft


    11 ноября 2019 г. 15:35
    Модератор