How to Restore an Individual Exchange 2010 Mailbox with Windows Server Backup

In this tutorial I’ll demonstrate the step by step process for recovering individual mailbox items for an Exchange Server 2010 mailbox using Windows Server Backup.  This procedure has the following stages:

The mailbox user “Alex Heyne” is being used for this tutorial, and he has the following items in his inbox.

Exchange 2010 Mailbox User

Exchange 2010 Mailbox User


Backing Up the Exchange Server 2010 Mailbox Database

The mailbox server was backed up using Windows Server Backup.  You can refer to this tutorial for the exact steps to perform Exchange Server 2010 mailbox server backups with Windows Server Backup.

In this scenario the user has deleted the mail items and they have since been purged from the recoverable deleted items folder as well.  Because the mailbox database is still in production we’ll need to use a Recovery Database to restore the backup.

Restoring an Exchange Server 2010 Mailbox Database to an Alternate Location

The first step is to perform a restore of the mailbox server backup, redirecting the restore to an alternate location on the server.  Start by launching Windows Server Backup, and then in the Actions pane click on Recover to start the Recovery Wizard.

Launch the Windows Server Backup Recovery Wizard

Launch the Windows Server Backup Recovery Wizard

Choose the location of the backup you wish to restore from, and click Next to continue.

Choose the Backup Location to Restore from

Choose the Backup Location to Restore from

Choose the backup date and time to restore from, and click Next to continue.

Choose the Backup Date and Time to Restore from

Choose the Backup Date and Time to Restore from

For Exchange Server 2010 mailbox database restores choose Applications as the Recovery Type.  Click Next to continue.

Choose the Recovery Type of Applications

Choose the Recovery Type of Applications

Choose Exchange as the application to recover, and check the box to not perform a roll forward of the database.  Click Next to continue.

Select Exchange as the application to recover

Select Exchange as the application to recover

This step is very important.  Select Recover to another location and enter the path to a folder that is different to the location of the live mailbox database or log files.  Click Next to continue.

Select Recover to Another Location

Select Recover to Another Location

At the confirmation screen if you are happy with the selections you’ve made click on Recover to start the restore.

Click on Recover to start the restore

Click on Recover to start the restore

When the restore has completed successfully you can close the Recovery Wizard.

Close the Recovery Wizard when the restore is complete

Close the Recovery Wizard when the restore is complete

On the Exchange Server 2010 mailbox server where the database files were restored open Windows Explorer and look at the folder where the restored files are located.  Notice how the recovery process has created the original folder structure for the data under the D:\Recovery folder.

Recovered data in Windows Explorer

Those restored paths are important for the next steps.

Bringing the Restored Database to a Clean Shutdown State with ESEUtil

The restored database file will be in a state known as “dirty shutdown”.  You can confirm this by running the following ESEUtil command, specifying the path to the restored .edb file on your server.

[PS] D:\>eseutil /mh 'D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating FILE DUMP mode...
         Database: D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb

DATABASE HEADER:
Checksum Information:
Expected Checksum: 0x1d0abd9b
  Actual Checksum: 0x1d0abd9b

Fields:
        File Type: Database
         Checksum: 0x1d0abd9b
   Format ulMagic: 0x89abcdef
   Engine ulMagic: 0x89abcdef
 Format ulVersion: 0x620,17
 Engine ulVersion: 0x620,17
Created ulVersion: 0x620,17
     DB Signature: Create time:12/03/2010 21:20:08 Rand:715244149 Computer:
         cbDbPage: 32768
           dbtime: 21550 (0x542e)
            State: Dirty Shutdown
     Log Required: 143-143 (0x8f-0x8f)

Next check the state of the log files with the following ESEUtil command, specifying the path to the restored log files. Note the end of the path is the log file prefix, in this case “E00″.

[PS] D:\>eseutil /ml D:\Recovery\E_\Logs\EX201\E00

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating FILE DUMP mode...

Verifying log files...
     Base name: E00

      Log file: D:\Recovery\E_\Logs\EX201\E000000007B.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000007C.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000007D.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000007E.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000007F.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000080.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000081.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000082.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000083.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000084.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000085.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000086.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000087.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000088.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000089.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000008A.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000008B.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000008C.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000008D.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000008E.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E000000008F.log - OK
      Log file: D:\Recovery\E_\Logs\EX201\E0000000090.log - OK

No damaged log files were found.

Operation completed successfully in 0.922 seconds.

Now we can run ESEUtil in recovery mode to bring the database into a clean shutdown state.

[PS] D:\>eseutil /r E00 /i /l D:\Recovery\E_\Logs\EX201 /d 'D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb'

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
    Logfile base name: E00
            Log files: D:\Recovery\E_\Logs\EX201
         System files:
   Database Directory: D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb

Performing soft recovery...
                      Restore Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................

Operation completed successfully in 0.985 seconds.

Now run ESEUtil to check the database state again.

[PS] D:\>eseutil /mh 'D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb' | findstr "State:"
            State: Clean Shutdown

Note: if the database is still in a dirty shutdown state you can try a repair using ESEUtil /p instead.

[PS] D:\>eseutil /p 'D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb'

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating REPAIR mode...
        Database: .\Mailbox Database EX2 01.edb
  Temp. Database: TEMPREPAIR1492.EDB

Checking database integrity.

The database is not up-to-date. This operation may find that
this database is corrupt because data from the log files has
yet to be placed in the database.

To ensure the database is up-to-date please use the 'Recovery' operation.

                     Scanning Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................

Integrity check successful.

Note:
  It is recommended that you immediately perform a full backup
  of this database. If you restore a backup made before the
  repair, the database will be rolled back to the state
  it was in at the time of that backup.

Operation completed successfully in 3.547 seconds.


Creating an Exchange Server 2010 Recovery Database

The next stage of the recovery process is creating the Recovery Database.  Launch the Exchange Management Shell.  Run the New-MailboxDatabase cmdlet with the following parameters:

  • -Recovery:$true (specifies that the database will be a Recovery Database)
  • -EdbFilePath (the path to the restored mailbox database file)
  • -LogFolderPath (the path to be used for transaction log files, which must be an empty folder)
  • -Server (the server that the recovery is being performed on)

In this example the following command is run.

[PS] D:\>New-MailboxDatabase RecoveryDB -Server EX2 -Recovery:$true -EdbFilePath 'D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb' -LogFolderPath 'D:\Recovery\E_\Logs\EX201-RecoveryDB'

WARNING: Recovery database 'RecoveryDB' was created using existing file
D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb. The database
must be brought into a clean shutdown state before it can be mounted.

Name                           Server          Recovery        ReplicationType
----                           ------          --------        ---------------
RecoveryDB                     EX2             True            None

Note the warning about the database not being in a clean shutdown state. Since we’ve already brought the database to a clean shutdown state we can now mount the recovery database.

[PS] D:\>Mount-Database RecoveryDB


Restoring Mailbox Items from a Recovery Database

With the recovery database mounted we can now proceed with mailbox item restores.  You can see the available items to restore by looking at the mailbox statistics for the recovery database.

[PS] D:\>Get-MailboxStatistics -Database RecoveryDB

DisplayName               ItemCount    StorageLimitStatus
-----------               ---------    ------------------
Alex Heyne                11                   BelowLimit
SystemMailbox{f13446dd... 1                    BelowLimit

To restore all mailbox items into a sub-folder of the existing mailbox so that they can be inspected use the following command.

[PS] D:\>Restore-Mailbox -Identity "Alex Heyne" -RecoveryDatabase RecoveryDB -RecoveryMailbox "Alex Heyne" -TargetFolder Restore

Confirm
Are you sure you want to perform this action?
Recovering mailbox content from mailbox 'Alex Heyne' in the recovery database 'RecoveryDB' to the mailbox for 'Alex
Heyne (Alex.Heyne@exchangeserverpro.net)'. This operation may take a long time to complete.
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): y

The restored items will now be visible in the mailbox.

Restored Individual Mailbox in Exchange Server 2010

Restored Individual Mailbox in Exchange Server 2010

About Paul Cunningham

Paul is a Microsoft Exchange Server MVP and publisher of Exchange Server Pro. He also holds several Microsoft certifications including for Exchange Server 2007, 2010 and 2013. Connect with Paul on Twitter and Google+.

Comments

  1. i run this command:-
    Restore-Mailbox -Identity “user1″ -RecoveryDatabase RecoveryDB -RecoveryMailbox “user1″ -TargetFolder Restore

    but got following error message:-
    the specified user couldn’t be found

    Note:- I performed this on both disabled and removed mailbox

    • you put quotes around the mailbox name of user1 Quotes are only needed if the mailbox name has spaces in the name. The name user1 does not have any spaces, so quotes are not needed. Try taking the quotes away from the mailbox name user1

  2. Hi,

    Great, thanks a lot for your Tutorial.

    hosebei

  3. Gracias por el tutorial/Thanks for your tutorial

  4. You just saved my life. Thank you.

  5. Flavio Boniforti says:

    First of all: MANY THANKS for this procedure, which is not to be found on Microsoft Sites :-(
    Secondly: the last step (logging in via OWA), how do I achieve it? Do I have to log in with the user of which I recovered the mailbox?
    Thanks!
    F.

    • Hi Flavio, log in to whichever mailbox you restored the items to. You can use OWA or Outlook, I just happened to use OWA in this demo.

      • Flavio Boniforti says:

        Hello Paul and thanks for getting back to me.
        It is working as I want it to, thanks.
        Now one question: as I will never restore the application itself, but instead I’ll be eventually restoring single mailboxes (thus, restoring only the *data*), would it be sufficient to backup the folder containing EDB + LOG files?

        Thanks again,
        F.

      • Hi Flavio, you need to backup the entire volume(s) that the database and logs are on, not just the folders they are in. Thats just the way it works if you’re using Windows Server Backup.

        See here:
        http://exchangeserverpro.com/exchange-2010-mailbox-database-backup-restore-windows-server-backup

        “For an Exchange Server 2010 mailbox database backup we need to choose any volumes that have Exchange database or log files on them. The entire volume needs to be backed up, not just the folder holding those files.”

  6. Great review. Thanks. If you have more than one mailbox database is there a way to just restore the one DB that contains the mailbox I need to restore?

    Thanks.

    • Hi Gabe, Windows Server Backup does its backup/restore at the volume level. So if you have multiple databases on a single volume you will need to restore all of those databases together. So obviously that also means that the alternate location you restore them to needs to have enough space to hold all the databases, not just the particular one you’re after.

  7. Flavio Boniforti says:

    Thanks for your quick feedback Paul, but is there any real need to back up the entire volume?
    Thanks,
    F.

    PS: I couldn’t reply to your reply… :-(

    • Flavio, if you’re using Windows Server Backup to backup Exchange 2010 mailbox databases there is no choice – you must backup the entire volume. Its just how it works.

      • Flavio Boniforti says:

        Hy Paul.
        It’s OK, I will manage to get enough space to back up the whole volume.
        My troubles begin at the size of the backup: as I’m doing remote nightly backups (rsync via ssh tunnel), I don’t want to transfer *everything*. What do you think: would it be enough if I remotely transfer *only* the Exchange directories (mailboxes and logs)?
        F.

      • Hi Flavio, at this point I’m a bit concerned you don’t understand some important concepts for Exchange backups, and that this is going to put your environment at risk.

        Exchange databases need to be backed up by a proper Exchange-aware backup program. Windows Server Backup is one such program, and there are others such as Symantec Backup Exec as well.

        You can read a little more about it here:
        http://exchangeserverpro.com/exchange-2010-faq-disk-filling-log-files

        If you try to back up just the database and transaction logs using rsync or another file copy program, you’re not getting a proper backup of your Exchange database. It is highly likely such a backup will not be able to be used to recover your server from a disaster.

        The reason I keep saying that with *Windows Server Backup* you need to back up the entire volume(s) that holds the Exchange databases and transaction logs is because that’s how it works. It isn’t optional, it isn’t a personal preference, it is how Windows Server Backup works when backing up Exchange.

        Other backup programs that work with Exchange have a slightly different interface to achieve the same thing, but none of them work by just doing file system backups of the folders containing the database and logs.

  8. Rodrigo says:

    Houston.. we have a problem!!! fresh Exchange 2010 SP1 RollUp 4 upgrade from Exch2003 (2 HUB CAS – 2 MBX as a Dag Members) 2 dbs plus one public folder. Only 2 mailbox in DAG (the rest stills on Exch2003 Mailbox Databases)
    Run WBBackup – runs ok
    Run WB Restore – alternate Location – no log replay…
    after that… my db is in inconsistent state (which is obvious) – after ESEUTIL /R no DB was touched (my EDB file has the same date – restore time – also process monitor never shows me a write to my edb file) … my db still in dirty shutdown…
    Are you telling me that I need to waste my time (and my user’s time) to HARD REPAIR the db???

    So… where is the … restore.env file?

    My db is not mounted because is dirty shutdown… if i have to restore 100 gb??? do i need to wait 10 hours to repair my db??

    • Rodrigo says:

      I found my answer… the problem is when you specify the /D parameter YOU DON’T NEED TO SPECIFY the edb file, you just need to inform to the parameter the location of the EDB file – after a deeper research with process monitor you will see a file request path as a directory… so ESEUTIL never found an EDB file (the name is coded into logs so you need to worry about maintain the same file name of the mailbox database)

      please change the following
      [PS] D:\>eseutil /r E00 /i /l D:\Recovery\E_\Logs\EX201 /d ‘D:\Recovery\D_\Data\EX201\Mailbox Database EX2 01.edb’

      to this
      [PS] D:\>eseutil /r E00 /i /l D:\Recovery\E_\Logs\EX201 /s D:\Recovery\E_\Logs\EX201\ /d ‘D:\Recovery\D_\Data\EX201\’

  9. Paul, thank you for this post!

    I moved a user’s mailbox from Exchange 2003 to Exchange 2010, and while the move completed, a warning appeared that the 2003 source mailbox could not be deleted. When I deleted the source mailbox in Server Manager on the Exchange 2003 server, the 2010 mailbox was also deleted, and was unable to be reconnected in 2010. The 2003 mailbox still then reappeared but had nothing in it, even though it was previously deleted.

    This post enabled me to recover the 2010 version of the mailbox.

    Thank you again!

  10. Cristian Ruiz says:

    Hi,
    instead of restoring the mailbox content to the actual mailbox to a subfolder, how is the procedure to open de mailbox restored just to look for a specific mail?
    Thanks

    • Depends how much you know about the email you’re looking for. Restore-Mailbox can filter on keywords, sender addresses, recipient addresses, and so on.

      http://technet.microsoft.com/en-us/library/bb125218.aspx

      • Peter Welch says:

        Hi Paul,
        I am also looking at this and I have tried the filters (knowing exactly what I am after should be there) but I just get an empty folder restored.

        Pete

        • Hi Paul,

          I have been able to successfully restored the edb from backup and brought it into clean shutdown state. I created a recovery database and mounted it form the restored files. However I couldnt restore mails from mailbox in recovery database using filters of Restore-mailbox command like -subjectkeywords and -contentkeywords. I get an empty folder in the target mailbox. Please suggest how to make the filters work,

          Gagan

  11. Thanks, you are my king of this evening!

  12. Perfect tutorial.

    thanks

  13. Paul, thanks for the tutorial. I’m doing a restore of a users Tasks folder. I was able to get to the step to create the recovery database and mount it.

    However,

    I do not get any messages about it being a dirty shutdown state. And then Get-MailboxStatistics -Database RecoveryDB comes back with no results.

    IT feels like I did not properly path something and the recovery database did not properly create a recovery database using the recovered .edb file.

    • Hi Tom, if mounted the DB and see nothing in it then its possible you have a path misconfigured and that it simply created a new, empty EDB file when you mounted it.

      Double check your paths, that is definitely the first step.

      • So the command to create the Recovery DB should it translate to this:

        New-MailboxDatabase RecoveryDB -Server EX2 -Recovery:$true -EdbFilePath ‘PATH TO Restored .EDB File’ -LogFolderPath ‘D:\Recovery\E_\Logs\EX201-RecoveryDB’

        Would it make my life easier to just move the recovered things to a shorter path in my recovery folder, because I do think that the full pathing is making my life more difficult.

      • Disregard Last Question, however I have a newer, better question.

        I see all recovered folders, except it does not recover “Tasks” which is what I was trying to get this time. Is there a alternate way to recover the Tasks Folder that you’re aware of? Thanks for your help.

      • Ok, disregard that question too. I figured out that Calendars and Tasks both restore to the original location under a separate file called Tasks or Calendar….

        So…that means that your tutorial was both accurate and correct on all counts. Thanks for posting the step by step so clearly, it is a tedious process.

      • Hi Tom, glad you got it sorted out, and yes I agree it is a bit tedious :)

  14. Also, a note to anyone who has left their .edb file in the default path, when you recover the database you should remove spaces when you’re navigating to the subfolder as their can not be spaces. Example.

    D:\Recovery\D_\ProgramFiles\Microsoft\ExchangeServer\V14\Mailbox\MailboxDatabase0980111443

    I renamed Program Files and Exchange Server, and Mailbox Database 0980111443 by just navigating and renaming the folders and removing spaces.

    This took me much longer than it should’ve to figure out.

  15. Devang Patel says:

    Hi Paul,

    The Article is really great.

    I have query. What if i have Mailbox Database of 200 GB and i need to restore a single mailbox..?

    If i’ll do above procedure it would take so much time (don’t know the exact time.

    can you pls tell is their any way to restore a single mailbox from the Exchange Backup which was taken using Windows Server Backup feature and able to restore a single mailbox using the windows server backup featur.

    Regards,
    Devang Patel

  16. Jason Taylor says:

    I tried running the first command and I got this.

    Initiating FILE DUMP mode…
    Error: Access to source database ”C:\db\MailboxDatabase\MailboxDatabase.edb’
    failed with Jet error -1022.

    Operation terminated with error -1022 (JET_errDiskIO, Disk IO error) after 0.15
    seconds.

    • Hi Jason, is that the correct path to the EDB file? Just check that it is valid and no typos, I notice in your error message it looks like you’ve got double-quotes at one end of the file path and a single quote at the other.

  17. Devang, I believe that is the downside to Windows Server backup being that you need to do a full restore. My advice is to restore to an External Drive due to space. Symantec Backup Exec has a way to do a single mailbox restore without needing to do a full restore of the database (I believe), which is the advantage of that type of program.

    Jason, I would paste the exact command you used, I believe I had to mess around a little bit with the command, but try to put the pathing in a single quote ‘ on the beginning or the end. If that doesn’t work, try without the quotes.

  18. Devang Patel says:

    Hi Paul

    Thanks for the reply.

    This Settings work perfectly and i have checked it. i have one query regarding the service which is responsible for moving the log files to the passive copy in DAG and also i want to know in exchange 2007 CCR which one is responsible means which service is used by this clustering or high availibility solutions.

    Another query is if i wanted to check the health of the DAG which exchange powershell command i need to enter.for exchange 2007 ccr the command is get-clustermailboxserverstatus.

    Thanks for the support you have provided.

    Regards,
    Devang Patel

  19. Great work here. Worked for me with just a little fat-finger-frustration, but worked PERFECTLY none the less once I typed without typos,

    However, now I have a new [related] question. How do I REMOVE the recovery database (dismount DB, delete files, etc.)?

    Any help wit this appreciated

  20. Tom Rimala says:

    Hi Paul.
    Great post. But do you know how to get around problem with mailboxes that’s failing ?
    Have some mailboxes failing from 10-99%.

    • I want to restore a email from an archive. How do you get Exchange to recognize an archive file from the vault?

      • “Vault” as in Enterprise Vault?

      • No, vault as in off site storage. Data is gone from server but is on a backup tape in storage.

      • Either restore from the tape onto the file system of the server, and use the same process above to create an Recovery DB using the restored files.

        Or you can create the Recovery DB first and use it as the target for the restore from tape.

        More about Recovery DB’s here:
        http://technet.microsoft.com/en-us/library/dd876954.aspx

      • re you saying I have to restore the entire database to restore one email? I make a full backup every night. Shouldn’t I be able to copy that backup to the server and restore one email? or do I have to have Symantec Vault to do that?

      • Aren’t “restore the entire database” and “copy that backup to the server” basically the same thing?

        One way or another you need to get the database off tape and onto disk to be able to extract mail from it. You can’t do it directly from the tape.

        So whether you’re creating the RDB first and restoring from tape into it, or restoring to disk from tape and then creating an RDB to use the restored files, one way or another you’re restoring the database in full.

        Some backup tools have the capability to do per-item recovery whereby they do all the hard work for you, but you need to be backing up with that feature enabled first. If you’re just doing DB-level backups, you’ve got to restore the full DB to get mail out of it.

      • I use Symantec withe the Exchange Agent. I make a full backup every night. When I need to restore something say from a year ago from a regular backup, I copy the backup to the server, inventory it and restore one or many files. With exchange I copy the backup to the server and do an inventory, but I cannot restore anything from it. Am I backing up the Exchange incorrectly?

  21. Can not thank you enough for this website! Had problems using esutil until I upgraded Exchange 2010 to SP2. After that, it worked like a charm. Again, thank you so much for taking the time and effort to share your knowledge and expertise!!!

  22. I did all the steps in vmware successfully in vmware Scenario I have all three roules and dc in one box and I colud retrieve my all inoboxes from The Recovery database. When I implement this scenario in my actual server which memeber of domain and contain three roules the step of mounting database faild my event viewer ID is
    Log Name: Application
    Source: ExchangeStoreDB
    Date: 2/19/2012 9:17:36 AM
    Event ID: 231
    Task Category: Database recovery
    Level: Error
    Keywords: Classic
    User: N/A
    Computer: EMAIL.mydoamin.com
    Description:
    At ’2/19/2012 9:17:35 AM’, the copy of database ‘RDB2′ on this server encountered an error during the mount operation. For more information, consult the Event log on the server for “ExchangeStoreDb” or “MSExchangeRepl” events. The mount operation will be tried again automatically.
    Event Xml:

    231
    2
    1
    0×80000000000000

    19656
    Application
    EMAIL.mydomain.com

    RDB2
    80b29168-519f-4f99-9711-193216ca6b5e
    Store
    GenericMountFailure
    RDB2
    Store
    There is only one copy of this mailbox database (RDB2). Automatic recovery is not available.
    2/19/2012 9:17:35 AM

    ps:>mount-Database RDB2
    Couldnot mount the database
    Please advice

  23. Thank you for your response. My EDB is on clean shutdown state

  24. Dear Sir; I have created Recovery database called RDB1 the foder of recovery database called RDB1 the database (edb file which is in clean state ) called RDB1.edb the log file is into the same folder in sub folder called RDB1.

  25. All my account was restored ok except one account; the error message is:
    Error occurred in the step Moving messages.Failed to copy message to the destination mailbox store with error:MAPI or unspecified service provider.ID no:00000000-0000-00000000,error code: -1056749164
    in event viewer the id error is 1008

    • Did you ever find a fix for this one mailbox, we are having the same issue on just one mailbox.

      Thanks,
      Jaime

  26. collcomp says:

    Fantastic article that saved me a lot of time and effort! Thank you so very much, you rock!

    Question:
    After the user recovers the needed email, how do I and should I un-mount the restore database so that it is no longer active on the exchange server. I also assume that the user must delete “Restore” folder manually once done with it. Correct?

    Thank you in advance …

  27. Carol Ostos says:

    My IPFiltering.edb database is in dirty shutdown after relocating the database location to a new logical drive, I can see the edb, checkpoint, jrs, trn and trntmp. I have been trying to run eseutil /ML to check the status of the transaction logs so I can attempt first a soft recovery with /R but I’m missing the log prefix, I’m fairly sure is not E00, so if anyone out there can help me that would be great!!!!

    • Carol Ostos says:

      Silly me, I had the right log prefix “trn” I just had typos in the directory path. After I fixed that I was able to recover my database, its now in clean shutdown and the Transport service is running again ;) Thanks Paul!!!!!!!!!

  28. I was able to get the database in a clean state but when I try to create the recovery database I get an error that says “Quota violation”. anyone know what might be causing this? Thanks

  29. i cannot make restore from recovery database and it says that mail box doesn’t exist please can you give me hint?

  30. As posted by Rodrigo. When you replay the logs don’t specify the database file name. If you do the database will remain in a dirty state. I wasted 4 hours on an eseutil /p

    Other than that – its all good. Really helpful article.

  31. Thanks, thanks, thanks Paul!
    It works like a charm.

  32. Ok, I pulled what I need out of the mailbox. How do I safely unmount and remove RecoveryDB?

  33. Paul,

    This information is great, but I do have one question.
    We do use a third party for backup (Symantec NetBackup). When I restore from the tape backup, I need to restore the .edb file and the logs files. My database.edb has multiple mailboxes on it and quite large (over 200GB). When I do the restore, I need to have a location that is big enough to accomodate both that large file, as well as the log files?

    Thank You

  34. Great and clear article !!!!!!!!!!!

    Thank You

    Bravo PAUL
    Merci

  35. Patrick says:

    Worked for me… MANY THANX!

    Patrick

  36. Phil Ready says:

    Hi Paul
    Have you got any tricks or advice on a good way to restore missing calendar entries for one user? I want to avoid double-ups, hundreds of reminders and resending meeting invites.

    Thanks

  37. Hi Paul,

    Thanks for good article. One question can you tell me how to register MS Exchange 2010 application with Windows server backup. When I come to restore the backup in the Select recovery type screen
    the option for Applications is greyed out. It says that you can recover applications that have registered with Windows Server Backup.

    Please let me know,

    Thanks,
    Amit

  38. Hi Paul,

    Got solution. Need to select volume that Exchange DB & logs hosted. It is working.. Application option is visible for recover.

    Thanks,
    Amit

  39. Awesome tutorials:)
    Thanks a lot:)

  40. Ashish Masih says:

    Link is very helpfull to recover and restore the database.

    i have a question that can we restore the one exchange database on second one exchange database. both domains are different

  41. Hi, hope you can help.

    Managed to get through all the steps and display the recovery database statics,. When I try to recover the mailbox with the following command ‘ Restore-Mailbox -Identity “user″ -RecoveryDatabase rdb1 -RecoveryMailbox “user″ -TargetFolder recovery’ I get the following error:

    Error was found for user because: Error occured in the step opening source mailbox. Failed to open mailbox by GUID with error. The operation failed., error code -1056749260

    Thanks in advance

  42. Hi Paul,

    Thanks a lottttttttttttttttttttttttttttttttttttttt , I would say this world needs a Techy guy with kind heart like you so that we can create another exchange universe :-)

    Really your videos helped me a lot in learning these things

    Keep doing the good work Man :-)

  43. Your tutorial is really an eye-opener! Even my consultant said single mailbox recovery is not achievable with Windows Backup but you have proved it is quite the opposite.

    Great stuff, keep doing so Paul!

  44. Hi, yes, I haven´t restoration logs, I can continue with the following steps?

  45. Hi Paul.

    I’m stuck at the point for changing the DB state. Here is what I get when running the script:

    [PS] C:\Windows\system32>eseutil /r E00 /i /l “D:\Recovery\D_\Exchange Server\Mailbox\UsersDB” /d “D:\Recovery\D_\Exchange Server\Mailbox\UsersDB\UsersDB.edb”

    Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
    Version 14.00
    Copyright (C) Microsoft Corporation. All Rights Reserved.

    Initiating RECOVERY mode…
    Logfile base name: E00
    Log files: D:\Recovery\D_\Exchange Server\Mailbox\UsersDB
    System files:
    Database Directory: D:\Recovery\D_\Exchange Server\Mailbox\UsersDB\UsersDB.edb

    Performing soft recovery…

    Recovery has indicated that there might be a lossy recovery option. Run recovery with the /a argument.

    Operation terminated with error -528 (JET_errMissingLogFile, Current log file missing) after 0.0 seconds.

    The previous one ran successful as all the logs shows OK.
    Am I doing something wrong?

    Thanks!

    • You just got lucky the first time…
      I have that issue all of the time and the solution is to give up and just go to the eseutil /p command and ignore all of the fearmongering about corruption…it works.

      Sure, it’s nice if you can run through the t-logs and really clean the DB, but I have always seen this error and have to skip right to the /p option anyway (especially to avoid wasting all of that extra time for the “safer” command to get to 99% and fail).

  46. Thanks a lot for this tutorial!

  47. Hi Paul,

    This tutorial on restoring mailboxes is awesome.

    I am trainer and wanted to show my students a demonstration of this. your tutorial helped me do it. thanks a ton.

    Rajesh

  48. Hi Paul,

    when i trying to recover mailbox form windows backup then its not completed error (prepare the component for recovery failed detailed error, the specified component was not a part of the backup).
    please suggest ,how can i recover it.

    and also if u don`t mind please send me you Skype id / mail id.

    thanks for your support.

    Regards,

    Abhay

  49. What is the best way to determine which mailbox a user that no longer exists would be stored on?

    I need to grab data from a backup from about 7 months ago for a user no longer with the company and would really like to know where to grab it from because we have a large number of mailbox db’s.

    Thanks, great post!

  50. Single mail item.

    The command seems success full but it does not restore the email. Not sure why?

    • Same here – the filtering of specifics to only grab one or a few emails runs fine, but not a thing is actually restored.
      Boo!

  51. Paul does the recovered mailbox includes calendar information also?

  52. Hello Paul,

    Great article.

    However, say my restore does not have the “Applications” option, as I have my database sitting on another volume (NAS, SAN, etc…) that is not on the actual EX server. It is connected via iSCSI and is presented to the EX server as a volume. In any event, can I restore using the “Files and Folders” or “Volumes” option and still use the Recovery Model? Or, does the creation of the recovery database expect to find an exchange aware restored mailbox database file? I understand that I would still have to run eseutil /mh and /r and possibly /p.

  53. Hi, Just wanted to say thanks a lot for this guide. IT is really useful and i was able to complete the steps without any issues

    Regards
    Stephen

  54. Andrew Muller says:

    This is a ridiculously complex procedure for such an everyday kind of task.

    Progressing slowly and learning to despise Microsoft more by the hour.

    • On the other hand, Windows Server Backup is free.

      If you want something easier to administer there are plenty of good third party backup products that have wizard-driven interfaces for these operations and handle all the complex stuff automatically for you.

      • Jagannath Patro says:

        Hi Paul,

        Thanks for sharing very useful exchange 2010 backup & restore information, but can you clarify is there any GUI mode available in exchange 2010 instead doing this restoration process through exchange management shell. (i.e in exchange 2007 we can do the same in gui through recovery management which is available under tools in exchange management console). If possible please share how to do?

        Awaiting your reply post.

        Thanks & Regards,
        Jagannath Patro

  55. Scott Brozinick says:

    Thanks the article was easy to follow and use. However, I did have a bit of trouble restoring/moving the contents of one mailbox due to: Error occurred in the step: Moving messages. This mailbox exceeded the maximum number of corrupted items specified for this move mailbox operation., error code: -1056749110. The amount of items that could not be moved was stated in the log file. And after using the -BadItemLimit arguement the process completed successfully.

    Thanks for the article!!

    Best Regards,
    Scott Brozinick

  56. Great article, very easy to use. I did run into the issue with not having to specify the database name in the recovery step, but was successful in the end. My one question, how to remove the recovery database once I have restored the needed information? I am sure it is very simple, but it would complete this article perfectly. Thanks for the assist.

  57. Is there a way to specify the BadLimit parameter during the restore-mailbox operation?

  58. Great! Thanks you! i used it with success

  59. Thank you time saver.
    Make sure email account exists in Exchange (in case it was deleted) before last step.

  60. I backup only the EDB file using Windows Server Backup I do full backups everyday and it clears the transaction logs. Then I check the time stamp of last full backups and all is good.
    Today I needed to restore a DB and I use your guide. You mentioned restoring logs files but because I don’t backup the logs instead of doing a recovery mode with eseutil I just run repair and I can mount and retrieve mailboxes.

    Is it safe to do it like this in terms of not doing backups to the logs?

    Thanks.

  61. Thank you very much for the Info. worked for me like piece of cake.
    Keep up the Good work.

  62. After we recover from the recovery mailbox. Whats the proper way to dismount it from the user mailbox, so they dont see it?

    What command?

  63. You may check application event 1006 for successfully mailbox restoration.

  64. Hi Paul,
    great article…!! but i have issue while restore. when i select application restore, it fails with below error
    Error Restoring D:\DB2.edb during read: Error [0x80070020] The process cannot access the file because it is being used by another process..
    can i do this through file level restore opton?

    Thanks

  65. Christopher says:

    Flavio,

    Thumbs up dude!!! thumbs up

Leave a Comment

*

We are an Authorized DigiCert™ SSL Partner.