This documentation is archived and is not being maintained.

Handling Transact-SQL Errors (Service Broker)

Two general principles apply when handling Transact-SQL errors in a Service Broker application.

First, an application should not permanently remove a message from a queue without acting upon the message. In most cases, this means that an application should always receive a message within a transaction.

Second, an application should always hold a lock on a conversation group before updating the state of the conversation group or the state of any message in the conversation group. When an application receives a message within a transaction, the application automatically locks the conversation group.