While knowing their way around setup, installation, and maintenance of the Exchange server, administrators must also keep a constant eye out for troubles. Even a smallest issue within the server or database files can trigger disasters that can bring down a whole organization’s working. Thus, being aware of utilities that can help resolve Exchange errors quickly is a must for them.
When it comes to Exchange repair utilities, inbuilt system utilities are the most preferred. They not only offer the easiest solution to fix the problem but are also free of cost. In the Exchange server, ESEUtil.exe and ISInteg.exe are two such utilities. But in this post, we’ll focus on the ISInteg.exe utility and its usage along with a third-party Exchange repair software that comes handy when the inbuilt repair utilities or ISInteg.exe either fails to repair corrupt database or does not work due to lack of permissions or other errors. The Exchange repair software also helps recover deleted mailboxes and mail items during database repair.
About ISInteg Utility
ISInteg stands for Microsoft Exchange Information Store Integrity Checker. It is a command-line utility that searches through an offline information store, such as Exchange, for integrity weaknesses. By default, the ISInteg tool is installed in the Bin folder in Exchange Server setup. To run it globally on a server from any command prompt, the full path of Bin directory needs to be added when executing the command.
The ISInteg utility is used with one of the following switches:
- -? – Usage is displayed
- -pri – Check private information store (default)
- -pub – Check public information store
- -fix – Repair information store
- -l [logfilename] – Store log information in logfilename
- -patch – Offline backup restore patch
- -s – Server name (applicable only to Exchange 2000)
Repairing Exchange Database with ISInteg (2003, 2007, 2010)
When trying to repair Exchange database by using the ESEUtil and ISInteg utilities, you should keep the following things in mind:
- Before proceeding with the repair, copy all Exchange database files since the repair procedure can cause some data loss
- You must have sufficient free disk space to successfully run ISInteg and ESEUtil
- Exchange Database repair with these utilities takes a substantial amount of time, depending on the size and damage
Here’s the syntax to run the ISInteg utility:
isinteg -pri|-pub [-fix] [-detailed] [-verbose] [-l logfilename] -test testname[[, testname]…]
If ISInteg completes its operation without any errors, the database on which it was run is considered to be repaired and ready to replace the damaged database. To put the repaired database back into production:
- Run Eseutil /MH to see if the database is in Clean Shutdown
- Defrag the database using Eseutil /D. After Eseutil /D completes successfully, run Isinteg –fix –test alltests
If, after running ISInteg, the error count in the database is greater than zero (meaning some errors still remain), do not discard the repaired database. Instead, run ISInteg again until the count becomes zero or the count does not decrement on successive runs. If successive runs of ISInteg fail to bring the error count to zero, attempt to recover as much data from the repaired database as possible.
Problems with ISInteg
While ISInteg is a perfectly efficient utility to repair Exchange 2003,2007 database, it has been deprecated from Exchange server 2010 SP1. This means users of Exchange 2010 SP1 and later versions cannot use this tool to detect and fix Exchange errors. However, to replace the functionality of ISInteg, Microsoft has introduced an online mailbox corruption repair command that can run against all mailboxes during the normal maintenance window. This is the New-MailboxRepairRequest cmdlet in EAS. To run it, the database doesn’t need to be taken offline.
Here’s how to use this cmdlet:
New-MailboxRepairRequest -Mailbox <MailboxIdParameter> [-Archive <SwitchParameter>] <COMMON PARAMETERS>
In the above command, COMMON PARAMETERS include instructions to detect and repair corruption based on its type. This cmdlet can detect and fix the following types of corruptions:
- Search folder corruption (SearchFolder)
- Aggregate count on folders that aren’t reflecting correct values (AggregateCounts)
- Views on folders that aren’t returning correct contents (FolderView)
- Provisioned folders that are incorrectly pointing into parent folders that aren’t provisioned (ProvisionedFolder)
Note: Before running this cmdlet, appropriate permissions need to be assigned to the account from which they are to be run.
A Better Alternative
While ISInteg can repair corruption in most cases for Exchange versions prior to 2010 and New-MailboxRepairRequest can do the same for Exchange 2010 and later, using these utilities is not easy. You need to have proper understanding of their working and be ready to accept some data loss, since they aren’t foolproof. You’ll also need proper permissions to use these utilities. Even after all that, ISINTEG is not working or fails to fix severely corrupted EDB files.
A better approach, thus, is to use competent and reliable third-party Exchange database recovery tool such as Stellar Repair for Exchange. Empowered with advanced scanning and repair algorithms, this tool is the perfect alternative to ISInteg and EseUtil utilities. It doesn’t require you to have any special permissions, nor does it need you to be a technical expert. It is a GUI-based tool that can repair multiple Exchange mailboxes simultaneously. The tool supports exchange server versions from 5.5, 2007, 2010, until 2019.
A Few Final Lines
While inbuilt utilities are good, they aren’t always the best. For a little investment, you can get a hold of much better utilities such as the one we suggested and deal with Exchange troubles in an extremely easy way. This can reduce the administrative efforts to fix the problems and also decrease the recovery time.
Was this article helpful?