• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5474
  • Last Modified:

Exchange error: c104173b - Database is corrupt

This morning, exchange was down when I came in. Here is the history:

Win 2003 SP2, Exchange 2003, approx 40 users.
Backup Exec 12.5, sp2
Backup Exec 12.5 - Backup of exchange ran @ 11:40 PM last night, I'm not sure if data is corrupt. 8AM today, mailstore was not mounted. Error C104173B is displayed when trying to mount mailstore in ESM. There is over 200 gig of free disk space on all drives.

File Sizes
Priv1.stm 20 gig
Priv1.edb 17.5 gig
pub1.edb 63 meg

I think esutil should be run. How do I run it in report only mode to further investigate before changeing the file?

How should I proceed overall?
Tony Giangreco
Tony Giangreco
2 Solutions
run an integrity check

first option should be a restore before running the repair (eseutil /p)
yes,, and if at all  you find curruptions it is recomended you restore from the full back if you have  and not repair the database as this can render database useless
and what you can do is do the roll forward restore to avoid data loss
Tony GiangrecoAuthor Commented:
I ran eseutil /g and received this message:
operation terminated with error -1031 <jet_FileAccessDenied. Cannot access file. The file is locked or in use after 14 secs.

I'm logged in as the server admin.
Simplify Active Directory Administration

Administration of Active Directory does not have to be hard.  Too often what should be a simple task is made more difficult than it needs to be.The solution?  Hyena from SystemTools Software.  With ease-of-use as well as powerful importing and bulk updating capabilities.

is the database mounted? you can only run eseutil when the database is offline

which database generated the event?
Tony GiangrecoAuthor Commented:
Yes, the db is not mounted. Should I stop the exch services?
you just need to dismount the affected database
Tony GiangrecoAuthor Commented:
The mailstore is not mounted and wil not mount.
I just ram eseutil /g to check integrity. It displayed a message stating I should abort due to logs not being run. then in the cmd box, it says the db was not shutdown properly and is dirty. Recovery must run first.

How do I safely run recovery without chamging the current db?
eseutil /r
Satya PathakLead Technical ConsultantCommented:
I would Suggest you if you have a good backup , you can use it.
another options as per error code -1031 you can ran eseutil/p and /d and isinteg.
Did you run the soft recovery with success? Restore from backup if possible before eseutil/ p
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Tackle projects and never again get stuck behind a technical roadblock.
Join Now