Восстановление писем/контактов в почтовый ящик пользователя из бэкапа базы Exchange

Если нужно восстановить удаленные пользователем из почтового ящика Exchange 2007 данные, а имеется только копия базы на файловом уровне (например, если Exchange живет в виртуальной машине и бэкапится только с помощью VMware DataRecovery), то придется воспользоваться  PowerShell и, скорей всего, eseutil:

1. Запускаем Exchange Management Shell и создаем группу хранения для восстановления данных (специальная Storage Group с флажком Recovery) где-нибудь в удобном месте (для примера пусть это будет папка c:\rsg):

[PS] C:\>New-StorageGroup RecoveryGroup -LogFolderPath c:\rsg -SystemFolderPath c:\rsg -Recovery

2. Копируем файлы из бэкапа в папку группы хранения:

[PS] C:\>xcopy /e rsg_orig rsg
rsg_orig\E00.chk
rsg_orig\E0000000001.log
...
rsg_orig\E0000000015.log
rsg_orig\E00res00001.jrs
rsg_orig\E00res00002.jrs
rsg_orig\E00tmp.log
rsg_orig\Mailbox Database.edb
rsg_orig\tmp.edb
rsg_orig\CatalogData-efe5b62a-623d-48af-b63e-d69e71941047-cc64dd2d-2428-4f12-bba2-79d6d34c4d27\00010001.ci
...
rsg_orig\CatalogData-efe5b62a-623d-48af-b63e-d69e71941047-cc64dd2d-2428-4f12-bba2-79d6d34c4d27\Used0000.002
55 File(s) copied

3. Подключаем восстановленную почтовую базу как базу для восстановления данных:

[PS] C:\>New-MailboxDatabase -MailboxDatabaseToRecover "Mailbox Database" -StorageGroup RecoveryGroup
WARNING: The recovery database 'Mailbox Database' was created using the
existing file: c:\rsg\Mailbox Database.edb. The database must be brought into a
clean shutdown state before it can be mounted.
WARNING: The recovery database 'Mailbox Database' was created using the
existing file: c:\rsg\Mailbox Database.edb. The database must be brought into a
clean shutdown state before it can be mounted.

Name Server StorageGroup Recovery
---- ------ ------------ --------
Mailbox Database TEST-EXCHANGE RecoveryGroup True

Если база была отмонтирована на момент бэкапа, то предупреждений быть не должно и следующий шаг можно пропускать.

4. Переводим почтовую базу в clean shutdown state, о котором нас предупредили на предыдущем шаге, с помощью команды eseutil:

[PS] C:\>cd c:\rsg
[PS] C:\rsg>eseutil /r E00 /i /d
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 08.03
Copyright (C) Microsoft Corporation. All Rights Reserved.Initiating RECOVERY mode...
Logfile base name: E00
Log files: <current directory>
System files: <current directory>
Database Directory: <current directory>
Performing soft recovery...
Restore Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Operation completed successfully in 1.172 seconds.

Подробно об eseutil можно прочитать здесь:

http://technet.microsoft.com/ru-ru/library/bb123479(v=EXCHG.80).aspx

5. Можно монтировать восстановленную базу:

[PS] C:\rsg>Mount-Database "RecoveryGroup\Mailbox Database"

6.  Ну и наконец-то можно восстанавливать контакты для нашего пользователя (пусть будет aaron):

[PS] C:\rsg>Restore-Mailbox aaron -RSGDatabase "RecoveryGroup\Mailbox Database" -IncludeFolders \????????

Вместо знаков вопроса здесь должно быть слово «Контакты» :)

7. После успешного восстановления данных не забываем убирать за собой:

[PS] C:\rsg>DisMount-Database "RecoveryGroup\Mailbox Database"
[PS] C:\rsg>Remove-MailboxDatabase "RecoveryGroup\Mailbox Database"
[PS] C:\rsg>Remove-StorageGroup RecoveryGroup
[PS] C:\rsg>cd c:\
[PS] C:\>rmdir c:\rsg

Запись опубликована в рубрике MS Exchange. Добавьте в закладки постоянную ссылку.

Добавить комментарий