RD Connection Broker HA 容錯移轉後無法正常分配新工作階段

Mei Huang 80 信譽點數
2026-07-31T02:02:16.6433333+00:00

我們的 RD Connection Broker 採用 HA 模式並使用 SQL 資料庫,平時運作正常,但只要 Broker 發生容錯移轉,新建立的 RDP 連線就無法正常分配,即使兩台 Broker 都在線,SQL 資料庫看起來也沒有問題。

我們已檢查基本的 HA 設定、確認 SQL 連線正常,且資料庫可正常存取。現有工作階段仍可繼續使用,但新的連線無法正確導向。重新啟動 Broker 服務後可暫時恢復,但下次容錯移轉後問題又會再次發生。

請問是否有建議的檢查流程,可用來驗證 Broker 與 SQL 資料庫的連線、HA 設定,以及其他可能導致容錯移轉後無法正常分配新工作階段的原因?

Windows for business | Windows 365 商務版
0 則留言 沒有留言

1 個回答

排序依據: 最實用
  1. Daphne Huynh (WICLOUD CORPORATION) 2,540 信譽點數 Microsoft 外部員工 仲裁者
    2026-07-31T07:21:53.3866667+00:00

    歡迎來到 Microsoft Q&A!

    感謝您提供詳細資訊。

    如果現有工作階段仍可正常使用,但在 RD Connection Broker 容錯移轉 (failover) 後無法正確分配新的連線,通常表示目前作用中的 Broker 未能正確處理來自 HA 資料庫的工作階段路由資訊,即使基本的 SQL 連線看起來運作正常。

    針對此問題,建議您檢查以下幾個方面:

    1. 驗證 RD Connection Broker 與 SQL 資料庫之間的通訊

    在 HA 部署中,所有 Broker 都依賴共用 SQL 資料庫來儲存工作階段狀態與連線路由資訊。請注意,如果 Connection Broker 無法正確與 SQL 資料庫通訊,工作階段分配與負載平衡作業可能會失敗。

    請檢查:

    • 從每個 Broker 驗證 SQL 連線: Test-NetConnection <SQLServer> -Port 1433
    • 確認 ODBC 驅動程式版本與連線字串設定相符。
    • 確認 Broker 電腦帳戶具有適當的 SQL 權限。
    • 檢查兩台 Broker 與 SQL Server 上的事件檢視器 (Event Viewer) ,查看是否有資料庫連線相關錯誤。

    2. 檢閱 RD Connection Broker HA 設定

    請確認兩個 Broker 使用相同的高可用性設定:

    • 確認 Client Access Name(Broker DNS 名稱) 設定正確。
    • 驗證 HA 設定中的 SQL 連線字串是否正確。
    • 確認兩台 Broker 均正確顯示在 RDS 部署中。
    • 確認 Session Host 與用戶端皆能正確解析 Broker 叢集名稱的 DNS。

    3. 檢查 Broker 與 Session Broker 事件記錄

    在重現問題後,請收集以下記錄:

    Applications and Services Logs

    Microsoft-Windows-TerminalServices-SessionBroker Microsoft-Windows-TerminalServices-RemoteConnectionManager Microsoft-Windows-TerminalServices-LocalSessionManager

    Application 與 System Logs

    請特別留意容錯移轉後立即出現的錯誤,例如:

    • 資料庫存取失敗
    • 工作階段重新導向失敗
    • 端點註冊失敗

    4. 驗證 Session Host 註冊狀態

    作用中的 Broker 必須持續與所有 RD Session Host 保持通訊。

    在容錯移轉後,請確認:

    • Session Host 仍然成功註冊至目前作用中的 Broker。
    • Session Host 能夠解析並連線至 Broker 叢集名稱。
    • 檢查 Session Broker 事件記錄中是否有端點註冊失敗的相關事件。

    請注意,Session Host 與其他 RDS 元件都依賴 Broker 的正常連線來分配新的工作階段。

    5. 驗證負載平衡與 DNS 設定

    對於 HA 部署,建議使用正確的負載平衡機制或 DNS Round Robin 設定來管理 Connection Broker。

    不正確的 DNS 記錄或過期的 DNS 快取可能導致用戶端被導向已無法正確處理要求的 Broker。

    請確認:

    • Broker 叢集的 DNS 記錄設定正確。
    • 負載平衡器健康狀態探測(Health Probe)正常運作(如適用)。
    • 用戶端與 Session Host 的名稱解析結果正確。

    6. 檢查版本或設定不一致的情況

    請確認:

    • 兩台 Connection Broker 執行相同版本的 Windows Server 及相同的累積更新。
    • 所有 Broker 上的 RDMS 與 Tssdis(Connection Broker)服務運作正常。
    • 整個 RDS 部署中的憑證設定一致。

    7. 在容錯移轉期間收集診斷資料

    如果重新啟動 Broker 服務後問題會暫時消失,建議在下一次容錯移轉發生後,先收集記錄,再重新啟動服務。

    這有助於判斷是否存在以下情況:

    • Broker 與 SQL 之間的連線中斷。
    • Session Host 的註冊資訊變成過期或失效。
    • 作用中的 Broker 停止處理連線路由要求。

    此外,建議在故障發生期間收集兩台 Broker 的 Microsoft-Windows-TerminalServices-SessionBroker 記錄,以及任何相關的 SQL 錯誤訊息。

    重點檢查項目

    最重要的驗證項目包括:

    1. 兩台 Connection Broker 的 SQL 連線能力與相關權限。
    2. HA 設定的一致性(Client Access Name、Connection String、DNS)。
    3. Session Host 是否已正確註冊至作用中的 Broker。
    4. 容錯移轉後立即收集的 Session Broker 作業記錄。
    5. Broker 角色切換期間負載平衡器與 DNS 的行為。

    如果您能提供以下資訊:

    • Windows Server 版本
    • HA 架構(DNS Round Robin 或 Load Balancer)
    • 容錯移轉後出現的 SessionBroker Event ID

    將有助於進一步縮小問題範圍並找出根本原因。

    參考資料:設定 RD 連線代理人以取得高可用性 | Microsoft Learn

    希望以上資訊能協助您釐清問題。如果此回覆對您有所幫助,歡迎按一下 Accept Answer。

    感謝您選擇 Microsoft Q&A 提出您的問題。

    此回答有幫助嗎?

    0 則留言 沒有留言

您的回答

答案可由問題作者標示為「已接受」,而由仲裁者標示為「推薦」,這可協助使用者知道答案解決了作者的問題。