現象
Microsoft SQL Server 2012 または SQL Server 2014 で、非クラスター化された列ストアインデックスがあるものとします。 クエリを並列モードで実行して列ストア機能を使用すると、クエリは、複雑な式で計算されたプローブ側の結果で、複数の結合列にインデックスを結合します。 この場合、正しくない結果セットが表示されることがあります。
原因
ハッシュ結合のプローブ側で式が最適化されている場合、SQL Server はハッシュ結合列で特定の順序を持つことになります。 この順序はクエリの最適化中に中断されることがあり、ハッシュ結合の不一致の原因となる可能性があります。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムをダウンロードしてインストールすることをお勧めします。
回避策
この問題を回避するには、以下のいずれかの方法を使用します。
-
クエリを実行するときは、MAXDOP =1 のクエリヒントを使います。
-
SQL Server 2014 にアップグレードします。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。