Hello,
I have a database server which contains multiple merge publications. There is exactly one subscription to each publication. Merge replication is currently being used for geographic high availability. Most of the publications and the corresponding merge agents are fairly well tuned currently. However, one of my lowest volume publications is consuming the most cpu resources. After profiling, I determined that the culprit is sp_MScheckexistsgeneration. This proc is being invoked over and over, to the tune of 20,000 executions for one execution of any other stored procedure in the database. Yesterday this proc executed a total of135,362,041 times.
I have stopped and restarted the merge agent, to no avail. I am close to reinitializing the publication, and believe that this will fix the problem, but I do not want to put myself in the position where the subscriber (even for a few minutes) is not up to date.
I realize that this proc is used determine what data is pending synchronization, but the volume of all the other transactions combined is less than a couple thousand per day in this database. Thus my reasonsing that something is broken here. Is there any profile parameter, subscription option, article property, or publication property that I can change to affect how often this proc is called? Any advise would be welcome.
Thanks,
John_T