Back on Tuesday, July 01, 2008 I wrote the following blog on Microsoft Exchange and Search Folders. For this blog I also wrote a tool that would parse the isinteg.pri file to help identify exchange mailboxes that have high item counts or a high number of search folders, which lead to massive exchange server performance issues. I have re-written this tool in managed code using Visual Studio 2010 and it has a ton more functionality.
I have left the old version of the tool on the internet, and have also added a new version that will run on Windows 2008, Vista and Windows 7 machines. The new filename is FindSearchFolder09.7z and it can be found here: http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=FindSearchFolders&ReleaseId=1456.
To run this version of the tool all you need to do is put the isinteg.pri file in the same directory as the tool and run it.
This is what the tools UI looks like. As you can see from the screen shot below, once a scan has run the tool will report back the different stages that it is in and how many mailboxes were found in the log.
Once the tool runs it will create the following directories:
All log files can be located in the Logs directory. As you can see from the following screen shot each time you run the tool it will create a new output file based on a time stamp. This version will no longer merge the results.
The output of the tool has changed as well. The new output looks like this:
10-28-2009 - Find Search Folders Output - 10-28-2009-14.53.35.txt created. Program Logging - Enabled. *************************************************************************************** Dave Goldman - Exchange Escalation Services NOTE: There is no support for this tool and will be used as is! Purpose: Scan an isinteg.pri file and find the highest search folder offenders 10-28-2009 - Trace time: 10-28-2009-14.53.35 *************************************************************************************** 10-28-2009 - Program Initialization - Complete 10-28-2009 - Create Program Directories - Start 10-28-2009 - Directory already exists: C:\Users\dgoldman.NORTHAMERICA\AppData\Roaming\FindSearchFolder 10-28-2009 - Directory already exists: C:\Users\dgoldman.NORTHAMERICA\AppData\Roaming\FindSearchFolder\Logs\ 10-28-2009 - Directory already exists: C:\Users\dgoldman.NORTHAMERICA\AppData\Roaming\FindSearchFolder\Backup\ 10-28-2009 - Create Program Directories - Complete 10-28-2009 - Creating default mail handler - Complete 10-28-2009 - Initializing Isinteg parser - Complete 10-28-2009 - Getting current application run path: D:\Tools\FindSearchFolders\Release 10-28-2009 - Starting Isinteg parse - Start 10-28-2009 - Search size set to: 75 10-28-2009 - Isinteg is from: Server name: INCLCW02A.corp.statestr.com 10-28-2009 - Isinteg was run against database: Database name: First Storage Group\Mailbox Store5 (INEMAL16) 10-28-2009 - Processing Mailbox Table 10-28-2009 - Display Name = Not Found - MBX Table dump only
10-28-2009 - Display Name = Goldman, Dave Parent FID=0001-000001AB62E5 Root FID=0001-000001AB62E4 Restriction= Name=Contacts Folder FID=0001-000001AB1F4E Folder Type=1 Search Folder Count = 357 <- Is over 75 search folders and this is a BIG problem! Backlink Folder Count = 357
10-28-2009 - Processing Mailbox Table 10-28-2009 - ========================================================== 10-28-2009 - Mailbox Table 10-28-2009 - ========================================================== 10-28-2009 - Mailbox - Goldman, Dave - RootFID=0015-000012D75D62 10-28-2009 - ========================================================== 10-28-2009 - Total number of mailboxes with over 75 search folders: 1 10-28-2009 - Highest number of search folders found in a single mailbox: 357 10-28-2009 - Parent Folder: Parent FID=0001-000001AB62E5 10-28-2009 - Highest offender is: Root 0001-000001AB62E4 10-28-2009 - Total folders that do not contain search folders: 0 10-28-2009 - Total mailboxes found on this information store: 1554 10-28-2009 - ========================================================== 10-28-2009 - ========================================================== 10-28-2009 - These are the possible folder types 10-28-2009 - ========================================================== 10-28-2009 - Folder_Root = Folder Type = 0 10-28-2009 - Normal_Folder = Folder Type = 1 10-28-2009 - Search_Folder = Folder Type = 2 10-28-2009 - MDB_Attachment_Folder = Folder Type = 4 10-28-2009 - Repl_Folder = Folder Type = 5 10-28-2009 - Categorization_Folder = Folder Type = 7 10-28-2009 - ========================================================== 10-28-2009 - Stat totals 10-28-2009 - ========================================================== 10-28-2009 - Total type Root Folders found: 1554 10-28-2009 - Total type Normal folders found: 55580 10-28-2009 - Total type Search Folders found: 1 10-28-2009 - Total type MDB Attachment Folders found: 0 10-28-2009 - Total type Repl Folder found: 0 10-28-2009 - Total type Categorization (Views) Folders found: 4885 10-28-2009 - ==========================================================
10-28-2009 - NOTE: Folders with a type of 7 are cached views in the information store. For more information please see: http://technet.microsoft.com/en-us/library/bb124802(EXCHG.65).aspx To expire cached views from the information store, please see: http://technet.microsoft.com/en-us/library/bb124802(EXCHG.65).aspx
10-28-2009 - Who has the highest search folder count in an isinteg dump 10-28-2009 - ========================================================== 10-28-2009 - 1. Take the highest offenders RootFID and search the isinteg.pri file for this 10-28-2009 - 2. Look in the ESM and match these items counts and you should have your offending mailbox. 10-28-2009 - Isinteg parse - completed
Dave