Applies ToSQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web

Microsoft 將 Microsoft SQL Server 2008 R2 Service Pack 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 (修正版本)所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

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 SQL Server 2008 R2 Service Pack 1 的累積更新套件8注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 Service Pack 1 修正版本中所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

因應措施

若要解決此問題,請減少 DOP 編號,以減少遞迴散列連接作業。 不過,這可能會導致查詢最佳化工具使用串列執行,而串列執行的成本較高。

其他相關資訊

如需有關散列連接的詳細資訊,請移至下列 Microsoft 開發人員網路(MSDN)網站:

瞭解雜湊聯接如需有關 SQL server 記憶體授與的詳細資訊,請移至下列 MSDN 博客網站:

瞭解 SQL Server 記憶體授與

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。