SQL Merge replication slowing down each time a new Snapshot is generated

Posted on 2008-10-09
Last Modified: 2008-11-11
I have merge replication set up with 2 publications of a database. Everything is fine except recently we noticed the initial sync is taking longer and longer. Incremental syncs are fine. We have tracked the slow performance down to the fact that the number of inserts on each table (info obtained by looking at the Synchronization hostory in replication monitor) was some 20 times the number of rows in the table (always an exact multiple). Now, if I re-initialise the subscriptions and create a new snapshot, the number of inserts increments by the number of rows in each table. This is happening on both publications on this server, but on our develpment server this does not happen. Any clues anyone ?
Question by:Phil Catterall
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
LVL 35

Expert Comment

by:David Todd
ID: 22683932

I just tripped over an on-line article a couple of days ago that showed SQL slows down more and more for each snapshot - with something like 50 times slow-down at 5+ snapshots.

LVL 35

Expert Comment

by:David Todd
ID: 22683936

Short answer is that snapshots are a good feature, but at a hefty performance cost. Avoid them if you can or performance is an issue.


Accepted Solution

Phil Catterall earned 0 total points
ID: 22901072
Got Microsoft involved. Turned out it was a bug fixed in SQL2005 SP2;EN-US;919949
What compounded the problem was that it turned out that the SQL server was reporting it was at SP2 but wasn't .

Featured Post

Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

717 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question