SQL Server 2008 R2 SP2 適用後のクエリ動作について

現象
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)”  オペレータを追加できるようになった一方で、本オペレータが追加されることに伴い、クエリのパフォーマンスに影響を及ぼす可能性があります。
解決方法
回避策
状況
詳細
SQL Server 2008 R2 SP2 適用後のクエリ動作についてSQL Server 2008 R2 SP2 適用後のクエリ動作について

Halloween Protection (HP) についてHalloween Protection (HP) について

2499023  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
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2872597 - 最終更新日: 09/29/2016 15:04:00 - リビジョン: 3.0

Microsoft SQL Server 2008 R2 Service Pack 2

  • KB2872597
フィードバック