KB2476322-FIX: CHANGETABLE 関数を使用する一般的なテーブル式ベースのクエリが、SQL Server 2008 Service Pack 1 または SQL Server 2008 R2 で非常に遅く動作する

Microsoft は、Microsoft SQL Server 2008 または SQL 2008 R2 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 または SQL 2008 R2 の修正プログラムに含まれていたすべての修正プログラムとセキュリティの修正プログラムが含まれています。

現象

変更の追跡が有効になっている Microsoft SQL Server 2008 または SQL Server 2008 R2 テーブルに対して CHANGETABLE 関数を使用する共通テーブル式 (CTE) ベースのクエリを実行します。 予期せず、わずかな行しか返されない場合でも、クエリの実行速度が非常に遅くなります。

原因

この問題は、SQL Server によって効率の低いクエリプランが選択されているために発生します。 これにより、多くの読み取りが実行され、結果が返されます。

解決方法

この問題の修正プログラムを有効にするには、 -T8295 SQL Server トレースフラグを有効にする必要があります。このトレースフラグを有効にする前に、パフォーマンスの問題を調査する必要があることに注意してください。 Microsoft サポートサービスによって指示された場合を除き、このトレースフラグを有効にすることはお勧めしません。また、変更の追跡クエリのパフォーマンスが改善され、システムのパフォーマンスに影響が及ぶこともありません。

累積的な更新プログラムの情報

SQL Server 2008 R2 Service Pack 1

この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積更新プログラム1で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2544793 SQL Server 2008 R2 Service Pack 1 の累積的な更新プログラムパッケージ1注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド

SQL Server 2008 Service Pack 2

この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積更新プログラム4で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2527180 SQL Server 2008 Service Pack 2 の累積更新プログラムパッケージ4注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2402659 SQL Server 2008 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service Pack 2 をインストールするには、SQL Server 2008 Service Pack 2 の修正プログラムを適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。この問題の修正プログラムは、累積的な更新プログラムパッケージ13で最初にリリースされました。SQL Server 2008 Service Pack 1 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2497673 SQL Server 2008 Service Pack 1 の累積更新プログラムパッケージ13注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

956909 SQL Server 2008 がリリースされた後にリリースされた SQL Server 2008 ビルド

SQL Server 2008 R2

この問題の修正プログラムは、累積的な更新プログラム7で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2507770 SQL Server 2008 R2 の累積更新プログラムパッケージ7 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

詳細情報

変更されるファイルの詳細について、およびこの Microsoft サポート技術情報の記事で説明されている修正プログラムを含む累積的な更新プログラムパッケージを適用するための前提条件については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2497673 SQL Server 2008 Service Pack 1 の累積更新プログラムパッケージ13

参照情報

SQL Server 2008 のリリース後に使用できるビルドの一覧の詳細については、次の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

956909 SQL Server 2008 がリリースされた後にリリースされた SQL Server 2008 ビルドSQL Server の段階的サービスモデルの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

935897 SQL Server チームが段階的なサービスモデルを利用して、報告された問題の修正プログラムを提供するSQL Server 更新プログラムの名前付けスキーマの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

822499 Microsoft SQL Server ソフトウェア更新プログラムパッケージの新しい名前付けスキーマソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明

ヘルプを表示

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

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

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

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×