Eseutil /p - This article is the second part of my original article titled Eseutil – A quick and easy tutorial, in which I gave readers an overview of the Eseutil tool, some basic guidelines along with a look at Eseutil /d (defrag). In this article I will talk about Eseutil /p, the mode that can get you in the most trouble if correct procedures are not followed. So if you have not already please read my previous article where I outline some basic safety steps.
The Eseutil /p command is known as the repair mode and is used to repairs a database at the page and ese table level of the database. It should be noted that this repair process may leave your database incomplete, as to repair it may be required for Eseutil to delete rows and tables to repair the database.
Eseutil /p should be used as a last resort, so if you cannot restore and replay or fully replay your transaction log files, and if possible the database should be restored from backup to the most recent date then the corrupt database repaired and merged into the restored database using a recovery storage group. If possible never put only a repaired database back into production.
When using Eseutil /p you should always follow up the use of this tool with the use of the following two commands Eseutil /d to rebuild the indices and defrag the database ISInteg to repair the database at the application level.
If the database that you want to run Eseutil /p against is in a dirty shutdown state the Eseutil /p cannot be performed, and the database must be shutdown cleanly if this is not possible then the Eseutil /r switch (recovery) must be ran to perform a soft recovery and put the database back into a clean shutdown state.
Now for the syntax of Eseutil /p
ESEUTIL /p <database name> [options]
/s<file> Streaming file location (Optional default is not to use)
/t<db> Temporary Database Location and name default is: TEMPREPAIR*.EDB
/f<name> Prefix for database report files, the default is: <database>.integ.raw)
/i bypasses the mismatch error check on database and streaming file
/g To run the integrity check before repairing database
/createstm Creates and empty stm streaming file if this is missing
/8 To set the 8k database page size (default: auto-detect)
/o suppress logo
Running the eseutil /p command with only the basic default options looks like this:
eseutil /p "C:\Program Files\Exchsrvr\MDBDATA\priv1.edb"
Figure 1 below shows the command running, and the warning says that this command should only be ran against a corrupt database and may cause data (pages and tables) to be deleted.
Figure 1: The Eseutil /p command (Repair) warning
A screenshot of the completed output of the tool is shown in figure 2 below:

Figure 2:The output of the completed Eseutil /p command
As stated above Eseutil /D should be ran followed by Isinteg, the database should now be backed up.
I hope this article enlightened you to the use of Eseutil /p, if you have any questions, comments or suggestions about this tool please post a comment. You could even start a new post in the forums above.
My next post will be on the /r mode of this tool the recovery mode.
To purchase or transfer a domain name look here: