在许多情况下,消息一到达队列就对它们进行处理,这种做法是合适的。在Service Broker应用程序中,你可以指定一个存储过程或者外部应用程序,只要有消息到达一个队列,就立即执行它。在某种程度上,它就像队列中的异步触发器。
从SQL Server 2005 开始Service Broker就支持internal activation,也就是当消息队列有消息到达的时候可以通过调用存储过程。SQL Server 2008开始支持External Activation,也就是在消息到达消息队列的时候,消息可以通过外部应用程序进行处理。
Microsoft SQL Server Community Samples: Service Broker http://sqlsrvsrvcbrkr.codeplex.com/
SQL Server 2008 Service Broker http://blogs.technet.com/b/josebda/archive/2009/03/31/sql-server-2008-service-broker.aspx