Microsoft Message Queue (MSMQ) Server

Definition of Microsoft Message Queue (MSMQ) Server in Network Encyclopedia.

What is Microsoft Message Queue (MSMQ) Server?

MSMQ Server is a Microsoft product included with the Microsoft Windows NT Option Pack and Windows NT Server, Enterprise Edition, that provides store-and-forward messaging services for Microsoft Transaction Server (MTS).

Microsoft Message Queue Server
Microsoft Message Queue Server

Microsoft Message Queue (MSMQ) Server acts as a resource manager for MTS by allowing the components of distributed Web applications to asynchronously communicate with each other.

MSMQ supports such features as:

  • Connectionless messaging: The sessionless store-and-forward message queuing methodology means that components of distributed applications do not have to establish sessions or even use the same networking protocol in order to share information. 
  • Guaranteed delivery: Messages are logged to a disk-based queue to provide guaranteed delivery. 
  • Network traffic prioritization: High-priority messaging traffic preempts low priority traffic, which guarantees proper response times for critical applications
  • Support for transactions: You can bind multiple MSMQ-related actions into a single transaction, make sure that messages are delivered in order and no more than once, and confirm that messages reached their destination or were retrieved successfully from the destination message queue. 
  • Routing: MSMQ’s smart routing is based on the network’s physical topology, session concentration, and transport connectivity. 
  • Security: MSMQ supports access control through Windows NT security and digital signatures and supports auditing through the Windows NT application log. Encryption and authentication are supported using public key encryption and digital certificates. 
  • Heterogeneous system support: MSMQ applications can be implemented over disparate hardware platforms. 

How It Works

MSMQ is a store-and-forward service that lets applications running at different times communicate across heterogeneous networks, even when the systems are temporarily offline. Applications send messages to MSMQ, which queues messages to ensure that they eventually reach their intended destinations. MSMQ guarantees message delivery and provides fast and efficient routing, integrated security, and priority-based messaging.

Computers running MSMQ operate within an MSMQ Enterprise, which is divided into MSMQ sites that are connected with site links. MSMQ applications communicate using messages, which are simply units of information or data that are sent between computers and can contain text or binary data. Acknowledgments can be used to confirm whether messages reached or were retrieved from their destination queues. The MSMQ queues, which store and forward messages, include administration, system, dead letter, transactional dead letter, and report queues.

MSMQ uses four types of servers to control message queuing, each of which must be installed on computers running Windows NT Server, Enterprise Edition:

MSMQ supports dependent clients, independent clients, and servers. Independent clients and servers run the MSMQ service and can communicate asynchronously with each other, while dependent clients use synchronous communication. Some MSMQ servers have a copy of the MSMQ Information Store (MQIS) database, which is a distributed database that stores information about the MSMQ enterprise, computers, and queues.

MSMQ 2.0. Message Queuing

On the Windows 2000 platform, this component is known as Message Queuing, and is sometimes referred to as MSMQ 2.0. Message Queuing is compatible with MSMQ 1.0 for Windows NT, and some of the changes with the new version include the following:

  • MSMQ sites are now integrated into Windows 2000 sites.
  • MQIS is now integrated into Active Directory.
  • PECs, PSCs, and BSCs are now called Message Queuing servers and run on Windows 2000 domain controllers.
  • MSMQ Routing Servers are now called Message Queuing servers with routing.
  • MSMQ site links are now called routing links.
  • MSMQ Explorer is integrated into the Microsoft Management Console (MMC) as an administrative snap-in.

MSMQ Enterprise

All computers in an organization that run Microsoft Message Queue (MSMQ) Server and access information from the same distributed database (the MSMQ Information Store).

For security reasons, organizations should not install more than one Enterprise, although messaging between multiple MSMQ Enterprises is possible.


MSMQ Site is a collection of computers between which communication is fast and inexpensive. MSMQ site boundaries usually follow the physical location of the computers, such as all computers within a given building. Computers in an MSMQ site need not run the same network protocol and might not be able to communicate with each other directly.

MSMQ sites are connected to other sites through site links. MSMQ messages are routed through these site links based on cost values assigned to them by administrators.

MSMQ Routing Server

What is MSMQ Routing Server? A server running Microsoft Message Queue (MSMQ) Server that supports dynamic routing and intermediate store-and-forward message queuing. MSMQ Routing Servers enable computers using different network protocols to communicate.

MSMQ Routing Servers do not contain copies of the primary site controller (PSC) or primary enterprise controller (PEC) database. Before you can install any MSMQ Routing Servers in your network, you must first install a PEC.

Additional MSMQ Routing Servers

Since every PEC, PSC, and backup site controller (BSC) functions as an MSMQ Routing Server, the number of additional MSMQ Routing Servers you need depends on your MSMQ connectivity needs, namely

  • The number of dependent and independent clients
  • The number of MSMQ sites
  • The number of connected networks (CNs)
  • The overall MSMQ message volume

Be sure to install enough MSMQ Routing Servers so that messages can reach their target queues through different servers.

MSMQ Information Store (MQIS)?

MQIS is a distributed database for Microsoft Message Queue (MSMQ) Server that contains information about enterprise topology, enterprise settings, computer information, and queue information. MSMQ applications can query the MSMQ Information Store (MQIS) to locate queues and obtain queue properties. Copies of the MQIS are distributed among MSMQ computers in an enterprise.

In Microsoft Windows 2000 and above, this functionality has been moved to Active Directory.