none
Merge replication error 22511 - 'The merge completed successfully.' RRS feed

  • Question

  • Hi

    We have about 100 pull subscriptions running Windows Server 2003 and SQL Server 2005 Express edition. Some of subscribers have been upgraded to Windows Server 2008 R2/ SQL Server 2008 R2 Express Edition recently. After upgrade I noticed new error in replication log - 'The merge completed successfully.' We use custom replication tool. This tool is scheduled to execute on every subscriber early in the morning.

    2012-09-06 06:08:48  - The upload message to be sent to Publisher 'PUB' is being generated

    2012-09-06 06:08:48  - The merge process is using Exchange ID 'B721751E-FA4A-47C4-BB84-6461E86D3EFB' for this web synchronization session.

    2012-09-06 06:08:48  - Error: The merge completed successfully.


    In this example replication fails immediately, but usually there are several merge sessions.

    When I run replication manually, It completes normally (there are data to synchronize). I've never seen this error on manual execution, only on scheduled one.

    Unfortunately error is kinda unclear so I can't guess what is wrong. I afraid that error prevent replication from merging all required data. We can teach our application to retry on this error or ignore it completely.

    Does someone experienced same error? Why this error happens? Is it really error? I'd say 'successfully' means some positive.

    Thank you,

    Alexander


    DBA

    Thursday, September 6, 2012 1:03 PM

Answers

  • I agree the message is ambiguous.  However, there is more information to be captured.  You may need to change your custom application to increase the verbosity of the log to get more detail.

    Brandon Williams (blog | linkedin)

    Thursday, September 6, 2012 3:23 PM
    Moderator
  • Once you have a log with the highest verbose level, this will help figure out other information surrounding the time of the issue. If this is a repeated occurrence, you might want to isolate a subscriber and capture profiler traces during the time of the issue and see if there are any exceptions/errors reported on the database engine side.


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


    My Blog: http://www.troubleshootingsql.com
    Twitter: @banerjeeamit

    Friday, September 7, 2012 7:20 AM

All replies

  • How are you generating the above logged information? And have you verified if all the data was successfully synchronized? 22511 as per sys.messages is successful completion.

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


    My Blog: http://www.troubleshootingsql.com
    Twitter: @banerjeeamit

    Thursday, September 6, 2012 2:06 PM
  • Hi Alexander,

    I've experienced this error/message intermittently with web sync subscribers in 2008 R2.  It is difficult to say what could be the problem based on the verbosity of your Merge Agent log.

    Since you are using Express Edition subscribers over Web Synchronization then I assume you are synchronizing the subscription(s) using RMO.  Increase the verbosity of the Merge Agent log to 4 and let the Merge Agent schedule resume.  If the problem occurs again then you will have more details with MergeSynchronizationAgent.OutputVerboseLevel = 4.


    Brandon Williams (blog | linkedin)

    Thursday, September 6, 2012 3:07 PM
    Moderator
  • Our custom application captures COM messages and save them to a file. If this is a successful completion, why it is throw an exception? 'Error: ' part of the message is from try-catch block.

    If I run synchronization after fail, it always deliver some data. But I check errors approximately at 9AM, so this data can be changed after 6AM.

    Tomorrow I'll try to check if any changes wait to be delivered (with sp_showpendingchanges) and when they were made (I have no clue how).


    DBA

    Thursday, September 6, 2012 3:13 PM
  • I agree the message is ambiguous.  However, there is more information to be captured.  You may need to change your custom application to increase the verbosity of the log to get more detail.

    Brandon Williams (blog | linkedin)

    Thursday, September 6, 2012 3:23 PM
    Moderator
  • Once you have a log with the highest verbose level, this will help figure out other information surrounding the time of the issue. If this is a repeated occurrence, you might want to isolate a subscriber and capture profiler traces during the time of the issue and see if there are any exceptions/errors reported on the database engine side.


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


    My Blog: http://www.troubleshootingsql.com
    Twitter: @banerjeeamit

    Friday, September 7, 2012 7:20 AM