Applies ToSQL Server 2008 Service Pack 3 SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Web SQL Server 2008 Standard Edition for Small Business SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Enterprise Core SQL Server 2012 Web SQL 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 Service Pack 3 發佈為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 Service Pack 3 修復程式版本中包含的所有熱修復程式及所有安全性修正程式。

徵狀

假設您在 sql server 2008 R2 或 SQL Server 2012 中,在 SQL Server 2008 的查詢執行方案中執行使用並行的查詢。 查詢方案符合下列條件:

  • 查詢執行方案包含點陣圖運算子,以及雜湊聯接或合併連接。

  • 雜湊聯接或 merge 連接謂詞包含對可為 Null 的資料行 進行 比較。

在這種情況下,查詢會傳回不正確的結果。

原因

發生這個問題的原因是,當 SQL Server 在表格掃描或索引掃描中使用點陣圖篩選時,會廢棄 Null 值。

解決方案

累積更新資訊

SQL Server 2012 的累積更新套件 1 Service Pack 1

此問題的修正程式是在累積更新1中第一次發行。如需有關如何取得適用于 SQL Server 2012 Service Pack 1 的累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

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

2772858 在發行 SQL Server 2012 Service Pack 1 之後發行的 SQL Server 2012 組建

SQL Server 2008 R2 Service Pack 2

此問題的修正程式是在 SQL Server 2008 R2 Service Pack 2 的累積更新2中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

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

2567616 在發行 SQL Server 2008 R2 SP1 之後發行的 SQL Server 2008 R2 組建

SQL Server 2012

此問題的修正程式是在 SQL Server 2012 的累積更新3中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2723749 SQL Server 2012 的累積更新套件3注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2012 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2692828 在發行 SQL Server 2012 之後發行的 SQL Server 2012 組建 您必須將 SQL Server 2012 修補程式套用至 SQL Server 2012 的安裝。

SQL Server 2008 Service Pack 3

此問題的修正程式是在 SQL Server 2008 的累積更新6(Service Pack 3)中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

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

2629969 在發行 SQL Server 2008 Service Pack 3 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 3 修復程式套用至 SQL Server 2008 Service Pack 3 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。

狀態

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

因應措施

若要解決此問題,請使用下列其中一種方法來避免在查詢中使用並行性:

  • 新增 MAXDOP 1 查詢提示選項。

  • 將 [ 最大並行度 ] 選項設定為 1。

其他相關資訊

如需並行雜湊連接的詳細資訊,請移至下列 MSDN 博客網站:

並行雜湊連接的一般資訊如需有關查詢執行點陣圖篩選的詳細資訊,請移至下列 MSDN 博客網站:

查詢執行點陣圖篩選的一般資訊

Need more help?

Want more options?

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

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