0

When sending to a remote MSMQ, from a clustered server is it necessary to cluster MSMQ on the sending servers, or do we just need to install the components locally on each node?

We are attempting to send from within MS SQL, using a CLR Stored Procedure but getting an error. This works in local development on a single machine, but when deployed to a clustered SQL Server the Stored Proc fails to run with the error:

Message Queue service is not available

Trying to determine whether it is 100% necessary to cluster the MSMQ to get this working - At the moment the CLR Sproc can't send to any local or private queue when running from the cluster, even if that specific node has MSMQ Components installed

jarlh
  • 42,561
  • 8
  • 45
  • 63
Dan Harris
  • 1,336
  • 1
  • 21
  • 44
  • I believe MSMQ has to be clustered as well. What are you using MSMQ for, could you use a "proper" message broker like RabbitMQ instead? – Niels Berglund Aug 14 '17 at 11:54
  • See https://stackoverflow.com/questions/9798079/msmq-message-queuing-has-not-been-installed-on-this-computer/9800758#9800758 – tom redfern Aug 14 '17 at 15:56
  • https://blogs.msdn.microsoft.com/johnbreakwell/2008/02/18/clustering-msmq-applications-rule-1/ – John Breakwell Aug 14 '17 at 21:47
  • So a final comment from me. RabbitMQ does not need a local component, and is extremely easy to call from SQL Server. For an example how to use it see [here](http://www.nielsberglund.com/2017/02/11/rabbitmq-sql-server/). – Niels Berglund Aug 15 '17 at 05:50
  • @NielsBerglund - recommending a full blown AMQP implementation for what is effectively the simple transmission of a message may be overkill in this scenario. MSMQ never claims to be a broker - it does one job and one job well - the delivery of messages. Furthermore, any messaging solution which relies on the SQLCLR is unorthodox in my opinion. There are many well-established ways to achieve notification from SQL server, including CDC, change tracking, and triggers to SSSB queues. – tom redfern Aug 15 '17 at 08:54
  • See my new answer here: https://stackoverflow.com/a/45690344/569662 – tom redfern Aug 15 '17 at 09:43

0 Answers0