none
Unable to put (Exchange Recovery) database to clean shutdown state using eseutil /r

    Question

  • Hi,

     

    I am trying to recover some emails from recovery database.

     

    What I have done so far:

    1. Did recovery of Exchange to alternate location with Windows Server Backup
    2. Changed database name from "Mailbox Database.edb" to RDB4.edb
    3. Created recovery database using

      New-MailboxDatabase -Recovery -Name RDB4 -Server servername -EdbFilePath "F:\Recovery\DB\RDB4.EDB" -LogFolderPath "F:\Recovery\Logs"

    4. Used eseutil /r to put database to clean shutdown state using

      [PS] F:\Recovery\Logs>eseutil /r E00 /d"F:\Recovery\DB\Mailbox Database\RDB4.edb" /s"F:\Recovery" /i
    5. Checked the database shutdown state using

      [PS] F:\Recovery\DB\Mailbox Database>eseutil /MH "RDB4.edb"

    Eseutil /MH all the time shows database to be in dirty shutdown state. I tryed to add /a to eseutil /r but it did no change.

     

    What the F#¤K is going wrong????

     

    Any help would be appreciated..!

     


    • Edited by Junkelo Wednesday, September 21, 2011 10:14 AM
    Wednesday, September 21, 2011 9:36 AM

Answers

  • I finally got the database to go to clean shutdown mode.

     

    What I did:

    1. Recovered database to alternate location using Win Server Backup
    2. Placed all logs and database to same folder (F:\Recovery)
    3. Created new recovery database using:

      New-MailboxDatabase -Recovery -Name RDB6 -Server servername -EdbFilePath "F:\Recovery\Mailbox Database.edb" -LogFolderPath "F:\Recovery"

    4. Recovered database with soft recovery using part from

      http://technet.microsoft.com/en-us/library/bb123479%28EXCHG.80%29.aspx

      That says:

      Recovering a database out of place

      Recovering a database that is out of place completely isolates the recovery process from the running storage group. Use this method when you want to recover an offline backup in a recovery storage group, and you intend to play any log files into the backup.

      To prepare to do this procedure, you should move the database file and all transaction logs that you intend to play into a single temporary folder. From this folder, you can run the following command:

      Eseutil /R Enn /I /D

      For example, run this command:

      Eseutil /R E00 /I /D


      So I used above command in the same directory where all files are stored:

      [PS] F:\Recovery>eseutil /r E00 /i /d

    5. After this I checked the shutdown state using:


      [PS] F:\Recovery>eseutil /MH "Mailbox Database.edb"

    6. Now I have Clean Shutdown state
    Lets just hope that I can mount this sucker...
    • Marked as answer by Junkelo Thursday, September 22, 2011 7:16 AM
    Wednesday, September 21, 2011 11:58 AM
  • Mounting went ok. I used:

     

     

    mount-Database -Identity RDB6

     

     

    After that I have restored mailboxes using below command:

     

    New-MailboxRestoreRequest -SourceDatabase RDB6 -SourceStoreMailbox <MailboxGUID, LegacyExchangeDN, DisplayName>  -TargetMailbox <GUID, Alias, LegacyExchangeDN, Domain\Account Name, SMTP address>  -ConflictResolutionOption KeepAll –IncludeFolders “Inbox”

     

    In our enviroment there are several accepted domains and same person may have multiple mailbox accounts with different domains but the name is offcourse the same with every email address so for the SourceStoreMailbox I need MailboxGUID for some accounts. I can obtain this GUID using below syntax:

     

    Get-Mailbox harry.potter@hogwarts.edu | fl Name,ExchangeGuid,LegacyExchangeDN

     

    The problem at the moment is that if user has two mailbox accounts, just the name won't do for new-mailboxrestorerequest so I have to use ExchangeGUID or LegacyExchangeDN. If I try GUID for my self (I dont have two accounts), it dont work. If try DN for my self it works and if I try either for user that has two accounts, not GUID nor DN works.

     

    Great! So close and still so far...

     

     

    • Marked as answer by Junkelo Thursday, September 22, 2011 7:16 AM
    Wednesday, September 21, 2011 2:19 PM
  • When I studyed this problem with

    Get-MailboxRestoreRequestStatistics -Identity Tony\MailboxRestore -IncludeReport | Format-List 

    and

    Get-MailboxRestoreRequest

    commands I noticed that folder "Inbox" was not found for those mailboxes that restore did not go trough. So I didn't include "-IncludeFolders "Inbox"" parameter and I also changed "-ConflictResolutionOption KeepAll" to "-ConflictResolutionOption KeepLatestItem" because I found duplicates from my own mailbox. That could have been because I tested restore several times to my own mailbox.

     

    Anyhow, at this point it seems that I got missing mails restored.

     

     

    • Marked as answer by Junkelo Thursday, September 22, 2011 7:16 AM
    Wednesday, September 21, 2011 6:04 PM

