現象
既定のポート番号 1433 を使用していないサブスクライバーを使用して、SQL Server 2017 で実行されているリモート ディストリビューターを SQL Server 2019 にアップグレードすることを想定しています。 このような状況では、アップグレード後にディストリビューション エージェントがサブスクライバーへの接続に失敗する場合があります。 さらに、次のエラー メッセージが表示される場合があります。
Msg 20032、レベル 16、状態 1、 Procedure ProcedureName、 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、 LineNumber [Batch Start Line LineNumber ]
サブスクリプションが見つかりませんでした。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
解決方法
この問題は、SQL Serverの次の累積的な更新プログラムで修正されています。
SQL Server 2019 の累積的な更新プログラム 5
SQL Serverの累積的な更新プログラムについて:
SQL Serverの各新しい累積的な更新プログラムには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれていたすべてのセキュリティ修正プログラムが含まれています。 SQL Serverの最新の累積的な更新プログラムを確認してください。
詳細情報
ディストリビューターを 2019 SQL Serverにアップグレードした後で、すべてのサブスクライバーを削除した後、同じサブスクライバーに新しいサブスクリプションを作成しようとすると、失敗する可能性があります。 この動作を修正するには、サブスクライバーのリンク サーバー エントリを "servername,port" という形式で削除し、サブスクライバーのエントリを "servername,port" という形式で [distribution] から削除します。[dbo]。[MSreplservers]。
関連情報
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。