How to REALLY restart MSMQ

Sometimes you restart MSMQ as part of your troubleshooting but it seems to make no difference and you end up having to reboot the machine instead to fix a problem.

The reason is that MSMQ has layers (just like Shrek).

  • On top is the queue manager service that applications talk to for sending messages, opening queues, and so on.
    This layer can be restarted with "NET STOP MSMQ / NET START MSMQ" or through Computer Management.
  • Underneath is the device driver that manages the Storage directory and the memory mapped files.
    Only "NET STOP MQAC / NET START MSMQ" will have any effect on this layer.
    MQAC stands for Message Queuing Access Control.