In any synchronization solution a mechanism to track and understand the link and relationship between the two endpoints of the sync is required. This is true for filesystem synchronizations, ActiveDirectory, databases, or any other structure. For some systems, this tracking information is embedded within the system itself, such as with ActiveDirectory where each replicated object will have the same unique ID, or can be in a separate system such as a database.
MAPI store providers, both Exchange and PST files, create a unique identifier for each item and folder. These identifiers, however, are not customizable and are immutable once created. The are created when the item or folder is created and are controlled by the system. As such, there is no ability to preserve these identifiers between stores which requires some sort of tracking to exist to “link” the ID of an object in one store to its related object in another.
Super-ExMerge uses and external set of tables, called TrackingTables, to store this information. This data is critical to the function of synchronization, and as such should be protected and backed up of there is concern of the longevity or stability of the host upon which the tools are installed. If a tracking table were to be deleted, synchronization between the referenced source and target stores would be halted. Super-ExMerge sets a unique ID marker in the source store that matches the tracking table. On startup, Super-ExMerge will compare the tracking table ID from the store to the ID of the tracking table stored on the file system. If the two IDs are not an exact match, the sync effort is aborted and an error message is written to the corresponding log file.
Do not attempt to modify, manipulate, or delete tracking tables manually or without specific guidance from Priasoft support. Doing so will void any support or warranties.
This further means that synchronization between to stores can only occur on one host at time. Consider the impact of sidestepping this requirement:
Host-A syncs data between Store-X and Store-Y. The tracking table that defines all the relationships between items is stored on Host-A.
If Host-B were to also sync data between the same stores, it would have no knowledge of the item and folder links established by Host-A. If this sync were allowed to run, there would be duplication of data IN BOTH DIRECTIONS since all the items in Store-X appear ‘new’ to the sync and would be copied to Store-Y. Then, as items in Store-Y are analyzed, all of those items also appear ‘new’ and would be sync’d back to Store-X.
Super-ExMerge provides cmdlets to export and import tracking tables so that the data can be moved between hosts, or simply backed up and restored on the same host. Once a tracking table has been imported, the exported tracking table should not be used for further imports. The tracking table changes as a result of a sync, the details between the tracking table and the exported version will be different. Importing the exported tracking table a second time can cause duplication of data upon the next sync.
Given the critical value of this data, the folder containing the tracking tables should be excluded from security software or any mechanism that could possibly corrupt or delete this data. Tracking table data is stored, by default, in C:\ProgramData\Priasoft\SuperExMerge\TaskQueue\SyncTasks. If tracking tables are deleted, new sync tasks for the referenced source and target store will not execute.
There are mechanisms to recover from this and allow for a new tracking table to be created, however such is reserved for actions performed by qualified Priasoft support personnel. If you feel you need help with such a situation, and are under paid-use support terms, contact support@praisoft.com to open a support ticket.
