Trigger changes do not Replicate (Merge Replication)

I am using SQL server 2000.

I have implemented merge replication. If i make any changes to the triggers on the publisher, they do not get reflected on the subscriber after the next merge takes place. Infact, if i read the agent history it says that there is No data to merge.

The "User triggers" option, that can be reached by clicking on the elipses (...) of the published article has been checked.

Is there anything else that i need to run other than the merge agent which runs periodically

Any help will be appreciated.

VB.NET programmer. - sometime DBA :(



Answer this question

Trigger changes do not Replicate (Merge Replication)

  • Anonymous111111111111111

    I have to reinitiate the subriber

    "Just reinitiate sub with rerunning snapshot and merge agent, the new trigger will be propagated to subscriber side"

    To get the new trigger



  • joaopaulo7

    SQL 2000 can not automatically detect trigger DDL change including new added trigger.

    In SQL 2005, if you add a new trigger with published article. Just reinitiate sub with rerunning snapshot and merge agent, the new trigger will be propagated to subscriber side. But SQL 2000 can't.

  • Somthing Sexy

    Thanks for your reply.

    Do you think if i add a new trigger on a table that is published, it should get replicated after the next merge takes place Adding the new trigger does not use ALTER TRIGGER, but even that does not get replicated.

    I think there is something else that is wrong. I have spent way too much time on this but not been able to figure out.

  • Jimmy Nilsson

    SQL server 2000 only replicate user triggers, but not the changes to the trigger. So you will not see the changes to the triggers on the publisher being populated to the subscriber. You have to manually change the trigger at the subscriber.

    SQL server 2005 do support this kind of schema changes like ALTER TRIGGER

    Hope it helps

    Wanwen

  • Trigger changes do not Replicate (Merge Replication)