徵兆
假設您將執行 SQL Server 2017 的遠端代理商升級至 SQL Server 2019,且任何訂閱者未使用預設埠號碼 1433。 在這種情況下,您可能會注意到散發代理程式在升級之後無法連線到訂閱者。 此外,您可能會收到下列錯誤訊息:
Msg 20032、層級 16、狀態 1、Procedure ProcedureName、 Line LineNumber [Batch Start Line LineNumber ]
「ProcedureName」未定義為「ProcedureName」的訂閱者。
Msg 14070、層級 16、狀態 1、Procedure ProcedureName、 Line LineNumber [Batch Start Line LineNumber ]
無法更新通訊資料庫訂閱資料表。 訂閱狀態無法變更。
Msg 14057、層級 16、狀態 1、Procedure ProcedureName、 LineNumber [Batch Start Line LineNumber ]
無法建立訂閱。
Msg 20021、層級 16、狀態 1、Procedure ProcedureName、 Line LineNumber [Batch Start Line LineNumber ]
找不到訂閱。
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
解決方案
此問題已在下列SQL Server累積更新中修正:
關於SQL Server的累積更新:
每個SQL Server的新累積更新都包含所有 Hotfix 以及先前累積更新隨附的所有安全性修正。 查看SQL Server的最新累積更新:
其他相關資訊
如果您在將代理商升級到 SQL Server 2019 之後移除所有訂閱者,然後嘗試建立新訂閱給相同的訂閱者,則可能會失敗。 若要修正此行為,請刪除「伺服器名稱、埠」格式的訂閱者連結的伺服器專案,然後從 [發佈] 刪除訂閱者以「伺服器名稱,埠」格式所輸入的專案。[dbo]。[MSreplservers]。
參考
了解 Microsoft 用來說明軟體更新的術語。