Service Broker 为SQL Server提供消息队列,这样就可以从数据库中发送异步事务性消息到队列,在队列中这些消息将会被其他服务获取和处理,该服务可能运行在其他数据库、或服务器上。另外,对于异步程序,发送一条消息,并且应用程序不需要等待原始消息已被接收、或处理的确认信息,就可以处理其他相关的任务。一旦完成特定任务,两个Service Broker 服务之间的会话就可以显式的结束。
1、单数据库会话
2、数据库之间会话
3、实例之间会话
4、实现内部激活
实例:单数据库会话
1、创建会话对象
--第一步:启动服务代理
USE master;
GO
ALTER DATABASE JZLY
SET ENABLE_BROKER; --启用 Service Broker
GO
USE JZLY;
GO
--第二步:创建消息类型为XML
CREATE MESSAGE TYPE
[//AWDB/1DBSample/RequestMessage] --Service Broker 对象的名称
VALIDATION = WELL_FORMED_XML; --消息类型都指定 Service Broker 将只验证消息是否是格式正确