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
Migrating to SQL Server 2005 from SQL Server 2000 is a hefty feat when compared to upgrading from 7.0 to SQL Server 2000. Site expert Adam Machanic ... Continue Reading
Multiple readers can sometimes read the same row simultaneously causing a false result. SQL Server 2005 expert Adam Machanic suggests modifying the ... Continue Reading
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