現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2016 と2017システムのデータベース互換性レベル120またはそれ以降のレベルに対応する、 基数推定(CE) 構成を使用している。
-
検索述語を含むクエリを実行します。
-
このクエリでは、 statistics オブジェクトに格納されているRANGE_HI_KEYの最小値未満の値が検索されます。 または、クエリによって、 RANGE_HI_KEY の最大値よりも大きい値が検索されます。
このシナリオでは、クエリオプティマイザーによって行数が推定されています。 これにより、最適とは言えないクエリプランが選択され、パフォーマンスが低下する可能性があります。
解決方法
この問題の修正プログラムは、SQL Server の次の累積的な更新プログラムに含まれています。
SQL Server 2016 SP1 の累積更新プログラム8
SQL Server 2016 の累積更新プログラム2 注: この更新プログラムをインストールした後、この修正プログラムを有効にするには、トレースフラグ4199を有効にする必要があります。 トレースフラグ4199を有効にするには、Microsoft Developer Network (MSDN) web サイトの トレースフラグ (transact-sql) トピックを参照してください。
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft でソフトウェアの更新について説明する 用語 について説明します。