Main Topics
Browse All TopicsHello,
I ran across a corrupted priv1.edb exchange database. I followed the excellent article Dealing with Exchange Database Corruption by Brien Posey (in http://www.brienposey.com/
1) I'm running W2K Server and Exchange 2K with recent Service Packs applied.
2) I've run ESEUTIL /MH on my priv1.edb
3) I've run ESEUTIL with the p switch to repair
4) I've run ESEUTIL /MH again and found that the number of repairs done on the database were 2
5) I've tried to run ISINTEG -S servername -FIX -TEST ALLTESTS but received an error stating that ISINTEG stopped due to an invalid parameter.
6) I've run again ESEUTIL with the /d switch to defrag
7) I've run ESEUTIL /MH again and found that the number of repairs done on the database were now zero (0)
8) I've tried to mount priv1.edb but receive an error message saying that the mount was unsucessuful and that I should try to restart Exchange System Manager and/or the Exchange Infor. Store
9) I've gathered the event log and paste it here
..........................
Event Type: Information
Event Source: ESE
Event Category: General
Event ID: 100
Date: 29-08-2003
Time: 13:44:23
User: N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) The database engine 6.00.6249.0000 started.
For more information, click http://www.microsoft.com/c
..........................
Event Type: Information
Event Source: ESE
Event Category: General
Event ID: 102
Date: 29-08-2003
Time: 13:44:23
User: N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) 8f47d891-b071-466b-b70d-ae
For more information, click http://www.microsoft.com/c
..........................
Event Type: Information
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 300
Date: 29-08-2003
Time: 13:44:25
User: N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) 8f47d891-b071-466b-b70d-ae
For more information, click http://www.microsoft.com/c
..........................
Event Type: Information
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 301
Date: 29-08-2003
Time: 13:44:26
User: N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) 8f47d891-b071-466b-b70d-ae
For more information, click http://www.microsoft.com/c
..........................
Event Type: Information
Event Source: MSExchangeTransport
Event Category: Exchange Store Driver
Event ID: 334
Date: 29-08-2003
Time: 13:44:27
User: N/A
Computer: SNUCKERSERVER
Description:
SMTP service instance 1 has been started.
For more information, click http://www.microsoft.com/c
..........................
Event Type: Error
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 494
Date: 29-08-2003
Time: 13:44:27
User: N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) Database recovery failed with error -1216 because it encountered references to a database, 'C:\Program Files\Exchsrvr\mdbdata\pri
For more information, click http://www.microsoft.com/c
..........................
Event Type: Error
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 454
Date: 29-08-2003
Time: 13:44:27
User: N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) Database recovery/restore failed with unexpected error -1216.
For more information, click http://www.microsoft.com/c
..........................
Event Type: Information
Event Source: ESE
Event Category: General
Event ID: 101
Date: 29-08-2003
Time: 13:44:27
User: N/A
Computer: SNUCKERSERVER
Description:
Information Store (2040) The database engine stopped.
For more information, click http://www.microsoft.com/c
10) I've noticed that on the mdbdata folder I've besides priv1.edb (and the other files associated with it) a bunch of log files and E00.log.
QUESTION
I) How can I recover from this situation?
II) Should I have E00.log and the other E00xx.log files on the mdbdata folder or should I cut them off there?
NOTE: After ESEUTIL procedures the priv1.edb files were consistent (as far as ESEUTIL reported)
Thanks in advance,
Pedro
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Since you have run an ESEUTIL /P and ESEUTIL /D against the database, any log files remaining are no longer needed.
Make sure the database is in a CONSISTANT or Clean Shutdown state. To do this run ESEUTIL /MH against the database. If it is consistant, then rename the MDBDATA folder containing the EDB logfiles to MDBDATA.LOGS.
Create a new MDBDATA folder.
Now try to start the Information Store service and mount your database.
If this fails or your databases are INCONSISTANT or DIRTY SHUTDOWN state, then I agree with OneHump about considering placing a call to Microsoft PSS.
Once you've done the /p & /d, then Isinteg -fix -tests alltests... clear out all log files & the chk file, there's one more place you need to touch before mounting a recovered/restored database. I don't see anywhere in you recovery steps where this was done. If you're familiar with Exchange 5.5 recovery, you'll recall you had to run Isinteg -patch before you could successfully start the IS. Well, in Exchange 2k, this is sort of built in to the GUI on the properties of the Mailbox Store. Check the box "Allow database to be overwritten with a restore" on the Database tab.
Make sure the service pack on the server matches what the database was maintained with originally.
That should be all you need and save you a call to PSS.
OK Thans Exchange_Admin ....
It worked. I assume that as my exchange databases (priv1.edb and pub1.edb) were in a consistent state (checked by the state line in the ESEUTL /MH report and after good ESEUTIL /p & /d) I no longer need the log files. At least it worked.
Thanks to all that have contributed,
PS. OneHump, yes I think your answer is a wise one but I strongly believe in exchanging knownledge before... Thanks anyway.
Pedro
It's definitely great to Exchange knowledge, and I'm glad you got the answer you wanted.
My goal is zero data loss. If you are running a repair on your database, you are at risk of losing data. While I am aware of what my options are in those cases, I usually call Microsoft just to validate my solution. If things to horribly wrong, I can tell management that Microsoft concurred. This is more CYA than anything else.
If you are not completely clear about what to do, it becomes even more important to get proper help. I certainly advocate exchanging knowledge, but the vendor should be used in parallel.
The reason I would not touch that question is because I'm not aware of the other stores in the affected storage group. Messing with a repair in that case could jeopardize other data. I believe that tremendous detail must exist before making an intelligent decision that could affect the outcome of a disaster recovery scenario.
Best of luck. :)
OneHump
This depends on your configuration.
Is the location of your logfiles the same as the location of your databases? If so, then you would only need the PRIV1.EDB and PUB1.EDB. If the databases are shut down cleanly then they should be in a consistent state. If they are in a consistent state then all the log files have been committed and are actually no longer needed.
I agree with OneHump. There are alot of things to consider. Number of databases, storage groups, etc.
Having worked for PSS in my past, I have seen many cases that could have been easily fixed if they only would have called first before trying different things.
It is kind of like plumbing, if you aren't careful, you can really make things alot worse. :)
I have a corrupt exchange database store and the store wond mount I have reinstalled new exchange server, and got exchange up and running. Cause back is not working and I have copied all old exchange files to a network drive. I have priv1 and pub file with log, I would like to know if there is a way to extract email, contact etc from priv database.
Any solution to my solution
Business Accounts
Answer for Membership
by: OneHumpPosted on 2003-08-29 at 10:50:10ID: 9249840
Pedro,
I respectfully suggest that you do one of two things:
1. Restore from backup.
2. Call Microsoft for support.
You are neck-deep in a very complicated issue. I don't believe your issue can be fully worked in a forum. If you have specific questions, I'm sure someone here can answer them, but working through a complex recovery scenario is not going to go well without being on the console.
We can't answer questions about log file preservation without knowing what's going on in the storage group. If this goes wrong, you'll have more than one database with a problem.
If you have specific questions, please ask. If you value your data, please call Microsoft. That is the best advice I can give you.
OneHump