Link to home
Start Free TrialLog in
Avatar of LrdKanien
LrdKanien

asked on

Exchange 2010 Database failed, eseutil cannot fix, need to restore with BE

I have an Exchange 2010 server that had a database die.  I can't fix it with eseutil /p as it errors with "Operation terminated with error -1022 (JET_errDiskIO, Disk IO error)".  It reports as a clean shutdown with eseutil /mh, but it won't mount even with a -force.

I have a backup, but it is from a month ago.  All of the log files are there and I'm wondering what I should do next?  Can I restore the database from Backup Exec and commit the log files somehow and have it be current?
Avatar of dreamraghu
dreamraghu

If the database is in clean shut down state, move all the transaction log files and checkpoint file to a different folder and try to mount the store. This should work.
Also check the option "this database can be overwriiten by a rstore" and try to mount the store and let me know.
Avatar of LrdKanien

ASKER

Error below with mount-database database4 -force

Couldn't mount the database that you specified. Specified database: Database4; Error code: An Active Manager operati
on failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to
mount database. (hr=0x80004005, ec=-344)
. [Database: Database4, Server: EXCHANGE.domain.local].
    + CategoryInfo          : InvalidOperation: (Database4:ADObjectId) [Mount-Database], InvalidOperationException
    + FullyQualifiedErrorId : EB769E1,Microsoft.Exchange.Management.SystemConfigurationTasks.MountDatabase
Have you tried with the above options?
I've moved the log files and the chk file to a separate directory.  I've also enabled the option able to be overwritten by a restore.
Ok, do you have a passive copy in any other mailbox server for this database? If YES< then check the consistency of the database and if it is in a clean shut down state, then you can replace(dont delete, just rename it to old) the old database file with this one and try to mount the store.

If you dont have the passive copy then the next step would be copy all the log files and current database file in a different folder and start restoring the database(make sure, you dont check the option to commit the log files and to mount the store), because we have to replay the production log files after the backup by running the >eseutil /cc from a restore.env file path.
I do not have a usable passive copy.  This happened while the copy was being seeded.
Then lets start restoring the file, copy all the log files and current database file in a different folder and start restoring the database(make sure, you dont check the option to commit the log files and to mount the store), because we have to replay the production log files after the restoration by running the >eseutil /cc from a restore.env file path.
e:\Database4\olddb\database4.edb
e:\Database4\olddb\e00******.log

I have moved them there and I can start a restore in 30 minutes.
What about the new log files and chk file that was created after moving the previous ones?
The database is in dismounted state, how come it will create a new log files and chk file? DO you mean while restoring the data?
If Yes, those will restore to the same location and you copy the previous log files(which we have moved to the olddb folder) and then we have to run the >eseutil /cc cmd.
Is this correct?
Picture below.
BE.JPG
It is restoring, be done in 5.  The log files and the database are in e:\Database4\
Avatar of Malli Boppe
I had similar problems like this in the past.One of quick and easy things to get the database mounted is to move to logs,  I mean just empty the folder where the logs are and try mounting the database.
Unfortunately that didn't work for me, but that has worked for me in the past.

Any tricks to the eseutil /cc dreamraghu?
check if this is of any help

http://theether.net/kb/100037
Copy the log files(which we had copied to olddb folder) to the actual log file drive and in the temp folder you will be having the restore.env file. navigate to that folder and run the >eseutil /cc command.
I don't know where the .env file is
I see this file in the restored mailbox database directory, but I don't see a restore.env file anywhere

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---          4/4/2012  12:04 AM       2008 E00restore.env
Does anyone know?  I moved all of the log files back into the mailbox database directory, but there isn't a restore.env for me to run the eseutil /cc against.  If I just mount the database will the logs replay to the mailbox database automatically?
ASKER CERTIFIED SOLUTION
Avatar of dreamraghu
dreamraghu

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I thought that might be the case and tried.  Here was the output when ran from the directory where the .env file was.

Operation terminated with error -939586631 (The restore environment information isn't found or can not be opened.
) after 0.0 seconds.

so I'm running a eseutil /r "E00"