When you receive a message, the MSMQT adapter starts a transaction to process the message. The MSMQT adapter sends an acknowledgement message and an order acknowledgement message to the Message Queuing client. If BizTalk Server cannot commit the transaction because connectivity issues occur with the database, the transaction is rolled back. However, because the order acknowledgement has already been sent, the client will increment the sequence number that is used to track transactions. This behavior may cause the MSMQT adapter and the Message Queuing client not to be synchronized.
For example, the Message Queuing client sends a message that has a sequence number of 100. The Message Queuing client increments the sequence number to 101 when it receives the order acknowledgement. Therefore, the next message that the Message Queuing client sends has a sequence number of 101. However, if BizTalk Server cannot commit the transaction that has the sequence number of 100 to the database, BizTalk Server expects the next transaction to have a sequence number of 100. This behavior causes the MSMQT adapter to reject subsequent messages from the Message Queuing client that have a sequence number of 101 or more.