KB4563348 - 將 SQL Server 2017 Distributor 升級至 SQL Server 2019 之後,當訂閱者使用非預設連接埠時,異動推送複寫會失敗

套用到
SQL Server 2019 on Windows

症狀

假設您要使用未使用預設連接埠號碼 1433 的訂閱者將 SQL Server 2017 上執行的遠端散發器升級至 SQL Server 2019。 在此情況下,您可能會注意到散發代理程式在升級後無法連線到訂閱者。 此外,您可能會收到下列錯誤訊息:

Msg 20032, Level 16, State 1, Procedure ProcedureName, Line Number [批次開始行編號]

'ProcedureName' 未定義為 'ProcedureName' 的訂閱者。

Msg 14070, Level 16, State 1, Procedure ProcedureName, Line Number [批次開始行 LineNumber ]

無法更新發佈資料庫訂閱資料表。 無法變更訂閱狀態。

Msg 14057, Level 16, State 1, Procedure ProcedureName, Line Number [批次開始行 編號 ]

無法建立訂用帳戶。

Msg 20021, Level 16, State 1, Procedure ProcedureName, Line Number [批次開始行 編號 ]

找不到訂用帳戶。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

解決方式

此問題已在下列 SQL Server 累積更新中修正:

SQL Server 2019 累積更新 5

關於 SQL Server 的累積更新:

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

適用於 SQL Server 2019 的最新累積更新

其他資訊

如果您在將散發者升級至 SQL Server 2019 後刪除所有訂閱者,然後嘗試為同一訂閱者建立新訂閱,可能會失敗。 若要修正此行為,請刪除格式為 “servername,port” 的訂閱者的連結伺服器項目,並從 [分發] 中刪除格式為 “servername,port” 的訂閱者項目。[dbo]。[MSreplservers]。

參考資料

了解 Microsoft 用來說明軟體更新的術語。