Running Multiple Instances - Synergex/SqlReplication GitHub Wiki
It is possible to run multiple instances of the replicator process, each of which is assigned a unique instance name either by setting the REPLICATOR_INSTANCE environment variable to the name to be used, or by using the -instance <instancename> command line option when the replicator process is started. If neither of these mechanisms is used then the default instance name is DEFAULT.
Each replicator instance MUST have its own dedicated transaction queue file, and the name of the instance is used in the name of that queue file. For example, the transaction queue file for the DEFAULT instance is REPLICATOR_DATA:REPLICATION_DEFAULT.ISM.
There are two use cases for configuring multiple instances:
-
Your application is used by multiple "companies" or "business entities" on the same system and you want to operate a replicator instance per business entity. In this case each replicator instance must connect and replicate to a separate SQL Server database.
-
You wish to partition a data set so that within the data set, some files are replicated by one replicator instance, while other files are replicated by other instance(s). In this case all replicator instances will connect to the same SQL Server database, and THE ORDER IN WHICH SOME CHANGES ARE APPLIED IN THE RELATIONAL DATABASE MAY NOT BE THE SAME AS THE ORDER IN WHICH THEY WERE APPLIED TO THE SYNERGY DATA FILES.