Exchange database won't mount


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
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Tom CieslikIT EngineerCommented:
Here you can find step by step procedure how to clean database shutdown

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

Run the command against faulty database for all possible corruptions

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Marshal HubsEmail ConsultantCommented:
Please check following articles to fix dirty shutdown error:

Hope it will resolve your issue!!
AlasdairbAuthor 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.

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.