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.