Если мы просто скопируем папку MDBDATA, то подключить ее к Recovery Storage Group может не получиться. Особенно если она повреждена или отсутствуют логи. Поможет утилита Eseutil с ключом /p
Например, вводим в командной строке
eseutil /p x:\exchsrvr\mdbdata\priv.edb
Начнется процесс восстановления базы данных. Это может занять продолжительное время. От суток до нескольких дней в зависимости от размера базы данных. БД в 40 гигабайт восстанавливалась около суток.
После этого БД можно подключить к Recovery Storage Group.
Тут может произойти злая шутка. Если аварийный сервер назывался Server1, а новый — Server13, то подключить не получится. Но ничего страшного. Можно подсунуть к Exchange восстановленную БД с Server1. Просто переименуем восстановленную БД так, как Exchange желает.
Нажмем Найти и выберем БД с названием Server13.
Копируем наши файлы с БД Server1 в папку Recovery Storage Group и переименовываем их так, как хочет Exchange. Далее указано, где посмотреть названия.
Монтируем хранилище.
Нажимаем Yes на возможное предупреждение.
Хранилище подмонтировано. Переносим почту из БД в Recovery Storage Group в новую БД.
Для начала нужно узнать MailboxGuid каждого пользователя в аварийной БД. Они все сбросятся в лог Exmerge. Читаем ниже.
Воспользуемся утилитой Exmerge в папке Exchange/bin/
Так как мы работаем с базой данных аварийного сервера Exchange, ни один из почтовых ящиков невозможно будет перенести, пока в БД в Recovery Storage Group и в БД Exchange на новом сервере не совпадет атрибут msExchMailboxGuid.
На предыдущей картинке я уже адаптировал данный атрибут для трех почтовых ящиков. Для всех остальных будут ошибки в логе. Допустим, нам нужно перенести еще один почтовый ящик. Ищем его CN в логе ExMerge.log в папке /Exchange/bin
Копируем первую выделенную строку в блокнот. И разбиваем ее согласно примеру.
Можно также воспользоваться конвертером http://www.arricc.net/exchange-guid-converter.php
Грабли: в данной строке есть ascii-символы (выделенные точками), нужны их шестнадцатеричные коды. В шестнадцатеричной системе исчисления могут быть числа 1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F. Все другие — ascii. Их преобразуем с помощью таблицы (см.ниже). Если цифра стоит одна, как в нашем примере 1 и 9, то это тоже ascii-символ.
На контроллере домена через утилиту adsiedit редактируем свойство пользователя в лесе Domain — OU
Если возникают уведомления о превышении количества символов в строке или о неправильности введенной строки, значит Вы неверно отредактировали исходную строку в Exmerge.log. Если все нормально — никаких уведомлений не появляется.
Возвращаемся к серверу Exchange. Делаем экспорт почтового ящика из аварийной БД в новую.
Перезапускаем Exmerge, повторяем предыдущие шаги (до просмотра лога Exmerge).
Выбираем папку на компьютере, куда будет экспортирован ящик.
Нажимаем Далее и (после экспорта) Готово.
Запускаем Exchange SystemManager. Заходим в Recovery Storage Group — Mailboxes. Выбираем интересующего пользователя правой кнопкой. Делаем Exchange Task.
Выбираем метод восстановления. Перенос или Копия. Я всегда выбираю Копию. Мало ли что может случится в процессе переноса.
Готово =) Мы перенесли ящик из аварийной базы в новую базу, даже если сведения о имени сервера были утрачены и инфо о старом сервере была вычищена из Active Directory.
Комментировать