При правильном отключении баз данных рабочие журналы и временные базы попадают в основную базу данных, находящуюся в состоянии Clean Shutdown. Журналы транзакций будут иметь общую информацию с основной БД, но избавляться от них не стоит, т.к. они помогают при восстановлении баз Exchange.
Специалисты ГК «Интегрус» предлагают услуги по восстановлению баз данных для Exchange Server с применением различных сценариев восстановления работоспособности в зависимости от объема потерянной информации, а также выполняют резервное копирование БД для предотвращения проблем в будущем.
Необходимость восстановления для Exchange баз данных вызвана:
- аварийными перезагрузками сервера;
- сбоями ОС;
- грубыми отключениями электропитания сервера.
Чаще всего сервер без внешнего вмешательства монтирует и переводит базу в согласованное состояние. Если БД оказывается в состоянии Dirty Shutdown, это означает ее несогласованность. Для исправления ошибки применяются транзакции, зафиксированные в журналах непосредственно в момент сбоя.
Варианты восстановления базы Exchange 2013/2016
Решить проблему можно двумя способами.
Soft Recovery. Первый способ называют мягким. Его применяют, когда для восстановления баз Exchange Server есть необходимые условия:
- исправность файла БД;
- имеются неповрежденные журналы транзакций.
Восстановление выполняется в Exchange Management Shell.
Потребуется прописать рабочий каталог с БД:
Set-Location “E:\Exbase\data”
Для отображения служебной информации, набрать:
eseutil.exe /mh test_base.edb
В полученном результате посмотреть свойства информации, а именно: состояние и необходимость использования файлов для согласования данных (Log Required). Если все хорошо, второй параметр равен 0.
Если нет, проверяется исправность необходимых логов. Анализ файлов журналов выполняется с помощью Eseutil. Если логи хранятся в конкретном каталоге, потребуется перейти в него. Проверка логов выполняется путем ввода префикса базы и ключа /ml:
eseutil.exe /ml E00
Убедившись, что с логами порядок, запускается процесс восстановления с использованием ключа /r и префикса БД:
eseutil.exe /r E00
Ключи /d и /l указывают соответственно путь к базе и логам.
Далее запускается проверка согласованности:
eseutil.exe /mh test_base.edb
Если добиться от базы статуса Clean Shutdown не удалось, требуется перейти к более грубому варианту восстановления.
Hard Recovery. Жесткий способ требуется, когда поврежденные данные (объем их остается неизвестным) удаляются из базы. В некоторых случаях, когда потеря информации в результате сбоя превышает допустимый порог, проще воспользоваться резервной копией и перелить БД из бекапа.
Восстановлению подлежат лишь данные низкого уровня – указатели и страницы данных. Если они повреждены, то просто удаляются. К такому методу прибегают только при неисправности БД, когда хуже уже не будет.
Для восстановления БД выполняется команда:
eseutil.exe /p test_base.edb
Следует понимать, что запущенный процесс необратим, в результате жесткого восстановления часть данных будет безвозвратно утрачена. Когда операция завершится, командуем:
eseutil.exe /mh test_base.edb
Добившись статуса Clean Shutdown запускается онлайн-дефрагментация, создающая новую базу с неповрежденными данными. Для ее создания требуется объем свободного пространства на 10% больше размера старой БД. По завершении дефрагментации несогласованная база уничтожается.
Запускается дефрагментация:
eseutil.exe /d test_base.edb
Для монтажа БД удаляются старые журналы транзакций и временные файлы:
Mount-Database test_base
Проверить логическую целостность полной БД или ее отдельных сегментов можно командой:
New-MailboxRepairRequest -Database test_base -CorruptionType
SearchFolder,AggregateCounts,ProvisionedFolder,FolderView
Тип проверки обозначается ключом -CorruptionType.
Для отслеживания процесса восстановления применяют команду:
Get-MailboxRepairRequest -Database test_base
Восстановление баз Exchange 2010
Выполняется за счет функций DAG либо модуля системы архивации, основанного на теневом копировании. Для восстановления потребуется сервер Exchange 2010 с MailBox. Алгоритм примерный, он может меняться в зависимости от различных факторов:
- Создать аварийную БД и настроить почту для работы с ней.
- Переустановить старый Exchange Server командой Setup /m:RecoverServer.
- Восстановить почтовую БД из бекапа на корректный сервер.
- Перебросить пользователей на восстановленную БД.
- Объединить аварийную и восстановленную базы.
Для того чтобы обеспечить бесперебойную работу компании и минимизировать время на восстановление после любых сбоев, специалисты ГК «Интегрус» рекомендуют заранее создавать резервные копии всей критически важной информации, в т.ч. БД Exchange Server.