Восстановление баз exchange

Восстановление баз exchange

Случилось на днях неприятное происшествие: в результате непредвиденного сбоя отключился диск с базой exchange 2010. В результате после восстановления диска база отказалась подключаться на сервере Exchange. Поэтому тема заметки «Восстановление баз exchange» в полевых условиях.

При попытке ручного подключения базы данных я получал ошибку:

Couldn't mount the database that you specified. Specified database: Mailbox Database; Error code: An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-515)

Последовательность действий по восстановлению баз exchange

  1. Сделал резервную копию поврежденной базы данных. Процесс этот не быстрый, размер базы был более 400 гб. Но это следовало сделать, чтобы иметь возможность повторить процедуру восстановления базы если что-то пойдет не так.
  2. Проверил диск с базой данных на ошибки утилитой chkdsk.
  3. Проверяем базу с помощью утилиты eseutil. Она находится в подпапке bin папки куда установлен Exchange. Для проверки используем команду:
    eseutil /mh "d:\путькбд\базаданных.edb"
  4. В выводе команды ищем строку содержащую State: Dirty Shutdown. Это значит, что база данных не была корректно отмонтирована.
  5. Производим починку базы данных командой:
     eseutil /p "d:\путькбд\базаданных.edb"

    Процесс не быстрый, на моей базе в 400 Гб он занял около двух часов.

  6. После завершения повторяем команду из п.3. Вы должны увидеть State: Clean Shutdown. На всякий случай делаем копию восстановленной базы (на ваше усмотрение).
  7. Пробуем подключить базу в консоли Exchange, если все подключилось то на этом процедура закончена.
  8. Если база не подключается то необходимо проверить логи командой:
     eseutil /ml "d:\путьклогам\E00"

    Где E00-начальная последовательность именования лог-файлов. На моем сервере она была к примеру E01. Во время проверки необходимо убедится, что все лог файлы прошли без ошибок. Тем не менее, если статус БД в п.6 Clean Shutdown то можно смело удалить все логи.

  9. Если при этом база все-таки не монтируется попробуйте после удаления всех лог-файлов выполнить в консоли PowerShell Exchange команду:
     Mount-database "Name my database" -Force

На этом мое злоключение закончилось, база успешно подключилась. В качестве дополнительного материала могу привести ссылку: http://www.alexxhost.ru/2010/10/eseutil.html, там описан метод мягкого восстановления. Если данная инструкция вам не помогла то попробуйте описанные там команды.

Ну и конечно не забываем про регулярное резервное копирование базы Exchange.

Оцените статью
Добавить комментарий

Внимание! Нажимая кнопку "Отправить комментарий" вы соглашаетесь с политикой конфиденциальности сайта.