We have an Application, which uses Service Broker to receive notifications from the SQL Server.
The application works fine when we don’t have SQL Always On enabled, and when we are interacting with a single DB.
However when we have SQL Always On, After we do a failover from on SQL Node1 to another SQL Node2.
We stop getting any notifications from SQL Node2.
(Note: Before we do any failover, we are getting notifications even if SQL Always On is being used.)
To get the notifications again we have to again send the service broker contract messages, the wait and receive command for the specific service and queue etc., its equivalent to restarting our service.
I looked over the internet, and found this MSDN Article on Service Broker on SQL Always On.
http://msdn.microsoft.com/en-IN/library/hh710058.aspx
I carried out the steps mentioned in this section of above article,
Requirements for a Service in an Availability Group to Receive Remote Messages
For the 4th step mentioned above, Ensure that msdb contains either an AutoCreatedLocal route or a route to the specific service.
The AutoCreatedLocal was present by default, so I did not do anything for 4th step.
But still I am not getting any notifications after failover.
Can you please suggest on what step(s) I am missing or have not executed correctly, or any additional items which needs to be taken care of.
-Zakir, Let us know if the answer/post helps you :)