Exchange database won't mount

Alasdairb
Alasdairb used Ask the Experts™
on
Hello,

we ran out of space on our Exchange 2013 server. After adding extra space to the VM one of our two databases won't mount.

eseutil /mh shows dirty shutdown.


eseutil /ml E01 shows one log has an error - in fact in Windows Explorer it is slightly smaller in size than the rest. There are hundreds of log files and this is the second from last one - the actual last one shows OK, same as the rest.
error cannot read log file header -541

Operation terminated with error -541 JET_errLogFileSizeMismatch, actual log file size does not match JET_paramLogFileSize


How can I get my database to a clean shutdown state? Running the eseutil /r E01 /i /d E:\exchange\database\mbxdb-01
shows the same error as above
Operation terminated with error -541 JET_errLogFileSizeMismatch, actual log file size does not match JET_paramLogFileSize


I am at my wits end. Any help would be most appreciated.

Alasdair Barclay
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Tom CieslikIT Engineer
Distinguished Expert 2017
Commented:
Here you can find step by step procedure how to clean database shutdown

http://www.exchangerecover.com/blog/how-to-recover-exchange-database-from-dirty-shutdown.html
Architect
Distinguished Expert 2018
Commented:
Try

eseutil /r E00 /l <Log file path> /s <Checkpoint file location> /d <Database folder path>

Include only folder path for EDB file, do not include edb file itself
/S switch is required to specify checkpoint file location (folder only) , this is location same as log folder most probably

do not use /i switch since there are no administrative groups in Exch 2013

If still database can't get in clean state, you can try restoring last latest backup

If backup is very old, then only option left could be hard recovery

eseutil /p <Database folder path>
This is the last sort and may incur data loss equal to lost transaction logs

Else you can use New-MailboxrepairRequest to check entire database for errors, it should resolve your issue
That should save you. the cmdlet is replacement for old isinteg tool
https://www.codetwo.com/admins-blog/new-mailboxrepairrequest-the-successor-of-the-isinteg-tool/

Run the command against faulty database for all possible corruptions
Marshal HubsEmail Consultant
Commented:
Please check following articles to fix dirty shutdown error:

https://blogs.technet.microsoft.com/mspfe/2012/09/06/why-exchange-databases-might-remain-dirty-after-eseutil-r-recovery/

Hope it will resolve your issue!!

Author

Commented:
Had to bite the bullet and do eseutil /p

Strangely it only too 4 minutes to run two passes on the database and it ended up in a clean shutdown state. DB is 55 GB! I was expecting it to take 10 hours!

Thanks for your help.

Alasdair

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial