Using ISINTEG

ISINTEG has two main functions:

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.

The Fix option in the 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 you run this utility to fix errors in the database.

Testing and Fixing Information Store Integrity

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 you have selected the the -fix option ISINTEG corrects the problem. By default, the temporary database is created in the same directory as the existing database. But 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. When run in Test mode, ISINTEG must be run separately on the public and private information stores.

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 file created by ISINTEG in case you require the assistance of Microsoft Technical Support to solve any of the problems.

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 you choose the private or public information store for testing.

Note   The -fix option should be used only on the advice of Microsoft Technical Support.

Running ISINITEG in Test Mode

To run ISINTEG in Test mode, you must first stop the information store service if it is running and then run the ISINTEG utility.

  1. In the Services application in Control Panel, select the Microsoft Exchange Information Store service, and then choose Stop.
  2. At the command prompt, switch to the Exchsrvr\Bin directory, and type:

    isinteg -test <options>

    where <options> is one or more of the command-line options listed in the following table.
    Option Description
    -? Displays the list of options. Does not run the utility.
    -pri Tests the private information store.
    -pub Tests the public information store.
    -fix Tests and corrects errors in the specified information store. This option should be used only with the advice of Microsoft Technical Support.
    -detailed Performs additional tests beyond what is normally covered in the default test mode.
    -verbose Reports the details of all testing activity.
    -l filename Specifies the name of the log file. The default name is Isinteg.pri or Isinteg.pub.
    -t RefDbLocation Specifies the location of the temporary reference database that ISINTEG constructs while it is running. If you specify the location for the temporary database on a different disk than the one on which the information store database is stored you can improve the tool's performance.
    -test testname1, testname2… Specifies the specific test(s) to perform.

Specific testname parameters are covered in the following table ISINTEG can take a long time to run on large information stores because of the intensive nature of the referential integrity checking operation. 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). This reduces the amount of time ISINTEG takes to run.

Tip   If more than one test is required, they can be combined in a single ISINTEG run, which takes less time than running each test in a separate ISINTEG run. For example,

isinteg -pri -test folder,message
is faster than running them separately as shown below:


isinteg -pri -test folder

isinteg -pri -test message

Each test and its parameters are described in the following table.

Test Name

Description

Test Length Depends On
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.
acllist Examines folders and validates access control lists. Number of folders in the information store.
acllistref Verifies the access control list reference counts. Number of folders in the information store.
allacltests Combines the acllist, acllistref, and aclitemref tests. (See description for each subtest).
allfoldertests Combines the folder, fldsub, and search tests. (See description for each subtest).
artidx (public store only) Tests the consistency of the NNTP article index. Number of NNTP messages and folders.
attach Validates properties for all attachments. Number of attachments in the information store.
attachref Validates attachment reference counts. Number of messages and attachments in the information store.
deleteextracolumns Deletes all cached indexes and some "extra" columns. Number of folders in the information store.
delfld Examines deleted folders, validates properties, and accumulates reference counts. Number of deleted folders and number of messages in each folder.
dumpsterref Combines the msgref and msgsoftref tests. Also 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.)
dumpsterprops Runs the dumpsterref test and validates the presence of some required columns in the folder table. (See description for dumpsterref.)
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.
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.
folder Examines folder tables and validates properties. Also examines message tables, validates properties, and accumulates reference counts. Number of folders and messages in the information store.
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.
message Examines message tables and validates message table properties. Number of messages in the information store.
morefld Checks the search links (subset of the search test). In Fix mode, deletes all of the cached categorization and restriction tables. Total number of cached categorization and total number of restriction tables.
msgref Validates message reference counts in the messages. Number of folders, messages, and attachments in the information store.
msgsoftref Validates message reference counts for messages marked for Deleted Item Recovery in the messae table. Number of folders and messages in the information store.
namedprop Examines the folder, message, and attachment tables, and alsovalidates the named properties. Number of folders, messages, and attachments in the information store.
newsfeed (public store only) Validates newsfeed table properties, including permissions. Number of folders in the information store.
newsfeedref (public store only) Validates newsfeed reference counts. Number of folders in the information store.
oofhist (private store only) Validates out-of-office history information for all users. Number of out-of-office rules set.
peruser Validates per user read/unread information. Number of folders per user in the information store
rcvfld (private store only) Cross-checks receive folders with the folder table. Number of receive folders in the information store.
rowcounts Validates the number of rows for all tables. Number of folders, messages, and attachments in the information store.
search Validates the search links. Number of folders in the information store.
timedev Counts the number of timed events (maintenance, periodic tasks, and so forth). Number of timed events.