ISINTEG <br>
The Information Store Integrity Checker (ISINTEG) finds and eliminates errors from the Microsoft Exchange Server public and private information store databases. These errors can prevent the information store from starting or prevent users from logging on and receiving, opening, or deleting mail. ISINTEG is not intended for use as a part of normal information store maintenance. It is provided to assist in disaster recovery situations where the database has become damaged.<br>
ISINTEG performs two main functions: <br>
· It can patch the information store after a restore from an offline backup.<br>
· It can test, and optionally, fix errors in the information store.<br>
<br>
When run in Patch mode, ISINTEG repairs information stores that will not start after being restored from an offline backup.<br>
In Test mode, ISINTEG searches the information store databases for table errors, incorrect reference counts, and unreferenced objects. During this operation, ISINTEG displays the results and also writes them to a log file.<br>
The Fix option in Test mode should be used only with the advice of Microsoft Technical Support. In Test and Fix modes, ISINTEG tests the information store database and corrects any errors it finds. It is recommended that you back up the information store before running this utility to fix errors in the database. <br>
Patching the Information Store<br>
During startup, Microsoft Exchange Server validates a globally unique identifier (GUID) in the information store with an entry stored in the Windows NT registry and the Microsoft Exchange Server directory. The information store service cannot be started if the GUIDs do not match in each of the three places. Mismatches can occur if the information store has been restored from an offline backup.<br>
When run with the Patch option, ISINTEG resets the entries for the GUIDs in the database, directory, and registry. It also patches information used during replication to prevent incorrect backfilling. Once patched, the information store service can be started again.<br>
<br>
<br>
Note<br>
When run in Patch mode, ISINTEG runs on the entire information store. It cannot be run on only one of the public or private information store databases.<br>
<br>
When to Patch the Information Store<br>
If the information store on your server won’t start, examine the Windows NT application event log to see if one of the following event IDs appears.<br>
Event log ID Message Text<br>
<br>
1087 The information store was restored from an offline backup. Run ISINTEG -patch before starting the information store.<br>
1089 The information store was not started because the system distinguished name (DN) of <a DN representing the mailbox root> in the mailboxes table could not be found.The database may have been restored to a computer that does not contain the original database.Run ISINTEG -patch before attempting to start the information store again.<br>
2083 The information store was restored from an offline backup. Run ISINTEG -patch before starting the information store.<br>
7202 The database has been copied from the server<server1> to the server <server2>.The database cannot function until ISINTEG -patch has been run.<br>
<br>
The appearance of any of these event IDs in the application event log indicates that a restore patch is missing. Running ISINTEG with the Patch option fixes these problems.<br>
<br>
Note<br>
When running in Patch mode, ISINTEG does not perform database integrity tests. For this you need to run ISINTEG in Test mode. Patch mode and Test mode cannot run concurrently. <br>
<br>
Running ISINITEG in Patch Mode<br>
To run ISINTEG in Patch mode, you must first stop the information store service if it is running and then run the ISINTEG utility.<br>1. In the Services application in Control Panel, select the Microsoft Exchange Information Store service, and then choose Stop.<br>2. At the command prompt, switch to the Exchsrvr\Bin directory, and type:<br>
isinteg -patch<br>
<br>
Testing and Fixing Information Store Integrity<br>
ISINTEG validates the referential integrity of the information store database by scanning it and examining all references. The utility creates a temporary database to store the reference counts. At the end of the process, the reference counts collected in the temporary database are compared with those in the information store database. If errors exist, and if the -fix option was specified, corrections are made. <br>
The temporary database is created in the same directory as the existing database. You can specify different a directory for the location of the temporary database. In either case, the temporary database is removed upon completion of the test. <br>
When run in Test mode, ISINTEG must be run separately on the public and private information store. <br>
By default, ISINTEG errors are displayed on your screen as well as being saved in a log file. It is recommended that you save the log files created by ISINTEG in case Microsoft Technical Support needs to help you solve any problems. <br>
The -fix option instructs ISINTEG to repair any errors it finds. Details of all repairs are recorded in a log file. If a log file name is not specified, the results are written to either Isinteg.pri or Isinteg.pub, depending on whether the private or public information store was chosen for testing.<br>
<br>
Note<br>
The -fix option should be used only on the advice of Microsoft Technical Support.<br>
<br>
Using ISINTEG with the Patch Option on a Microsoft Cluster Server <br>
Before you run the ISINTEG -patch on a Microsoft Exchange Server running on a Microsoft Cluster Server you must set the environment variable _CLUSTER_NETWORK_NAME_ to the network name of the cluster. If _CLUSTER_NETWORK_NAME_ is not set, the ISINTEG utility displays the following error: <br>
The private store could not be updated Reason: JET_errKeyDuplicate <br>
<br>
For example, to configure a cluster network name as EXCLUSTER, type the following at the command prompt: <br>
SET _CLUSTER_NETWORK_NAME_=EXCLUSTER<br>
Also, be sure to use the correct network name or the patch will fail.<br>
Running ISINITEG in Test Mode<br>
To run ISINTEG in Test mode, you must first stop the information store service if it is running and then run the ISINTEG utility.<br>1. In the Services application in Control Panel, select the Microsoft Exchange Information Store service, and then choose Stop.<br>2. At the command prompt, switch to the Exchsrvr\Bin directory, and type:<br>
isinteg -test <options><br>
where <options> is one or more of the following command-line options.<br>
<br>
Option Description<br>
<br>
-? Displays the list of options. Does not run the utility.<br>
-pri Tests the private information store.<br>
-pub Tests the public information store.<br>
-fix Test and corrects errors in the specified information store. This should be used only with the advice of Microsoft Technical Support.<br>
-detailed Performs additional/auxiliary tests beyond what is normally covered in the default test mode.<br>
-verbose Reports details of all testing activity.<br>
-l filename Specifies the name of the log file. The default is Isinteg.pri or Isinteg.pub.<br>
-t RefDbLocation Location of the temporary reference database that ISINTEG constructs while running. Specifying the location for the temporary database on a different disk from the one on which the information store database is stored can improve performance. <br>
-test testname [[,testname]..] Specifies the specific test(s) to perform. Specific testname parameters are covered in the following table.<br>
<br>
Due to the intensive nature of the referential integrity checking operation, ISINTEG can take a long time to run on large information stores. Rather than running the entire set of tests, it is strongly recommended that you select tests based upon the specific problem you encounter (as recommended by Microsoft Technical Support). Doing so reduces the amount of time ISINTEG takes to run. <br>
<br>
Tip<br>
If more than one test is required, combining tests in a single ISINTEG run takes less time than running each test in a separate ISINTEG run. For example, <br>
isinteg –pri –test folder,message <br>
is faster than<br>
isinteg –pri –test folder <br>
isinteg –pri –test message<br>
<br>
<br>
Each test is described in the following table. <br>
Test Name Description Test Length Depends On<br>
<br>
aclitemref Verifies reference counts for access control list items. Number of folders in the information store and the number of members of each access control list.<br>
acllist Examines folders and validates access control lists. Number of folders in the information store.<br>
acllistref Verifies the access control list reference counts. Number of folders in the information store.<br>
allacltests Combines the acllist, acllistref, and aclitemref tests. See description for each subtest.<br>
allfoldertests Combines the folder, fldsub, and search tests. See description for each subtest.<br>
artidx (public store only) Tests the consistency of the NNTP article index. Number of NNTP messages and folders.<br>
attach Validates properties for all attachments. Number of attachments in the information store.<br>
attachref Validates attachment reference counts. Number of messages and attachments in the information store.<br>
deleteextracolumns Deletes all cached indexes and some “extra” columns. Number of folders in the information store.<br>
delfld Examines deleted folders, validates properties, and accumulates reference counts. Number of deleted folders and the number of messages in each folder.<br>
dumpsterref Combines the msgref and msgsoftref tests. In addition, it checks the item count of recoverable items and the size of the recoverable items available for Deleted Item Recovery. See description for msgref and msgsoftref.<br>
dumpsterprops Runs the dumpsterref test and validates the presence of some required columns in the folder table. See description for dumpsterref.<br>
fldrcv (private store only) Validates counts of special system folders, including Restrictions, Categorization, Inbox, Outbox, SentMail, Deleted Items, Finder, Views, Common Views, Schedule, and ShortCuts. Number of mailboxes and folders in the information store.<br>
fldsub Validates the number of child folders and number of recoverable child folders available for Deleted Item Recovery. Number of folders in the information store.<br>
folder Examines folder tables and validates properties. Examines message tables, validates properties, and accumulates reference counts. Number of folders and messages in the information store. <br>
mailbox (private store only) For each mailbox, examines folders, deleted folders, and tables. Also, validates properties, special folders (for example, Inbox, Outbox, Sent Items, Deleted Items, and others) in the folder table, and checks the respective sizes. Number of mailboxes, folders, deleted folders, and messages in the information store.<br>
message Examines message tables and validates message table properties. Number of messages in the information store.<br>
morefld Checks the search links (subset of the search test). In Fix mode, deletes all the cached categorization and restriction tables. Total number of cached categorization and total restriction tables.<br>
msgref Validates message reference counts in the messages. Number of folders, messages, and attachments in the information store.<br>
msgsoftref Validates message reference counts for messages marked for Deleted Item Recovery in the message table. Number of folders and messages in the information store.<br>
|