Service Broker 要点2008-04-18 09:12:21 来源:中国自学编程网 作者:佚名 点击:
--Service Broker 简介 Service Broker是使SQL Server成为一个构建可靠的分布式异步应用程序平台。 ![]() --Service Broker 简介 written that receives messages from the queue and executes the contents of the message by passing it to a SQL EXEC statement.
A typical example of this is the night processing for a data warehouse. --适合场景 Service Broker 和 MSMQ(Microsoft Message Queue ) MSMQ消息最大可以是4MB,而Service Broker消息最大可以是2GB。 MSMQ提供快速的,可靠,事务性的消息风格,而Service Broker仅提供事务性。 MSMQ可以在任意两个Windows应用程序之间通讯。而Service Broker只能在连接到SQL Server的应用程序之间通讯。 Service Broker 和 BizTalk BizTalk可以操作消息的内容、映射消息格式、管理消息处理、管理工作流、管理状态、 通过多个不同的传送器发送消息等。 Service Broker 和 WCF(Windows Communication Foundation) WCF支持在Windows和任何实现WCF所支持的标准协议的操作系统之间通过多种基于标准的协议完成多种形式的消息处理。 --会话 对话会话(dialog conversation )是两个端点之间的可靠的、顺序的、双向的消息传递。 独白会话(monolog conversation )是从发送端到多个接收端的可靠的、顺序的消息流;是从一个发送端到一批接收端的一组对话。 此功能SQL Server 2005中尚未实现。 Service Broker三个特征:可靠的、顺序的和异步的。 --消息(Messages) Service Broker由消息头和消息体组成。、 消息体的数据类型是VARBINARY(MAX),它最大可以包含2GB的任何可以转换为VARBINARY(MAX)的SQL Server数据。 注:消息类型名称和消息头中其它的Service Broker元数据都是使用二进制排序规则。因此,名称必须完全匹配,而且区分大小写和重音。 建议,采用复制,防止出错。 CREATE MESSAGE TYPE message_type_name [ VALIDATION = { NONE | EMPTY | WELL_FORMED_XML | VALID_XML WITH SCHEMA COLLECTION schema_collection_name } ] VALIDATION 指定 Service Broker 对此类型消息的消息正文的验证方式。如果未指定此子句,则验证默认为 NONE。 NONE 不执行验证。消息正文可以包含任何数据,也可以为 NULL。 EMPTY 消息正文必须为 NULL。例如:不需要携带任何数据的“SUCESS”类型的消息。 WELL_FORMED_XML 消息正文必须包含采用格式正确的 XML。 VALID_XML WITH SCHEMA COLLECTION schema_collection_name
|