KB4338576 - 修正: SQL Server のセカンダリ レプリカでデータベース同期が正しく報告されなかった場合、プライマリ レプリカでトランザクションが遅延する

適用先
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 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

現象

同期コミット モード用に構成された 2 つのセカンダリ レプリカを持つ Always On 可用性グループを使用するとします。 セカンダリ レプリカの 1 つの可用性モードを同期コミット モードから非同期コミット モードに変更しても、そのセカンダリ レプリカ上の可用性データベースの同期状態が、プライマリ レプリカでは SYNCHRONIZING ではなく SYNCHRONIZED と報告されることがあります。 これにより、プライマリ レプリカでトランザクション遅延が発生します。

原因

この問題は、プライマリ レプリカが両方のセカンダリ レプリカからの進行状況メッセージを待機してコミット LSN を更新するために発生します。 これは、セカンダリ レプリカの 1 つが非同期コミット モード用に構成されている場合でも発生します。 非同期コミット レプリカは進行状況メッセージを送信する頻度が低いため、プライマリ レプリカでのコミット LSN の更新を遅延させます。 これにより、ユーザー トランザクションの更新が遅延します。

解決策

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

SQL Server 2017 の累積的な更新プログラム 10

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

SQL Server 2016 Service Pack 1 用の累積的な更新プログラム 10

SQL Server ビルドについて

SQL Server の新しいビルドには、以前のビルドであったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 ご使用のバージョンの SQL Server 用の最新ビルドをインストールすることをお勧めします。

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

SQL Server 2016 の最新ビルド

状態

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

参考資料

Microsoft がソフトウェア更新プログラムについて説明するために使用する 用語について説明します 。