SQL Server Service Broker

SQL Server Service Broker 为 SQL Server 数据库引擎中的消息传递和队列应用程序提供原生支持。 这样,开发人员可以更轻松地创建使用数据库引擎组件在不同数据库之间通信的复杂应用程序。 开发人员可以使用 Service Broker 轻松生成分布式可靠应用程序。

使用 Service Broker 的应用程序开发人员可以在多个数据库之间分配数据工作负载,而无需对复杂的通信和消息传送内部进行编程。 这减少了开发和测试工作,因为 Service Broker 处理会话上下文中的通信路径。 它还可提高性能。 例如,支持网站的前端数据库可以记录信息并将进程密集型任务发送到后端数据库中的队列。 Service Broker 可确保在事务上下文中管理所有任务,以确保可靠性和技术一致性。

Service Broker 的文档位于何处?

SERVICE Broker 的参考文档包含在 SQL Server 2014 文档中。 此参考文档包含以下部分:

请参阅之前发布的文档以了解 Service Broker 的概念,以及相关的开发和管理任务。 由于 SQL Server 2014 中的 Service Broker 中的少量更改,本文档不会在 SQL Server 2014 文档中重现。

Service Broker 中的新增功能

SQL Server 2014 中未引入任何重大更改。 SQL Server 2012 中引入了以下更改。

消息可以发送到多个目标服务(多播)

SEND (Transact-SQL) 语句的语法已扩展为通过支持多个会话句柄来启用多播。

队列显示消息入队时间

队列有一个新列 ,message_enqueue_time,显示消息在队列中的时长。

可以禁用病毒消息处理

CREATE QUEUE (Transact-SQL)ALTER QUEUE (Transact-SQL) 语句现在可以通过添加子句POISON_MESSAGE_HANDLING (STATUS = ON | OFF)来启用或禁用有害消息处理。 目录视图 sys.service_queues 现在具有列 is_poison_message_handling_enabled,以指示有害消息处理是否启用。

Service Broker 中的 AlwaysOn 支持

有关详细信息,请参阅具有 AlwaysOn 可用性组的 Service Broker(SQL Server)。