Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

Double queue reader or is it still busy? Expand / Collapse
Author
Message
Posted Wednesday, October 23, 2013 5:22 AM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Thursday, March 06, 2014 1:35 AM
Points: 178, Visits: 547
I came across this line in the verbose log on replication QueueReader Agent job startup.

The Queue Reader Agent has encountered the error 'Another queuereader agent for the subscription or subscriptions is running, or the server is working on a previous request by the same agent.' when connecting to 'distribution' on 'Svr01\Inst01'. Ensure that the publication and subscription are defined properly and that both servers are running.

The first clue I had that something was wrong was the vague replication message:

The replication agent has not logged a progress message in 10 minutes. This might indicate an unresponsive agent or high system activity. Verify that records are being replicated to the destination and that connections to the Subscriber, Publisher, and Distributor are still active.

Replication IS working but Replication Monitor is showing red X's. This second error has shown up from time to time and sometimes goes away. For a while now I though this was a bug as it has been reported a few times on Connect.

Assuming the first quoted error is correct, how can I find the double QueueReader or previous request?
tasklist /FI "imagename eq qreader.exe"
Returns nothing.

SELECT job_id, name, enabled FROM msdb..sysjobs WHERE category_id = 19 ORDER BY date_created;
Returns 1 row on each distributor.

Setup:
Svr01 = Publisher, Distributor, SQL 2005
Svr02 = Publisher, Distributor, SQL 2005, Subscribor (Svr01)
Svr03 = SQL 2005, Subscribor (Svr01, Svr02)

Both Svr01 and Svr02 are reporting these errors.

This is being recorded in the error logs every minute:
[181] Step 2 of job [Svr01\Inst01].11 failed but will be retried in 1 minute(s)

Step 2:
Name : Run Agent
Type : Replication Queue Reader
Run as : SQL Server Agent Service Account
Database : Distribution
Command : -Distributor [Svr01\Inst01] -DistributionDB [distribution] -DistributorSecurityMode 1 -Continuous




For better, quicker answers on T-SQL questions, read Jeff Moden's suggestions.

"Million-to-one chances crop up nine times out of ten." ― Terry Pratchett, Mort
Post #1507546
Posted Monday, October 28, 2013 4:43 AM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Thursday, March 06, 2014 1:35 AM
Points: 178, Visits: 547
Solved it.

The Queue Reader agent is only used in snapshot or updatable transactional replications.

I just deleted the job and emptied tables MSqreader_agents & MSqreader_history from the distribution database. Finally I killed the qrdrsvc.exe process.

Helpful links:
MSDN
BOL




For better, quicker answers on T-SQL questions, read Jeff Moden's suggestions.

"Million-to-one chances crop up nine times out of ten." ― Terry Pratchett, Mort
Post #1508797
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse