Developers should understand that SQL Service Broker and Microsoft Message Queuing are very different technologies. Although they are both queuing systems, MSMQ is not natively supported in SQL Server, but is instead implemented using .NET or COM code. MSMQ can send and receive messages between a variety of application platforms.
SSB queues, on the other hand, can be implemented entirely in T-SQL, without the need for external application code. Service Broker, unlike MSMQ, can only send messages to and receive messages from SQL Server—either local or remote databases.
Each of these technologies is useful for different purposes, but perhaps the most important distinction is that SQL Service Broker allows data-driven queues to be implemented without the use of external application code—keeping data logic close to the data, where it belongs.
SQL Server 2005 developers that need to access MSMQ from within SQL Server can use CLR routines that make use of the System.Messaging namespace.
Do you have comments on this Ask the Expert Q&A? Let us know.
Dig Deeper on Microsoft SQL Server 2005
Related Q&A from Adam Machanic
SQL Server 2005 and T-SQL do have differences. The advantages and disadvantages would depend user environment as described by SQL Server 2005 expert... Continue Reading
SQL Server expert Adam Machanic highlights the differences to consider when weighing the move to SQL Server 2005 Enterprise and Standard Edtions. Continue Reading
Writing a generic audit trail trigger in SQL Server to keep track of inserts, deletes, and updates within a table is explained in this expert ... Continue Reading