• Twitter
  • FaceBook

Exchange Server Forums

Forums | Register | Login | My Profile | Inbox | RSS RSS icon | My Subscription | My Forums | Address Book | Member List | Search | FAQ | Ticket List | Log Out

Database corruption

Users viewing this topic: none

Logged in as: Guest
  Printable Version
All Forums >> [Microsoft Exchange 2007] >> General >> Database corruption Page: [1]
Message << Older Topic   Newer Topic >>
Database corruption - 18.Mar.2009 7:34:51 PM   


Posts: 3
Joined: 18.Mar.2009
Status: offline
Hopefully an Exchange guru can save my skin here... I've got an Exchange 2007 server (or, at least I had) running as a virtual image in Hyper-V for a few months. All was well in the beginning, I took a copy of the .vhd file prior to enabling Exchange to receive/send email, so I had a known good copy of the whole server image from when there was no mail data in the Exchange database.

Of course, in a pique of stupidity, I never took another backup at any point in the interim and, just a couple of days ago, the virtual image somehow because corrupt and wouldn't boot. The options for repairing a corrupted VHD are somewhat limited (read: pretty much non-existent). However, a bit of googling showed that WinImage had the ability to extract files from a .vhd image, so I was able to grab a copy of the whole First Storage Group folder from my non-booting image. My bacon was saved, or so I thought. I copied the original .vhd image I saved a few months back to my host machine, and this took me back to a position of having a working Exchange server, but without any content in the mailboxes.

I had expected to just be able to copy my WinImage recovered First Storage Group folder to the Exchange server and all would be well but, after spending over 24 hours trying to get various ways to make this work, I can't.

Running ESEUTIL /mh "Mailbox Database.edb" on the WinImage recovered database returns Operation terminated with error -1022 (JET_errDiskIO, Disk IO error) after 0.32 seconds.

Running ESEUTIL /g "Mailbox Database.edb" on the WinImage recovered database returns the same error: Operation terminated with error -1022 (JET_errDiskIO, Disk IO error) after 0.63 seconds.

So, giving up on the database as a lost cause, I concentrated on the transaction logs (of which there's around 7000 or so). I thought these could be replayed into the currently empty live database. Unfortunately not, it seems.

Running ESEUTIL /ml E00 on the WinImage recovered log files reveals 31 files that report a 501 error. On opening these files, they're completely empty, just loads of whitespace. Perhaps unsurprisingly, trying to replay these logs into the live database by deleting the E00.chk file then running ESEUTIL /r E00 eventually gives the error Operation terminated with error -501 (JET_errLogFileCorrupt, Log file is corrupt) after 16.625 seconds. Sure enough, running ESEUTIL /ml E00.chk it shows the checkpoint reached is 0xFB because the first corrupt/empty log (as revealed by ESEUTIL /ml E00) is E00000000FC.log.

So, my question is, is there anything at all I can do to get the logs which aren't corrupt/empty into a database? Less than 0.5% of the log files are dodgy, which tells me that 99.5% of the mail is still intact... I'd hate to lose it, but I just can't work out how to replay the logs into the database.

Any advice or suggestions (other than doing regular backups, I've now learned that particular lesson) would be very welcome.

Graeme (an Exchange noob in the UK).

< Message edited by gjscott75 -- 19.Mar.2009 9:25:54 AM >
Post #: 1
RE: Database corruption - 19.Mar.2009 1:10:10 AM   


Posts: 720
Joined: 9.Feb.2003
From: sydney
Status: offline
If you still have the server then you will have to run eseutil /p but that is what you would do as a last resort. Most of the time it will fix the problem but some times.......

If you really want to get it out fast then I would suggest to http://www.ontrackdatarecovery.com/data-recovery-downloads/ and obtain the Email Recovery / SharePoint Document Recovery software. In previous versions, it only requires the .edb and it will extract it out to pst but please read up on the latest version.

I hope this will help you.

(in reply to gjscott75)
Post #: 2
RE: Database corruption - 20.Mar.2009 3:58:13 AM   


Posts: 3
Joined: 18.Mar.2009
Status: offline
Thanks for the tip... unfortunately, still no joy with either eseutil /p nor Powercontrols (it gives a cryptic E_FAIL error and recovers not even a single email). I suspect the .edb is so corrupted that it's completely useless, so all I've got is the log files (which, as I've mentioned, there are 31 corrupt but the other 7000 or so seem to be good). I guess what I need is a way to replay the good log files into an empty database and to ignore the corrupt ones, but every combination of parameters I've fed into eseutil end up with it stopping as soon as it gets to the first corrupt log file.

I guess I'm now at the stage where I'll need to raise a support call with MS to see if there's any way to recover data from the good logs.


(in reply to choppol)
Post #: 3

Page:   [1] << Older Topic    Newer Topic >>
All Forums >> [Microsoft Exchange 2007] >> General >> Database corruption Page: [1]
Jump to:

New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts

Follow TechGenix on Twitter