SQL Always On 中的故障轉移後佇列上沒有收到任何訊息

SQL Always On 中的故障轉移後佇列上沒有收到任何訊息

我們有一個應用程序,它使用 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 是存在的,所以我沒有對第四步驟執行任何操作。

但故障轉移後我仍然沒有收到任何通知。

您能否建議我遺漏或未正確執行哪些步驟,或任何其他需要注意的項目。

相關內容