All replies

  • I tryed to put all logs and database to the same folder and used below commands without any luck. Database still in dirty shutdown state.

     

    1. New-MailboxDatabase -Recovery -Name RDB4 -Server servername -EdbFilePath "F:\Recovery\Mailbox Database.edb" -LogFolderPath "F:\Recovery"
    2. [PS] F:\Recovery>eseutil /r E00 /i

    3. [PS] F:\Recovery>eseutil /MH "Mailbox Database.edb"

     

    Why I am not able to get this database to clean shutdown state????????

    Wednesday, September 21, 2011 10:33 AM
  • I finally got the database to go to clean shutdown mode.

     

    What I did:

    1. Recovered database to alternate location using Win Server Backup
    2. Placed all logs and database to same folder (F:\Recovery)
    3. Created new recovery database using:

      New-MailboxDatabase -Recovery -Name RDB6 -Server servername -EdbFilePath "F:\Recovery\Mailbox Database.edb" -LogFolderPath "F:\Recovery"

    4. Recovered database with soft recovery using part from

      http://technet.microsoft.com/en-us/library/bb123479%28EXCHG.80%29.aspx

      That says:

      Recovering a database out of place

      Recovering a database that is out of place completely isolates the recovery process from the running storage group. Use this method when you want to recover an offline backup in a recovery storage group, and you intend to play any log files into the backup.

      To prepare to do this procedure, you should move the database file and all transaction logs that you intend to play into a single temporary folder. From this folder, you can run the following command:

      Eseutil /R Enn /I /D

      For example, run this command:

      Eseutil /R E00 /I /D


      So I used above command in the same directory where all files are stored:

      [PS] F:\Recovery>eseutil /r E00 /i /d

    5. After this I checked the shutdown state using:


      [PS] F:\Recovery>eseutil /MH "Mailbox Database.edb"

    6. Now I have Clean Shutdown state
    Lets just hope that I can mount this sucker...
    • Marked as answer by Junkelo Thursday, September 22, 2011 7:16 AM
    Wednesday, September 21, 2011 11:58 AM
  • Mounting went ok. I used:

     

     

    mount-Database -Identity RDB6

     

     

    After that I have restored mailboxes using below command:

     

    New-MailboxRestoreRequest -SourceDatabase RDB6 -SourceStoreMailbox <MailboxGUID, LegacyExchangeDN, DisplayName>  -TargetMailbox <GUID, Alias, LegacyExchangeDN, Domain\Account Name, SMTP address>  -ConflictResolutionOption KeepAll –IncludeFolders “Inbox”

     

    In our enviroment there are several accepted domains and same person may have multiple mailbox accounts with different domains but the name is offcourse the same with every email address so for the SourceStoreMailbox I need MailboxGUID for some accounts. I can obtain this GUID using below syntax:

     

    Get-Mailbox harry.potter@hogwarts.edu | fl Name,ExchangeGuid,LegacyExchangeDN

     

    The problem at the moment is that if user has two mailbox accounts, just the name won't do for new-mailboxrestorerequest so I have to use ExchangeGUID or LegacyExchangeDN. If I try GUID for my self (I dont have two accounts), it dont work. If try DN for my self it works and if I try either for user that has two accounts, not GUID nor DN works.

     

    Great! So close and still so far...

     

     

    • Marked as answer by Junkelo Thursday, September 22, 2011 7:16 AM
    Wednesday, September 21, 2011 2:19 PM
  • Is there any way to check inside Exchange database?
    Wednesday, September 21, 2011 3:13 PM
  • Odd. My own mailbox seems to restore just fine time after time. If I delete the post that I have restored, try to restore again, restore goes fine for my own mailbox but for some other users, mails are not restored. Shell dont give any errors but mails are not restored...????
    Wednesday, September 21, 2011 3:30 PM
  • When I studyed this problem with

    Get-MailboxRestoreRequestStatistics -Identity Tony\MailboxRestore -IncludeReport | Format-List 

    and

    Get-MailboxRestoreRequest

    commands I noticed that folder "Inbox" was not found for those mailboxes that restore did not go trough. So I didn't include "-IncludeFolders "Inbox"" parameter and I also changed "-ConflictResolutionOption KeepAll" to "-ConflictResolutionOption KeepLatestItem" because I found duplicates from my own mailbox. That could have been because I tested restore several times to my own mailbox.

     

    Anyhow, at this point it seems that I got missing mails restored.

     

     

    • Marked as answer by Junkelo Thursday, September 22, 2011 7:16 AM
    Wednesday, September 21, 2011 6:04 PM