我们有一个应用程序,它使用 Service Broker 从 SQL Server 接收通知。当我们未启用 SQL Always On 并且与单个数据库交互时,该应用程序运行良好。
最近我们有 SQL Always On。在我们从 SQL Node1 故障转移到另一个 SQL Node2 之后,我们不再从 SQL Node2 收到任何通知。在进行任何故障转移之前,即使正在使用 SQL Always On,我们也会收到通知。要再次收到通知,我们必须再次发送服务代理合同消息、特定服务和队列的等待和接收命令等,这相当于重新启动我们的服务。
我在网上查找了一下,发现此 MSDN 文章有关 SQL Always On 上的 Service Broker。我执行了上述文章这一部分中提到的步骤,尤其是第可用性组中的服务接收远程消息的要求。
上面文章中提到的第4步:确保 msdb 包含 AutoCreatedLocal 路由或到特定服务的路由。但是 AutoCreatedLocal 默认存在,所以我没有对第 4 步做任何事情。
但故障转移后我仍然没有收到任何通知。
您能否建议我遗漏了哪些步骤或未正确执行,或者需要注意的任何其他事项。