現象

SQL Server 2008 R2 SP2 (SQL Server 2008 R2 SP1 CU2 以降) を適用後、以下の条件に当てはまるクエリが実行されたと仮定します。

-       UPDATE の WHERE句に指定した条件と同じ値を、SET句に指定している
-       UPDATE の SET句に指定された列が、インデックスのキー列に含まれている
-       UPDATE の SET句に指定された列は、外部キーとして別テーブルを参照している

この場合、SQL Server 2008 R2 SP1 以前と比較し、クエリのパフォーマンスに影響を及ぼす可能性がございます。

原因

SQL Server 2008 R2 SP1 では、クエリの実行プラン作成時、特定の条件下において、本来クエリ完了までに正しく整合性を保持するために必要となる “Table Spool (Eager Spool)”  オペレータが使用されず、誤ったクエリ結果を返すという問題がございました。

SQL Server 2008 R2 SP2 (SQL Server 2008 R2 SP1 CU2 以降) にはこの問題への対処を行うための修正が含まれております。

この修正により、本来  “Table Spool (Eager Spool)”  オペレータを追加する必要があったクエリに、正しく “Table Spool (Eager Spool)”  オペレータを追加できるようになった一方で、本オペレータが追加されることに伴い、クエリのパフォーマンスに影響を及ぼす可能性があります。

詳細





  FIX: Incorrect results when a complex update query uses the JOIN operator in an execution plan in SQL Server 2008 or in SQL Server 2008 R2

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

翻訳品質にどの程度満足していますか?

どのような要因がお客様の操作性に影響しましたか?

その他にご意見はありますか?(省略可能)

フィードバックをお送りいただきありがとうございます!

×