1. Посмотреть состояние базы. Статус должен быть Clean Shutdown, а не Dirty Shutdown.
eseutil.exe /mh E:\restore\mydb.edb eseutil.exe /mh E:\restore\mydb.edb | Select-String -pattern state, required
2. Если Dirty Shutdown, то базу нужно восстановить. Указываем префикс логов E01, путь к базе \d "E:\Restore" и путь к логам /l "E:\Restore\Logs". Без слешей на конце и расширения .edb
eseutil /R E01 /d "E:\Restore" /l "E:\Restore\Logs"
3. Если не помогло, то запускаем полное восстановление. Процесс может занимать продолжительное время.
eseutil /p "E:\Restore\mydb.edb"
4. Ещё раз проверяем статус, должно быть Clean Shutdown и тогда можно подключать и монтировать базу.
eseutil.exe /mh E:\restore\mydb.edb | Select-String -pattern state, required
5. Подключаем базу к Exchange Server
New-MailboxDatabase -Recovery -Server MyServer -Name "RDB-MyDB" -EdbFilePath E:\Restore\mydb.edb -LogFolderPath E:\Restore\Logs
6. Перезапускаем сервис Information Store
Restart-Service MSExchangeIS
7. Монтируем базу
Mount-Database rdb-mydb
8. Просматриваем отключённые почтовые ящики в базе. Если надо восстановить конкретный ящик, то находим его и запоминаем MailboxGUID
Get-MailboxStatistics -Database RDB-mydb | ft DisplayName, MailboxGUID –a
9. Создаём запрос на восстановление почтового ящика. Указываем базу, MailboxGUID и в какой почтовый ящик.
New-MailboxRestoreRequest -Name "RestoreRequestMailbox" -SourceDatabase RDB-mydb -SourceStoreMailbox 383d6151-b3ff-4827-bf44-52fd50559190 -TargetMailbox test@mydomain.ru –AllowLegacyDNMismatch
#В отдельную папку New-MailboxRestoreRequest -Name "RestoreRequesttoFolder" -SourceDatabase RDB-mydb -SourceStoreMailbox 383d6151-b3ff-4827-bf44-52fd50559190 -TargetMailbox test@mydomain.ru -TargetRootFolder "InboxRestore" -AllowLegacyDNMismatch
#Восстановить конкретную папку New-MailboxRestoreRequest -Name "RestoreRequestOnlyOneFolder" -SourceDatabase RDB-mydb -SourceStoreMailbox 383d6151-b3ff-4827-bf44-52fd50559190 -TargetMailbox test@mydomain.ru -IncludeFolders "Invoices" -AllowLegacyDNMismatch
#Для стандартных ящиков синтаксис сложнее New-MailboxRestoreRequest -Name "RestoreRequestOnlyOneFolder" -SourceDatabase RDB-mydb -SourceStoreMailbox 383d6151-b3ff-4827-bf44-52fd50559190 -TargetMailbox test@mydomain.ru -IncludeFolders "#Inbox#/*" -AllowLegacyDNMismatch
#Исключить папки New-MailboxRestoreRequest -Name "RestoreRequestOnlyOneFolder" -SourceDatabase RDB-mydb -SourceStoreMailbox 383d6151-b3ff-4827-bf44-52fd50559190 -TargetMailbox test@mydomain.ru -ExcludeFolders "#SentItems#","#DeletedItems#" -AllowLegacyDNMismatch-
10. Наблюдаем за тем, как происходит восстановление почтового ящика
Get-MailboxRestoreRequest | ?{$_.TargetMailbox -like "*test*"} | Get-MailboxRestoreRequestStatistics Get-MailboxRestoreRequest -Name "RestoreRequestMailbox" | Get-MailboxRestoreRequestStatistics | Select Status*,Include*,Exclude*,*Transfer*,OverallDuration,CompletedRequestAgeLimit