You have an application that uses Service Broker in Microsoft SQL Server 2005. When the system that runs Service Broker is under a heavy workload or under memory pressure, you may receive the following error message when the application sends messages:
The conversation endpoint is not in a valid state for SEND. The current endpoint state is 'ER'
If you query the <SQLInstanceName>.dbo.LogEndedResponseQueue table on the sender, you may receive the following error message:
<Error xmlns=">http://schemas.microsoft.com/SQL/ServiceBroker/Error"> <Code>-8472</Code> <Description>The remote service has sent a message that contains invalid header fields.</Description> </Error>
An in-memory state is associated with each dialog. If the system is under memory pressure, the in-memory state is saved to an internal work table. However, a bug causes successive message headers to be corrupted. When successive messages are sent in the dialog, the dialog enters into an error state.
Service pack information
To resolve this problem, obtain the latest service pack for SQL Server 2005. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
913089 How to obtain the latest service pack for SQL Server 2005
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in SQL Server 2005 Service Pack 3.
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates