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

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.

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”.

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

Now run ESEUtil to check the database state again.

Note: if the database is still in a dirty shutdown state you can try a repair using ESEUtil /p instead. However this should be a last resort as it will cause data loss.

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.

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.

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.

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

The restored items will now be visible in the mailbox.

Restored Individual Mailbox in Exchange Server 2010
Restored Individual Mailbox in Exchange Server 2010
Paul is a Microsoft MVP for Office Servers and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul is a co-author of Office 365 for IT Pros and several other books, and is also a Pluralsight author.
Category: Exchange Server

165 comments

  1. Ranjna says:

    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

    • Nick says:

      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. 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.

      • 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://practical365.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.”

  3. Gabe says:

    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.

  4. 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 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://practical365.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.

  5. 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:RecoveryE_LogsEX201 /d ‘D:RecoveryD_DataEX201Mailbox Database EX2 01.edb’

      to this
      [PS] D:>eseutil /r E00 /i /l D:RecoveryE_LogsEX201 /s D:RecoveryE_LogsEX201 /d ‘D:RecoveryD_DataEX201’

  6. 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!

  7. 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

      • 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

        • Gagan says:

          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

  8. Tom says:

    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.

      • Tom says:

        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:RecoveryE_LogsEX201-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.

      • Tom says:

        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.

      • Tom says:

        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.

  9. Tom says:

    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:RecoveryD_ProgramFilesMicrosoftExchangeServerV14MailboxMailboxDatabase0980111443

    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.

  10. 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

  11. Jason Taylor says:

    I tried running the first command and I got this.

    Initiating FILE DUMP mode…
    Error: Access to source database ”C:dbMailboxDatabaseMailboxDatabase.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.

  12. Tom says:

    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.

  13. 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

  14. C Blue says:

    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

  15. 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%.

      • Fred says:

        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.

      • Fred says:

        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?

  16. Darrell says:

    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!!!

  17. Mostafa says:

    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
    0x80000000000000

    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

  18. Mostafa says:

    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.

  19. Mostafa says:

    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

  20. 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 …

  21. 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!!!!!!!!!

  22. Joe Shepherd says:

    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

  23. hassan says:

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

  24. Asim says:

    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.

  25. Brian says:

    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

  26. 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

  27. Amit says:

    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

  28. Amit says:

    Hi Paul,

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

    Thanks,
    Amit

  29. 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

  30. Roddy says:

    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

  31. Saran says:

    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 🙂

  32. Sinuhe69 says:

    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!

  33. Fernando says:

    Hi Paul.

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

    [PS] C:Windowssystem32>eseutil /r E00 /i /l “D:RecoveryD_Exchange ServerMailboxUsersDB” /d “D:RecoveryD_Exchange ServerMailboxUsersDBUsersDB.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:RecoveryD_Exchange ServerMailboxUsersDB
    System files:
    Database Directory: D:RecoveryD_Exchange ServerMailboxUsersDBUsersDB.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!

    • nada says:

      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).

  34. Rajesh says:

    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

  35. Abhay says:

    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

  36. Josh says:

    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!

    • nada says:

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

  37. William says:

    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.

  38. Stephen says:

    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

  39. 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

  40. 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

  41. 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.

  42. Arras says:

    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.

  43. Danny says:

    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?

  44. GV says:

    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

  45. Eh Nois says:

    Thanks for your post.

    I restored a mailbox with the following command (Restore-Mailbox -Identity “My_Mail” -RecoveryDatabase RecoveryDB -RecoveryMailbox “Mail_With_Problem” -TargetFolder Restore) and all is ok, but, I need to remove this mailbox restored with problem of My_Mail.

    How I do to remove this mailbox (Mail_With_Problem) of my original mail (My_Mail) ??

  46. Alan Temperly says:

    When I run mailboxrestorerequest is fails at 35%. Then run a resume fails at 10%

    [PS] C:\>New-MailboxRestoreRequest -SourceDatabase recoverydatabase03 -SourceStoreMailbox ‘Mike Berg’ -TargetMailbox Mailboxrecovery -TargetRootFolder Restore -AllowLegacyDNMismatch

    Any suggestion to resolved so mailbox restores completed?

      • Deanne says:

        Hi Paul

        This is great post.

        I have one problem though, when I run the Get-MailboxStatistics -Database RecoveryDB | ft -auto or just Get-MailboxStatistics -Database RecoveryDB it doesn’t return anything just puts in a new command line.

        Any suggestions would be great?

        • Assuming you’re replacing “RecoveryDB” with the name of your recovery database, its possible something has gone wrong earlier in the recovery process. Did you encounter any issues along the way?

  47. Mike says:

    I got the the part where I have mounted the RecoveryDB. Now, I would like to restore the mailboxes to a new Mailbox Database so I could extract them to PST, since all our users are moved to use cloud/hosted-exchange. My ultimate goal is to extract the mailboxes to pst. Is there a direct way to extract mailboxes to pst from RecoveryDB or do I have to create a new, normal Mailbox Database, then from there, I could extract it to pst? If the latter, how do I transfer the mailboxes from RecoveryDB to new mailbox database? Thanks in advance.

  48. JohnK says:

    I’ve been working my way through this process for which I’m exceedingly grateful. After a few hiccups (all my own!), I have successfully created the Recovery Database.

    However, I now get an error when I try to mount RecoveryDB. The error message starts:
    Couldn’t mount the database that you specified. …
    .. and then continues at length.
    I’ve got a Word document containing a screen capture both of the New-MailboxDatabase command succeeding, followed by the Mount-Database failing with full error message.

    If you could spare the time to have a look at it please email me and I’ll send it across. I realise the process was written sometime ago and I did have to modify the commands as Restored files weren’t quite in the places as shown, but I’m fairly sure I got to the Database Recovery and it worked ok.

    Many thanks for your time.

  49. ShaneW says:

    This article is great. Does it work with Exchange 2007? I got all the way to create the recovery database but it doesn’t like my “-server” parameter. I thought maybe I could exclude it since I’m running it from the Exchange server. Then it doesn’t like the -recovery parameter. Is it a little different with 2007? Thanks

  50. Kelley Underwood says:

    Once again, you have a tutorial that saves my bacon. Can the Restore-Mailbox command be modified to restore only the user’s Contacts or Notes?

  51. Adib says:

    You safe my life! Thank you . Now I am in the process to restore from crashed server in to a new server 2008. But got one question. The restore is very, very….. very slow, is normal? Is the first time I do using this way. Is there anyway to improve the speed? Is something to do with the memory?, actually store.exe consuming 90% of the total. Do I have to limit the store.exe memory limits?

  52. Ian says:

    Anyone getting “Operation terminated with error -528 (JET_errMissingLogFile, Current log file missing) after 0.16 seconds.” when you try to run eseutil /r might try opening powershell as Administrator. It took me a while to figure that out, but once running PS as admin the restore went fine and the database state became clean shutdown

  53. Gary says:

    Exchange 2007 / database issues / i think i have it to a clean shutdown state / i try to run in cmd as admin /

    C:Program FilesMicrosoftExchange ServerMailboxFirst Storage Group>eseutil /r “Mailbox database.
    edb”

    Operation terminated with error -1003 (JET_errInvalidParameter, Invalid API parameter)

    I cant figure out why? Any thoughts please (yes nice articles above!) please i am working on this strong, each day now every day and am checking the post for response every hour as i am almost completed with this nightmare but am left with couple errors this being one … i have mounted a data base after success of eseutil / p … but left with two errors, no find log E00 and signature issue which i think is related to the E00.log file being missed … but i took out E00.log etc and try to run eseutil /r and thus i am stuck at:

    Operation terminated with error -1003 (JET_errInvalidParameter, Invalid API parameter)

    please any thoughts?

    Thank You!

    • Rob says:

      Gary
      take a look at the article again, eseutil /r requires a number of things that are missing from your command.

      For instance
      your missing the log file prefix, the transaction log path /l, the database path /d (you don`t need the .edb just the path)

      ESEUTIL /r E01 /l “path of your restored transaction log” /d “path of your edb”

      for example

      ESEUTIL /r E01 /l “T:NO-USERS-HERE-VEEAM-Test” /d “R:NO-USERS-HERE-VEEAM-Test”

  54. CJ says:

    I succesfully mounted 147GB recovery database.
    When I run get-mailboxstatisics it returns nothing.

    If I try to restore a mailbox, it says it doesn’t exist.
    What am I doing wrong?

  55. Rene says:

    Hi Paul.
    Great article!
    During the process of restoring the mails, I can see that in fact mails and folders are starting to appear in my outlook client, but all of a sudden I get an error.
    Processing data from remote server failed with the following error message: The WinRM client cannot complete the operation within the time specified.

    It sounds like some kind of timeout faliure, but I can’t find anything helpful on Google about this

    It happens after importing about 3000 mails. the mailbox I want to retore has 11.000 mails on 3gb of data.
    I had to run the repair step to get the shutdown state to clear.

    I have increased MaxTimeoutms and IdleTimeout in winrm config. doesn’t seem to work.
    Does anyone following this thread have any ideas what to do?
    Thanks, Rene

  56. Adam Lacey says:

    Hi Paul

    It’s staying in a Dirty Shut down for me so I’m Just running the /P switch for this.

    Doing this, will it recover the Calendar items? As I converted a User Mail box calendar to a “Room” Via Exchange 2010, which in the SBS2011 console Marked the account as Disabled, I went to remove the user, Un-Checking “Delete Mailbox” and Checking “Delete User Folders”. This Failed to remove the User Folders saying I didn’t have permission, So I manually Deleted it in the location the user folders where residing (redirected folders).

    I then noticed can not access the “room” calender I converted (using “set-mailbox NAME -type room”), loosing all the appointments that was in there. I have checked and it’s not in the “Recipient Configuration”>”Disconnected Mailbox” area in Exchange .

    Kind regards
    Adam

    • Adam Lacey says:

      You can ignore that as I spotted the post when Tom says about this on December 13, 2011 at 7:53 am. I am going to see what I can get from it when I try the restore

    • You can’t remove the user. Every mailbox needs an associated user account, even room mailboxes. Exchange disables the account for room/equipment/shared mailboxes because the credentials shouldn’t be used to directly log on to anything. But the account itself is still needed.

  57. Michael Bentfeld says:

    Hi Paul,

    I have Exchange 2010 SP3 with four email databases and a public folder database, backed up nightly using Windows Server Backup. I am trying to recover a single mailbox from one of the databases to find some hard-deleted emails. I have gone through the recovery wizard in Windows Server Backup and recovered the databases. I have run through ESEUTIL to confirm the shutdown state of the database:
    eseutil /mH C:recovery-12-21M_MDB04MDB04.edb

    This confirmed a dirty shutdown state.

    I then ran the following command to check the status of the logs: eseutil /ml C:recovery-12-21M_MDB04_logsE03

    The result was that no damaged log files were found. I then tried to run the following recovery command:
    eseutil /r E03 /i /l C:recovery-12-21M_MDB04_logs /d ‘C:recovery-12-21M_MDB04’

    As a result, I got the following message: “Recovery has indicated that there might be a lossy recovery option. Run recovery with the /a argument.”

    That was followed by: “Operation terminated with error -528 (JET_errMissingLogFile, Current log file missing) after 0.109 seconds.”

    Googling that message indicated that I might have to resort to a hard recovery with the /p option, with a possible risk of data loss. To me, that would defeat the purpose, and I’ve never run a hard recovery or a lossy recovery before. As I mentioned before, there don’t appear to be any logs missing or damaged for this database (the list is too extensive for a screenshot but I watched it as it ran and didn’t see anything other than an OK after each log file). Can anyone offer any suggestions?

    Thanks in advance.
    Michael

  58. Michael Bentfeld says:

    Disregard my previous reply. I successfully ran the recovery a second time. However, I do have a recovery database created from a trial run I did some time ago. Can I use that recovery database again?

  59. Vijilesh C.M says:

    How to restore with all sub folders in the inbox. because for me folders are all empty.

    This is how i managed to restore the sent items.
    New-MailboxRestoreRequest -SourceStoreMailbox “username” -SourceDatabase DB09-RDB -TargetMailbox “username” —IncludeFolders “#Sentitems#” –AllowLegacyDNMismatch

  60. josue paulino says:

    Pls Help me with this error.

    I Cannot restore the mailbox

    \Restore2k15\Recovered Data – 2k15AgoQ4Journ – 02/13/2017 14:53:37

    0a263ee4-9961-40ab-88b0-d8a65d59d51a
    /O=QUISQUEYA/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=2K
    5AGOQ4JOURN6BC
    2k15AgoQ4Journ
    8b79c000-8eb5-4b36-abc8-b550139b10c0
    0
    0
    0
    Restore
    Move
    2/13/2017 2:53:40 PM
    2/13/2017 2:53:40 PM
    -1056749260
    Error occurred in the step: Opening source mailbox. Failed to open mailbox by GUID
    ith error: An unknown error has occurred.
    C:\Program Files\Microsoft\Exchange Server\V14\Logging\MigrationLogs\restore-Mailbo
    20170213-145337-5416200.xml

    • I can’t see your environment so I can only suggest you double check that the recovery DB is mounted and that you’re using the correct GUID. If you’re still stuck then open a support case with Microsoft so that they can see your issue and help you with it.

  61. RSL says:

    Hi Paul Cunningham,
    Thank for your post!
    Your post has command restore individual mailbox, but if I need to restore all mailbox from a recover database, should I do that.

    Thanks & regards,

      • You can use the Get-MailboxStatistics command shown in the blog post above to list the mailboxes that are in the recovery database. You can pipe that in PowerShell to the Restore-Mailbox command. So it will be one single PowerShell command to perform all of the restores, however you should carefully test that to make sure you get your syntax correct and don’t accidentally restore the wrong data into the wrong mailbox.

Leave a Reply

Your email address will not be published. Required fields are marked *