Saturday, February 25, 2012

Queue Reader fails occasionally

I am using transactional replication with queued updating between two servers
running SQL Server 2000 SP3. Publisher and distributor run both on the same
server (a cluster machine). There is one subscriber. The Queue Reader Agent
starts successfully, and transactions originating on either side are properly
replicated. However, the Queue Reader occasionally fails. I enabled logging,
but the output file looks normal to me; several queries for queued data, but
then it seems to timeout. It just sits there for 3 minutes, then fails and
retries. No error message in the output file. Finally (after specified count
of retries) the agent shuts down with the message "Remote procedure call
failed". When I try to restart Queue Reader Agent, same behavior. I have to
examine the queue (table MSreplication_queue) and delete the first
respectively first few rows. Before deleting I execute the corresponding
queries (sp calls of type sp_MSsync_upd_MyTable) in Query Analyzer, what
succeeds. After deleting the rows from MSreplication_queue I can restart
Queue Reader Agent and now all works properly up to the next fail. :-(
Does anyone have any advice? Thanks in advance
Dorrit
What if you run these commands manually from the subscriber using QA? What
I'm thinking is that it might be a locking (blocking) issue which you'd be
able to determine using sp_who2 at the publisher.
HTH
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)
|||I'm not sure whether I did understand your reply correctly. What I usually do
to solve the problem is running these commands manually at the publisher
using QA. (I simply copy them from the output file.). This functions properly,
I can even track this by querying the correspondent rows at the subscriber
and at the publisher. Before executing the commands in QA, the changes are
only at the subscriber, afterwards they are at both the subscriber and the
publisher. That's why I think it cannot be a locking issue.
Message posted via http://www.droptable.com
|||If it's definitely not blocking then I'm not too sure. You could use
profiler on the publisher to check the commands are getting that far when
running the queue reader agent. You could also simultaneously run profiler
on teh subscriber to confirm the queue is being read.
Rgds,
Paul Ibison, SQL Server MVP
|||OK, I think you could be right. I'll try then with profiler...
Thanks, Dorrit
Message posted via droptable.com
http://www.droptable.com/Uwe/Forums...ation/200507/1

No comments:

Post a Comment