Getting error in Merge replication

  • In my merge replication I am getting the error "The process could not enumerate changes at the subscriber". What could be the reason and how I can get rid of this error.I have set up transactional and merge replication both in same database but with different articles. I have applied all service packs

  • Azam,

    Are you getting this error in the initial merge repl configuration?

    I have seen this error as well. Try increasing the query time-out in the agent profile, decreasing the number of changes per merge batch, decreasing the number of transacions in the BCP batch and increasing the login timeout.

     

    CT

  • Thanks for your reply, I am getting this problem since day one after setting up merge replication

  • If you had this problem from the beginning then I would deffinitely look at the agent profiles first.

    Modifying the profiles can especially help if you are connecting to the subscriber via a slow network link. On one slow connection I bumped the query time out from the default 300 to 3600. This helped.

  • Checking out your agent profiles is a great start.  Try the "slow link" profile.  If that doesn't work, you can add this to your sql agent job that runs the merge agent.  It will create a log file that will give you more information on where the agent is failing.  If you the open the job steps, just append this to the end of the replmerge job command. 

    -querytimeout 300 -output c:\reploutput.txt -outputverboselevel 3

    I had a problem with the size of the generations in replication.  You can check the size of the generations by using this query on the publisher.

    SELECT GH.generation as [Generation], count(*) as [GenerationSize]

                FROM MSmerge_genhistory GH (nolock)

                     JOIN MSmerge_tombstone T (nolock) ON GH.generation = T.generation

                GROUP BY GH.generation

                ORDER BY [GenerationSize] DESC

     

    If you see any generations with over 10000 records, you can use a MS stored procedure to chunk the generations into smaller ones.  Put the generation number in place of the '2302220' in my example. 

    exec sp_mschunkgeneration '2302220', '10000'

     

     

     

     

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply