none
The transaction ended in trigger

    Question

  • During some non working days i got rid of old merge replication that I had and started new one. Today 5 of my 6 servers are working normally, but on the 6th one I am getting following error:

     

    The transaction ended in trigger. The batch has been aborted. Table [dbo.A...] into which you are trying to insert, update, or delete data is currently being upgraded or initialized for merge replication. On the publisher data modofocations are disallowed until the upgrade completes and snapshot has succesfully run. On subscriber data modifications are disallowed until the upgrade completes or the initial snapshot has been successfully applied and it has synchronized with publisher.

    Although this message is descriptive ebough, I must say that my publisher says that whole process of synchronyzing and initializing data with subscriber is done. In fact it allready did more than 100 cycles of replication.

     

    Any idea why I get this?

     

    Thanks,

    Aleksandar

    Wednesday, May 03, 2006 11:58 AM

Answers

  • First, thanks to all for involving, but I found what is wrong. As Zhiqiang stated, and as I sais it is obvious, error messageis telling that 2nd step is not performed, although it was and I did more than 100 syncs.

    Error message that I got was from application which runs on that server, or from update or insert through any query. (that is answer to Greg Y - thanks Greg)

    Now - what was wrong. During process of adding new subscription server creates those triggers on subscribers in order to prevent users from changing data. Later on, when subscription is started, server should delete those and let users to work normally. In my case 9 of those triggers left undeleted - how that happened, I do not have a clue.

    I thought about removing them manually, but I rather decided to drop subscription and to reinitialize it again. I guess one can remove them manually if he wants, without reinitializing subscription.

    So, if somebody have similar problem check "select * from sys.triggers" and if there are some MS_merge disable triggers, there could be something wrong.

    Aleksandar

    Thursday, May 04, 2006 7:09 AM

All replies

  • quick question - is this just an information error, or is it blocking you?  You say you did more than 100 syncs, so I'm not sure.
    Wednesday, May 03, 2006 7:49 PM
    Moderator
  • Aleksandar,

    There are 2 steps involved in merge replication upgrade, one is to run the real upgrade (setup.exe), the 2nd step is to re-run snapshot agent & merge agent for merge upgrade to complete. The error message is telling you that the 2nd step is not being performed for 6th server after the first step is done, try to regenerate snapshot and re-run merge agent for the 6th server and see if that sovles your problem.

    Hope that helps!

    Zhiqiang Feng

    This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, May 03, 2006 10:29 PM
  • First, thanks to all for involving, but I found what is wrong. As Zhiqiang stated, and as I sais it is obvious, error messageis telling that 2nd step is not performed, although it was and I did more than 100 syncs.

    Error message that I got was from application which runs on that server, or from update or insert through any query. (that is answer to Greg Y - thanks Greg)

    Now - what was wrong. During process of adding new subscription server creates those triggers on subscribers in order to prevent users from changing data. Later on, when subscription is started, server should delete those and let users to work normally. In my case 9 of those triggers left undeleted - how that happened, I do not have a clue.

    I thought about removing them manually, but I rather decided to drop subscription and to reinitialize it again. I guess one can remove them manually if he wants, without reinitializing subscription.

    So, if somebody have similar problem check "select * from sys.triggers" and if there are some MS_merge disable triggers, there could be something wrong.

    Aleksandar

    Thursday, May 04, 2006 7:09 AM