Microsoft は、Microsoft SQL Server 2008 R2 Service Pack 1 の修正プログラムを1つのダウンロード可能なファイルとして配布します。 修正プログラムは累積的であるため、各新しいリリースには、以前の SQL Server 2008 R2 Service Pack 1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。
現象
Microsoft SQL Server 2008 から Microsoft SQL Server 2008 R2 にアップグレードした後、SQL Server 2008 R2 のクエリ実行プランで並列処理を使うクエリを実行すると、パフォーマンスが低下することがあります。 注:クエリプランを確認すると、SQL Server 2008 の場合よりも再帰的なハッシュ結合操作が行われていることがわかります。 さらに、クエリで使用される並列処理 (DOP) 数が多いほど、クエリプランで使用される再帰ハッシュ結合操作の数が大きくなります。
原因
この問題は、基数の見積もりの一部が変更されたために発生します。 実際のメモリ使用量がメモリ制限を超えている場合、基数の見積もりのわずかな変更によって、液体がこぼれてしまう可能性があります。注:この問題は、クエリでより大きな DOP 番号を使用した場合によく発生します。
解決方法
この修正プログラムを適用した後、メモリの可用性に依存するハッシュ結合パーティションカウントは制限されます。 ただし、この修正プログラムでは、すべての状況でこの問題を解決することはできません。
累積的な更新プログラムの情報
SQL Server 2008 R2 Service Pack 2
この問題の修正プログラムは、累積的な更新プログラム3で最初にリリースされました。この累積的な更新プログラムパッケージを SQL Server 2008 R2 Service Pack 2 で入手する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2754552 SQL Server 2008 R2 Service Pack 2 の累積更新プログラムパッケージ3 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 Service Pack 2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2730301 SQL Server 2008 R2 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
SQL Server 2008 R2 Service Pack 1
この問題の修正プログラムは、累積的な更新プログラム8で最初にリリースされました。SQL Server 2008 R2 Service Pack 1 用の累積更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
2723743 累積的な更新プログラムパッケージ 8 (SQL Server 2008 R2 Service Pack 1)注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 Service Pack 1 修正プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
回避策
この問題を回避するには、再帰ハッシュ結合操作を減らすために DOP の数を減らします。 ただし、クエリオプティマイザーが直列実行を使うことが原因で、シリアル実行のコストが高くなることがあります。
詳細情報
ハッシュ結合の詳細については、次の Microsoft 開発者ネットワーク (MSDN) web サイトを参照してください。
ハッシュ結合についてSQL server メモリ付与の詳細については、次の MSDN ブログ web サイトを参照してください。