I have two SQL 2005 Standard servers using merge replication, and out of the blue started getting failure notices regarding "The merge process could not enumerate changes at the 'Subscriber'." I turned on verbose logging and noticed the following section:
2006-04-19 12:53:33.227 Category:NULL
Source: Merge Replication Provider
Message: The merge process could not enumerate changes at the 'Subscriber'. When troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write.
2006-04-19 12:53:33.227 The Merge Agent was unable to update information about the last synchronization at the Subscriber. Ensure that the subscription exists at the Subscriber, and restart the Merge Agent.
2006-04-19 12:53:33.227 The merge process was unable to update last synchronization information at the Publisher.
Using Profiler on both sides, I don't see anything out the ordinary during the replication process until there are two calls in a row to the stored procedure sp_MSadd_merge_history90, where the second one is storing the error message listed above.
I wasn't able to resolve the issue. I opened up a support call with MS Tech support to no avail as well. Last night I removed replication, manually merged the data between the two databases and setup replication again, and the issue is gone. Just wish I could have figured out the root cause in case it happens again.
I have the same problem with my replication.
After i set up a merge replication ( with a dynamic snapshot) the merge process works Ok.
After a while i get this error mesage and the only thing that is solving my problem is to set up subscriber again.
I replicate 21 tables with a Server Type Subscriber and all tables have downloadonly option.
Can this be the problem ?
The "merge process could not enumerate changes at the subscriber" is a very generic error message. It could be caused by many different things like timeout to network errors. Unless we can get more info, we cannot determine whether it is a serious problem or not.
Try getting more info from Profiler with more granular tracing. Also increase the verbosity of the merge output with OutputVerboseLevel 3 and post back the output. Maybe that will help us in narrowing down the issue.
If you had that case sometimes then it could be due to bad conectivity and many other reasons, but if you have it all the time, then it is possible that it is something worse.
I had both types of situations with my merge replication, solution for constant troubles in my case was that it all went away when I runned dbcc checkdb. To be more precise I tried dbcc checkdb but it failed to go through whole db. Then I did dbcc checkdb with repair fast and it repaired what was wrong. After that everything was ok.