我也在我的博客上发布了这个问题:http : //www.sqldiablo.com/2012/04/15/service-broker-alwayson-availability-groups-odd-transmission-queue-behavior/。
在过去的几个月里,我一直在从事一个项目,该项目将利用 Service Broker 和 AlwaysOn 可用性组来实现我工作的公司的一些 HA 和 DR 目标(更多信息:)http://www.sqldiablo.com/service-broker-replication/。就在最近,我能够在我的开发实验室中实施完整的解决方案,并将我们网站的一个实例指向它。当我们在我们的数据库和网站中解决一些问题以使两者与我的 Service Broker Replication 项目正常工作时,我开始注意到 Service Broker 与 AlwaysOn Availability Groups 一起使用时的一些奇怪行为,我想在博客中介绍它尝试看看其他人是否已经看到了这个问题,并且可能知道如何解决它。
我有一台运行 6 个 Windows Server 2008 R2 VM (BTDevSQLVM1-BTDevSQLVM6) 的 Hyper-V 主机。VM 分组为具有节点和文件共享仲裁的 2 节点 WSFC。我已经在每个 VM 上安装了独立的 SQL 2012 Developer Edition 实例,并在每个集群(SBReplDistrib、SBRepl1 和 SBRepl2)上创建了一个带有侦听器的可用性组。
出于本博文的目的,我将重点介绍 SBRepl1 和 SBReplDistrib 之间的通信。下图显示了对话每一方的 Service Broker 对象:
(我是新手,还不能发布图片,所以请在上面的 URL 上查看我的博客以获取图片)
Service Broker 端点和路由是根据这篇 MSDN 文章设置的。MSDB 中的 SBRepl_Receive 路由用于本地服务器的服务(SBReplDistrib 上的//SBReplDistrib/SBRepl,SBRepl1 上的//SBRepl1/SBRepl),并指向本地实例。SBRepl1 上的 SBRepl_Send 路由将服务 …
sql-server service-broker sql-server-2012 availability-groups