PRB: BizTalk: MSMQ Receive Functions May Experience Data Loss During Catastrophic Failure (296797)



The information in this article applies to:

  • Microsoft BizTalk Server 2000

This article was previously published under Q296797

SYMPTOMS

BizTalk Server uses receive functions to automate the retrieval of messages from Message Queuing (MSMQ) queues. When BizTalk Server attempts to retrieve messages from MSMQ queues, it attempts to handle the retrieval within a transaction to make sure that no data is lost. However, if a catastrophic failure occurs during the moments that BizTalk Server receive functions are attempting to retrieve messages from MSMQ queues, there may be some data loss.

CAUSE

The specific problem of data loss occurs when BizTalk Server is configured to retrieve messages from public MSMQ queues by using the direct format name.

BizTalk Server requires that the naming of queues be performed by using a proper format name. The direct format name for specifying queues assumes that the application, BizTalk Server, knows all the information that it needs to properly retrieve messages from the queue. When BizTalk Server attempts to query the queue for its properties by using the direct format name, (particularly to find out if the queue is transactional), MSMQ will respond with False, regardless of whether the queue is transactional or not. This means that messages will not be retrieved within a transaction, and when interacting with non-transactional queues, data loss can occur.

RESOLUTION

In most situations, using the direct format name to retrieve messages from MSMQ queues is not a problem. In situations where BizTalk Server will be retrieving data from public MSMQ queues that may or may not be transactional, however, it is recommended that you use the public format name.

The following is the general format used to open a public queue and its associated queue journal:

PUBLIC=QueueGUID*Public queues
PUBLIC=QueueGUID;JOURNAL*Public queue journals

STATUS

This behavior is by design.

MORE INFORMATION

For more information about public, private, or direct format names for MSMQ queues, please visit the following Microsoft Web site:

Modification Type:MajorLast Reviewed:10/22/2003
Keywords:kbprb KB296797