Merge replication does not receive updates through transactional replication when republishing

I am trying to migrate from Server Z, which replicates up to a dozen subscribers in two datacenters, to Servers A and B, one in each datacenter. To survive the interruptions between datacenters, we looked at performing merge replication between A and B.

My original plan was to take Z and use a transaction to go to A, which would then replicate to B. Then, when we migrate processes to use A, we can roll one process at a time.

However , while I can do updates directly to A or B and go to another server, updates to A via transaction relay (Z) DO NOT do this to B!

Identities are set as NOT FOR REPLICATION, but the rest of this standard is pretty standard.


source to share

1 answer

Good question.

You need to set the Merge property of article @published_in_tran_pub to true for all Merge articles participating in the Transactional publication. You can use sp_changemergearticle for this on Server A:

    EXEC sp_changemergearticle 
        @publication = 'MyPublication', 
        @article = 'MyArticle', 
        @property = 'published_in_tran_pub', 
        @value = 'true';


You can make this change as you wish without creating a new snapshot or reinitializing the subscription.



All Articles