現象
次のような状況で問題が発生します。
-
パラメーター化されたスカラーユーザー定義関数が含まれている述語を含むクエリがあります。
-
入力パラメーター値には複数の組み合わせがあり、このユーザー定義関数で同じ結果が生成される可能性があります。
-
SQL Server では、データベース互換モードが120に設定されている新しい基数の推定が使用されます。
このシナリオでは、クエリを実行したときに、クエリプランのユーザー定義関数を含む述語の行数が正しく推定されないため、クエリのパフォーマンスが低下します。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2014 Service Pack 1 の累積更新プログラム6この累積的な更新プログラムパッケージをインストールした後、トレースフラグ4199を有効にする必要があります。 これを行うには、 -T4199 スタートアップパラメーターを追加します。 または、特定のセッションに対して dbcc traceon (4199) ステートメントを使用することができます。
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft でソフトウェアの更新について説明する 用語 について説明します。