Unidirectional Replication

  • Hi Guys,

    I am new to replication and I am setting up a Merge Pull Replication but I cannot find a way to setup for the following scenario:

    ==> Changes from Subscriber can be propagated to Publisher but changes occurred from the Publisher should not be propagated to Subscriber.

    Can you give me an approach how to accomplished this?

    I appreciate any of your help.

    "Often speak with code not with word,
    A simple solution for a simple question"

  • Haven't done it for a while, so I'm not sure if you can choose it using the setup wizard, but the mergeagent has a property called exchangetype, which basically defines if synchronization is two-way or one-way and which direction.

    See here for more details: http://msdn.microsoft.com/en-us/library/ms147839.aspx

    [font="Verdana"]Markus Bohse[/font]

  • Changes on the Publisher will always be propagated to the Subscribers. That's the reason why you set up replication. 😉

    I don't know if it can be done, but I highly doubt it.

    I'll ask this question to a Replication Guru and let you know.

    -- Gianluca Sartori

  • Turns out that the Replication Guru says it could work!

    He will post his advice later.

    -- Gianluca Sartori

  • Ideally, to implement the described scenario you should set the “–exchangeType” parameter of the merge agent.

    You cannot do this using GUI but you need to create a new agent profile using T-SQL. In the new agent profile, you must set the –exchageType parameter to 1 so that only changes from subscriber ad downloaded. Other values are 2 (data flow from publisher to subscriber only) and 3 (default, bidirectional).

    Checkout these articles:

    http://msdn.microsoft.com/en-us/library/ms147893.aspx

    However, this is actually a quite “forced” situation, as in your scenario you should consider to change the role of your subscriber to become publishers.

    Good luck !

  • Hi Experts,

    Thanks for your response!:-)

    I tried to set the -ExchangeType parameter to 1 to merge agent but when I tried to reinitialize the subscription, it is throwing exception "You cannot initial or reinitialize a subscription using an exchange type of upload-only. Restart the Merge Agent using the default (bidirectional) exchange type.". And if I change it back to bidirectional, the changes from the publisher propagated. I think I really have switch the publisher with subscriber to accomplished this.

    I appreciate your help guys. Thank you very much.:-)

    "Often speak with code not with word,
    A simple solution for a simple question"

  • Hi,

    I think you can try to reinitialize with original -ExchangeType=3 and, then. switch to 1 after the snapshot has been applied.

    This should work.

    However, I suggest you to consider to exchange the roles of Publisher/Subscriber.

    This is possible unless you run Express at the remote sites, that cannot act as a publisher.

    Bye

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply