KB4016361 - 修正: SQL Server で可用性グループ フェールオーバーした後、Service Broker エンドポイント接続が閉じられない

適用先
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard

現象

Microsoft SQL Server の Always On 可用性グループ (AG) の一部として SQL Service Broker (SSB) アプリケーションがデプロイされており、AG リスナーを使用して接続する場合を想定しています。 AG フェールオーバー後、元のプライマリ レプリカ上の SSB 発信接続は開いたままになります。 これにより、データベースが読み取り専用またはアクセスできないため、SSB 受信メッセージが破棄されます。

そのため、SSB メッセージが伝送キューでスタックし、AG に複数のサービス Broker 接続が存在することがわかります。

解決策

SQL Server の累積的な更新プログラム情報:

この問題は、次の SQL Server の累積的な更新プログラムで修正されています。

SQL Server 2016 RTM の累積的な更新プログラム 6

SQL Server 2016 SP1 の累積的な更新プログラム 3

SQL Server 2014 SP2 の累積的な更新プログラム 5

SQL Server 2014 SP1 の累積的な更新プログラム 12

SQL Server の累積的な更新プログラムについて:

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。

SQL Server 2016 の最新の累積的な更新プログラム

SQL Server 2014 の最新の累積的な更新プログラム

注釈この修正プログラムにより、SQL Server はフェールオーバー中に古いプライマリ可用性グループ レプリカへの着信と発信の両方の SSB 接続を閉じます。そのため、この修正前に破棄されていったメッセージはキューに残り、新しいプライマリ レプリカとの接続が確立されるとすぐに、新しいプライマリ レプリカにリダイレクトされます。 メッセージのドロップや欠落がありません。

SQL Server の Service Pack 情報:

この問題は、次の SQL Server の Service Pack で修正されています。

Service Pack 4 for SQL Server 2012

Service Pack 2 (SQL Server 2016)

最新の Service Pack を入手する方法の詳細については、「SQL Server 2012 の最新の Service Pack を入手する方法」を参照してください

SQL Server の Service Pack について

SQL Server の Service Pack について

Service Pack は累積的であり、 最新の Service Pack には新しい修正プログラムと共に、それ以前の Service Pack に含まれていたすべての修正プログラムが含まれています。 マイクロソフトでは、最新の Service Pack と、その Service Pack 用の最新の累積的な更新プログラムを適用することをお勧めします。 最新の Service Pack をインストールする前に、以前の Service Pack をインストールする必要はありません。 最新の Service Pack と最新の累積的な更新プログラムの詳細については、次の資料の表 1 を参照してください。

SQL Server とそのコンポーネントのバージョン、エディション、および更新プログラムのレベルを確認する方法

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。