Service Broker not responding to initiator and messages get stuck in transmissions queue

We keep having an outage roughly once a week where the messages get stuck in the transmission queue.  We have got 2 application servers that sends messages to a database.  The app servers are standalone VMs and the database that these app servers send messages to, is in a clustered environment.  

The SSB in one of these app servers goes down once a while with the error message - An error occurred while receiving data: '64(The specified network name is no longer available.)'.  Until now, this did not happen on both app servers at the same time.  

We were able to telnet/ping at the time of outage.  What might possibly be happening?  Let me know if there are any additional details needed.

Setting the database in single user mode, disabling service broker and then enabling it, fixes everything.


April 26th, 2014 1:40am

Can you elaborate on the details of your application Service Broker pattern?  I'm curious as to whether you start a new conversation for each message and end it before the target service processes it.  This is an anti-pattern, and in the case of SQL Server 2005, may expose the bug described in http://support.microsoft.com/kb/940287

Free Windows Admin Tool Kit Click here and download it now
April 26th, 2014 8:59am

Hi Dan,

Thanks for checking this.  We are using SQL Server 2008 R2.  There are no new conversation per message and definitely not a fire and forget pattern.  

The oddity is that we see this problem roughly once a week and everytime, disabling and then enabling the broker fixes the problem.  In the profiler, there is "An error occurred while receiving data: '64(The specified network name is no longer available.)'." error message.  However, we were able to ping between the networks at the time of outage.  


April 26th, 2014 4:41pm

Do you have any related messages in the SQL Server error log?

Free Windows Admin Tool Kit Click here and download it now
April 26th, 2014 4:52pm

Here is the configuration that we are using.

Initiator1: Single standalone VM box

Initiator2: Single standalone VM box

Target: Physical two node SQL Cluster

These two app servers in the initiators keep sending messages to the target which is in a cluster.  When one of these app servers goes down, the messages get stuck in the transmission queue and we do not see any related messages in errorlog.  The specified network not available message is seen in the profiler.  

April 26th, 2014 5:16pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics