SQL Server Service Broker

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

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

Service Broker 文档在哪里?

Service Broker 的参考文档位于 SQL Server 2012 文档中。 本参考文档包含以下各节:

有关 Service Broker 概念以及开发和管理任务,请参阅以前发布的文档。 由于 SQL Server 2012 的 Service Broker 中的更改数量少,因此未在 SQL Server 2012 文档中重新生成该文档。

SQL Server 2012 中的 Service Broker 有哪些新增功能?

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

通过支持多个会话句柄,扩展了 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 支持

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