現象
Microsoft SQL Server 2012 または SQL Server 2014 に非クラスター化列ストア インデックスがあることを想定しています。 列ストア機能を使用するために並列モードでクエリを実行すると、クエリは、複数の結合列のインデックスを、複雑な式で計算されたプローブ側の結果と結合します。 この状況では、誤った結果セットが発生する可能性があります。
原因
式がハッシュ結合のプローブ側で最適化されている場合、SQL Server はハッシュ結合列の特定の順序を想定します。 この順序はクエリの最適化中に壊れる可能性があり、ハッシュ結合の不一致を引き起こす可能性があります。
解決策
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
- SQL Server 2014 SP1 の累積的な更新プログラム 3
- SQL Server 2014 の累積的な更新プログラム 10
- SQL Server 2012 SP2 の累積的な更新プログラム 8
推奨事項: SQL Server の最新の累積的な更新プログラムをインストールする
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムをダウンロードしてインストールすることをお勧めします。
- SQL Server 2014 SP1 の最新の累積的な更新プログラム
- SQL Server 2014 の最新の累積的な更新プログラム
- SQL Server 2012 SP2 の最新の累積的な更新プログラム
回避策
この問題を回避するには、以下のいずれかの方法を使用します。
- クエリを実行するときは、MAXDOP=1 クエリ ヒントを使用します。
- SQL Server 2014 にアップグレードします。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。