
我們有一個應用程序,它使用 Service Broker 接收來自 SQL Server 的通知。當我們沒有啟用 SQL Always On 以及與單一資料庫互動時,應用程式可以正常運作。
最近我們有了 SQL Always On。當我們從 SQL Node1 故障轉移到另一個 SQL Node2 後,我們將停止從 SQL Node2 收到任何通知。在進行任何故障轉移之前,即使正在使用 SQL Always On,我們也會收到通知。要再次取得通知,我們必須再次發送服務代理合約訊息、特定服務和佇列的等待和接收命令等,相當於重新啟動我們的服務。
我上網查了一下,發現這篇關於 SQL Always On 上的 Service Broker 的 MSDN 文章。我執行了上面文章的這一部分中提到的步驟,特別是在可用性群組中的服務接收遠端訊息的要求。
上面文章提到的第四步:確保 msdb 包含 AutoCreatedLocal 路由或到特定服務的路由。但預設情況下 AutoCreatedLocal 是存在的,所以我沒有對第四步驟執行任何操作。
但故障轉移後我仍然沒有收到任何通知。
您能否建議我遺漏或未正確執行哪些步驟,或任何其他需要注意的項目。