Phildawg.com

Exchange

Repairing Exchange Databases With Eseutil And Isinteg

by Phildawg on Apr.23, 2009, under Exchange

Its late and things are definitely going slow.  Tonight I am working on the Exchange server 2003 at work, hoping that our slowness issues will be resolved by running a repair on the attorneys database.  We have been experiencing some general slowness and delays in the past few weeks, especially when users try to access other users calendars.  Generally this went away after running an offline defrag of the databases using eseutil but for some reason the issue is now persisting.  Since the defrag did not take care of things, I’m thinking its possible that there is some corruption in the databases for our mailbox stores.

Defrag with Eseutil

If you are experiencing something similar I recommend trying a defrag of the database first.  Before doing anything though, make sure you have a good backup.  Its not worth risking your job over.  On your Exchange server, open the Exchange System Manager and find the store and dismount it by choosing dismount from the right click menu.  This will kill any mailbox connections so that the database for the store is no longer in use.  Probably not something to do in the middle of the day.

Eseutil is a utility located in the \exchsrvr\bin directory on your Exchange Server.  To make things a bit easier you might want to consider adding this directory to your system path on the box so you do not have to type the full location for the utility every time.  Do this by right clicking My Computer and choosing properties.  On the Advanced tab click the button for Enviornment Variables.  Under the system variables section, locate path and choose edit.  Then just add the location where \exchsrvr\bin is located.  Make sure there is a semi colon to seperate this new path from the one before it.  Close all that and we should be ready to begin.

Open a command prompt and type in eseutil /d “<path to edb file>” and press enter.  The /d is what tells it to do a defrag.  I find it necessary to use the quotes for the path because your database files will most likely have a space somewhere.  On our server, the database is found in “…\Program Files\Exchsrvr\<name of Mailbox Store>\<database name>”.  The length of time this will run will vary depending on how big your database is and how fragmented it is.

Repair with Eseutil and Isinteg

Tonight I’m doing an actual repair on the database and then running Isinteg to test the repaired database and fix problems or errors it may find.  Generally the repair with eseutil (/p) is used when you have a database that is corrupted and won’t mount anymore and you for some reason don’t have a backup and need to work with what you have.  I am hoping it works some magic and makes things better.  Isinteg is a repair utility that actually understands that this is and Exchange database.  Isinteg knows the relationships between database tables and records that turn them into messages and folders.  Eseutil is a generic repair utility that can be used on more than just Exchange databases.

For this you will follow the same steps as before to dismount the Mailbox Store and then repair using the same command line as before with a /p instead of a /d.  (eseutil /d “<path to Exchange Database>”)  When this is done I will run Isinteg to test the newly repaired database.  At the command prompt run isinteg -s <your server name> -test alltests to get started.  This will bring up a menu that shows you all the Mailbox Stores on your server.  Only offline stores can be tested and it will show the status of the Mailbox Stores.  Choose the number of the store you want to test to get it started.

I’m currently on test 9 and have been for a few hours.  I’m a little nervous about all this because it is the first time I’ve done this.  Not sure if this is going to work in my situation but I’m crossing my fingers.  I’ll let you know if this works or if things go horribly wrong and I loose my job. :)   I of course have a backup of the files I’m not to worried about it.

*Update* It finally finished and everything is back up the way it should be.  Time will tell as to whether this fixed the issue or not.  Isinteg did find and fix some errors in test 9 which was 16 seconds short of taking a full 5 hours and nearly gave me a heart attack staring at the percentage not changing for 30 minutes to an hour at a time.  I won’t really know until about mid day when everyone is in and using outlook if this was all for nothing.

*Final Update*  Didn’t fix my issue of the slowness but at least I learned something new.

Comments Off :, , , , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

Archives

All entries, chronologically...