Recovering Personal Archive Mailboxes from a Recovery Database

Personal archive mailboxes are new in Exchange 2010.  They are designed to be a replacement for personal PSTs.  They are better for Administrators who need to manage end users' personal repositories for email while at the same time ensure compliance and retention polices.  The issue happens when an administrator attempts to restore an archive mailbox from a Recovery Database.  If the Administrator attempts to do this from a MAPI application either produced by his company or from a vendor he will receive the error code MAPI_E_FAILONEPROIVDER.  This is because RPC Client Access does not permit logons to an archive mailbox in an RDB.  This is because of a design limitation which causes the client application to be redirected to the mailbox database hosting the normal archive mailbox.  When the Store receives the request it detects that the client application has passed the CONNECT_RESTORE_DATABASE flag and returns an error.

To restore an archive mailbox hosted in a recovery database use the Restore-Mailbox cmdlet.  First, get the archive mailbox GUID from the get-mailbox cmdlet for the user whose archive mailbox you want to restore.

[PS] C:\>get-mailbox <alias> | Fl Name, Archive*

...

ArchiveGuid : <GUID>

...

Next, run the Restore-Mailbox cmdlet in the following way:

[PS] C:\>Restore-Mailbox -RecoveryDatabase <Recovery Database Name> -RecoveryMailbox <GUID> -TargetFolder <Target Folder Name> -Identity <alias>

This will restore the mailbox data back to a live mailbox.  Then the end user can work with it from there.

Here is a link to the supporting KB:

MAPI applications cannot access archive mailboxes in Recovery Databases

support.microsoft.com/kb/2590306