KB4101554 - 修正: ヒープ テーブルを含む可用性グループのセカンダリ レプリカで並列やり直しを実行すると、ランタイム アサート ダンプが生成されるか、アクセス違反エラーでSQL Serverがクラッシュする

適用先
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2016 Service Pack 1 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)

現象

ヒープ テーブルを含む Always On 可用性グループ (AG) を使用するとします。 SQL Server 2016 以降では、やり直し操作用の並列スレッドがセカンダリ レプリカで使用されます。 この場合、ヒープ テーブルのやり直し操作によってランタイム アサート ダンプが生成されたり、場合によってはアクセス違反エラーで SQL Server がクラッシュしたりすることがあります。

原因

この問題は、次の記事に記載されている累積的な更新プログラムを適用した後に発生します。

4018866 修正: SQL Server 2014 以前のバージョンと比較すると、並列やり直しにより SQL Server 2016 のメモリ使用量が高くなります

解決策

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

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

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

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

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

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

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

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

回避策

この問題を回避するには、トレース フラグ 3459 を有効にして並列やり直しを無効にします。

状態

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

参考資料

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