Восстановление базы Exchange Servera 2016 (сценарий 2)

Моделируем другую ситуацию. База "покараптилась", админ безответственно разместил ее на выделенном диске без резервирования (без RAID-а), появились проблемы доступности диска либо файлов на нем. Пользователи в панике, хотят работать.

Шаг 1

------------------------------------------------------------------------------------------------------------------------
1. Создаем чистую базу данных (можно через Exchange Admin Centr) и монтируем ее:

New-MailboxDatabase –Name “TempDB” –Server Lon-MBX1 -EdbFilePath 
C:\NewFolder\TempDB.edb –LogFolderPath C:\NewFolder\

Mount-Database  “TempDB


Выбираем все почтовые ящики, которые хранятся в битой базе данных и перекидываем их в новую базу (старая база при этом отмонтирована и недоступна).

Get-Mailbox –Database MBD | Set-Mailbox –Database “TempDB1”


Так-же рекомендуем перезапустить IIS - команда iisreset    


Пользователи при подключении увидят чистые почтовые ящики! 
Станут нарабатывать новую почту!

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

Шаг 2


Восстанавливаем старую базу данных из Бекапа (см. предыдущий пост) и монтируем ее.

Get-Mailbox –Database “TempDB1” | Set-Mailbox –Database MBD

Перебрасываем пользователей обратно (см. командлет выше).
Для того что-бы ВСЕ перелогинились отмонтируй старую базу.
Перезапусти iisreset  !

Внимание! 

Теперь пользователи увидят свою старую почту НО им не будет доступна новая почта, которая приходила пока они работали с чистыми почтовыми ящиками! Исправим это.

1. Для начала удалим временную базу с конфига Active Directory

Remove-MailboxDatabase “TempDB” – Удаляем базу с конфига AD

2. В папке с отмонтированной базой все удаляем кроме файла базы *.edb.



3. Cоздаем служебную, временную базу данных Exchange Recovery DB – с ней нельзя работать, можно только вытаскивать элементы и монтируем ее. В качестве EdbFilePath указываем отмонтированную на предыдущем шаге базу. 

New-MailboxDatabase –Name ServiceDB –EdbFilePath “E:\ServiceDB\ServiceDB.edb” –LogFolderPath “E:\ServiceDB\” –Recovery –Server Lon-MBX1


Mount-Database ServiceDB



Get-MailboxStatistics –Database ServiceDB – посмотреть какие ящики в ней есть



4. Даем команду для "сливания" содержимого ящика из временной ServiceDB в основной ящик пользователя. Обратите внимание на синтаксис (последний параметр задается в явном виде с @)
New-MailboxRestoreRequest –SourceDatabase ServiceDB –SourceStoreMailbox “Administrator” –TargetMailbox Administrator@adatum.com 



В старых версиях Microsoft Exchange Server-a 2016 может понадобится параметр SkipMerging StorageProviderForSource Без этого параметра PowerShell выпадает в ошибку и слияния ящиков не происходит!

Get-MailboxRestoreRequest – посмотреть статусiisreset !

Почта с нового и старого ящика "сливается" в один основной ящик пользователя и все должно работать в штатном режиме! После данной операции базу Recovery (ServiceDB) можно удалять.



Комментарии

Популярные сообщения из этого блога

Корзина 3 уровня или "Single Item Recovery" в Microsoft Exchange Server 2016

Как переместить базу Exchange Server 2016 в другое расположение

Как переименовать базу данных Exchange Server 2016