December 9, 2003 at 11:35 am
I have six pairs of SQL 2000 db servers. Each pair uses merge replication to continuously update each other's "shopping basket" dbs.
Shortly after upgrading the servers from 7.0, I had one pair die, and rebuilt them from scratch.
Since they were rebuilt, we've had continual problems with the Merge Agent process getting killed off. The error msg always being:
The process could not enumerate changes at the 'Subscriber'.
I enabled verbose logging on the merge agent with:
-Output C:\MergePD.txt -Outputverboselevel 2
Which showed the underlying error:
Transaction (Process ID 815) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
We use slightly customized settings for the Merge Agent Profile, however, they are the same accross all servers, save the problem pair, which each have two additional properties in the profile:
DestThreads - 4
SrcThreads - 3
These are not present in the upgraded db servers. I have to assume this is the problem, as its the only thing different accross all twelve servers.
Based on this description [1], I believe SrcThreads may be the issue:
Specifies the number of source threads that the Merge Agent uses to enumerate changes from the source. The source is the Subscriber during upload and the Publisher during download. The default is 3.
The problem is, I don't have a clue what setting would be appropriate, and wanted to consult someone more knowledgable than I before reconfiguring half-cocked.
The servers are 4-way 700s with 4GB of RAM.
Any hints, docs, links, etc. leading in the right direction would be greatly appreciated.
Joey Peloquin
Reference:
[1] http://msdn.microsoft.com/library/default.asp?url=/library/en-us/coprompt/cp_replmerg_4y2h.asp
December 12, 2003 at 8:00 am
This was removed by the editor as SPAM
December 15, 2003 at 10:23 am
RESOLVED
First, I wanted to say thanks to the Site Owners for following up. IMO, all forum admins should do what you guys do.
This post was actually a two-pronged issue. First, was the discrepancy in the merge agent profile settings. This is explained by the fact that SQL 7.0 Merge Replication is single-threaded. Consequently, the single-threaded setting was inherited when upgrading to SQL 2000. To sync the freshly-built pair with the upgraded servers, I have set DestThreads and SrcThreads to a value of ~1.
Finally, the general errors and subsequent failing and killing of the merge agent is a result of the deadlocking problem. I've enabled trace 1204, and expect conclusive data to be forthcoming.
Joey Peloquin
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply