How to use Message Queuing Diagnostics in Windows Server 2012

You can use MSMQ Properties to send test messages to the destination MSMQ Server. For this you need to go to MSMQ properties -> Diagnostics.


However, you will see that the Send Test Messages and Tracking option is disabled. In order to enable this, you need to make an entry to MSMQ registry hive.
For this, go to: HKLM\Software\Microsoft\MSMQ\Parameters\Security and add EnableReportMessages (DWORD decimal value to 1)

After this you will see that the send message option is enabled and now you can send test messages to the local or a remote test queue to check if MSMQ send is working properly or not.
Send Test Messages:
You can also send a test message from the Computer Management snap-in. To do this, click Start, point to Run, type compmgmt.msc, and press ENTER to display the Computer Management MMC console. Then click Services and Applications, right-click Message Queuing, and then click Properties. On the Diagnostics tab, click Send Test.

Create on a New Queue button in order to create a test queue. Give the name of the destination machine along with the test queue name. This tool can only send test messages to the test queue. A test queue is always a public queue and identified as a queue of type ID = {55EE8F33-CCE9-11CF-B108-0020AFD61CE9}.
You cannot use a transactional queue as a test queue. Only transactional messages can be sent to transactional queues, and test messages are not transactional.

If the test queue is in the local machine there will be no issues in receiving the test messages. However, if the test queue is being created in the remote machine, then you may notice that even though you send the messages and the outgoing queue also shows that the messages are sent, still there might be no messages in the destination test queue.



In order to make sure that the test messages are successfully received by the test queue in the destination machine, give ANONYMOUS LOGON, Send Messages permission at the queue level.

After this you would be able to send the messages to the test queue.

Tracking:

As all test messages are sent with the message route tracking flag set, if the source computer has message route tracking enabled and if the test queue is located on another computer, the route of such test messages is tracked and report messages are sent to the report queue on the source computer. 
To create a Report Queue, Go to MSMQ -> Properties -> Diagnostics -> Click on Define Tracking. Create a Report queue on the Source MSMQ .

You can also refer to the following link for more details:
https://technet.microsoft.com/en-us/library/cc731811(v=ws.10).aspx

Hope this helps..!!

Written by
Rasika Chaudhary

Reviewed by
Jainath V R

Microsoft India GTSC