Microsoft 發佈 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 修正為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 或 SQL Server 2008 R2 修正版本中所包含的所有熱修復程式及所有安全性修正程式。
徵狀
當您執行的複雜更新查詢在 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 的執行方案中使用 JOIN 運算子時,您可能會收到不正確的結果。 注意: 更新查詢可能包含子查詢、匯總函數及 DISTINCT 子句。如果您在 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 並行資料倉儲中執行相同的查詢,您可能會收到另一組不正確的結果。 例如,當您執行下列程式碼時,可能會收到不正確的結果:
UPDATE RB SET rb1 = (SELECT AVG(DISTINCT T2_1.C1) AS C1 FROM (SELECT DISTINCT T3_1.C3 AS C1, T3_1.C5 AS C2 FROM (SELECT T5_1.c2 AS C1, T5_1.c2 AS C2, T5_1.c3 AS C3, T5_1.c3 AS C4, T5_1.c2 AS C5 FROM DC AS T5_1 UNION SELECT T5_1.c2 AS C1, T5_1.c3 AS C2, T5_1.c2 AS C3, T5_1.c2 AS C4, T5_1.c3 AS C5 FROM DC AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C1 = rb3)), rb2 = (SELECT COUNT_BIG(DISTINCT T2_1.C1) AS C1 FROM (SELECT DISTINCT T3_1.C1 AS C1 FROM (SELECT T5_1.rc2 AS C1 FROM RC AS T5_1 UNION ALL SELECT T5_1.c3 AS C1 FROM DC AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C1 > rb1)), rb3 = (SELECT COUNT_BIG(*) AS C1 FROM (SELECT DISTINCT T3_1.C1 AS C1, T3_1.C2 AS C2, T3_1.C3 AS C3, T3_1.C4 AS C4, T3_1.C5 AS C5, T3_1.C6 AS C6, T3_1.C7 AS C7, T3_1.C8 AS C8, T3_1.C9 AS C9, T3_1.C10 AS C10 FROM (SELECT T5_1.b2 AS C1, T5_1.b1 AS C2, T5_1.b3 AS C3, T5_1.b2 AS C4, T5_1.b2 AS C5, T5_1.b2 AS C6, T5_1.b2 AS C7, T5_1.b1 AS C8, T5_1.b2 AS C9, T5_1.b3 AS C10 FROM DB AS T5_1 UNION SELECT T5_1.ra3 AS C1, T5_1.ra3 AS C2, T5_1.ra3 AS C3, T5_1.ra3 AS C4, T5_1.ra2 AS C5, T5_1.ra3 AS C6, T5_1.ra1 AS C7, T5_1.ra1 AS C8, T5_1.ra1 AS C9, T5_1.ra1 AS C10 FROM RA AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C2 <= rb3)) WHERE rb1 IN (SELECT T2_1.C1 AS C1 FROM (SELECT T4_1.a2 AS C1, T4_1.a1 AS C2, T4_1.a1 AS C3, T4_1.a2 AS C4, T4_1.a1 AS C5, T4_1.a2 AS C6, T4_1.a3 AS C7, T4_1.a1 AS C8 FROM DA AS T4_1 WHERE (T4_1.a1 > (SELECT MIN(DISTINCT T5_1.b3) AS C1 FROM DB AS T5_1 WHERE (T5_1.b3 <= T4_1.a1))) UNION ALL SELECT T4_1.a2 AS C1, T4_1.a2 AS C2, T4_1.a1 AS C3, T4_1.a1 AS C4, T4_1.a1 AS C5, T4_1.a1 AS C6, T4_1.a1 AS C7, T4_1.a3 AS C8 FROM DA AS T4_1) AS T2_1);
原因
這個問題是由 SQL Server 查詢優化程式中的錯誤所造成。
解決方案
累積更新資訊
SQL Server 2008 Service Pack 2
此問題的修正程式是在 SQL Server 2008 Service Pack 2 的累積更新6中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2582285 SQL Server 2008 的累積更新套件 6 Service Pack 2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 2 修補程式套用至 SQL Server 2008 Service Pack 2 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。
SQL Server 2008 R2
此問題的修正程式是在累積更新9中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2567713 SQL Server 2008 R2 的累積更新套件9 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 R2 Service Pack 1
此問題的修正程式是在 SQL Server 2008 R2 Service Pack 1 的累積更新2中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2567714 SQL Server 2008 R2 Service Pack 1 的累積更新套件2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 Service Pack 1
此問題的修正程式是在 SQL Server 2008 Service Pack 1 的累積式更新15中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2555406 SQL Server 2008 的累積更新套件 15 Service Pack 1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
970365 在發行 SQL Server 2008 Service Pack 1 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 1 修補程式套用至 SQL Server 2008 Service Pack 1 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。
參考
如需並行資料倉儲的詳細資訊,請造訪下列 Microsoft 網站:
並行資料倉儲的一般資訊如需有關 SQL Server 的增量服務模型的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
935897 您可以從 SQL Server 團隊取得增量服務模型,以提供已報告問題的修補程式如需 SQL Server 更新命名架構的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
822499 Microsoft SQL Server 軟體更新套件的新命名架構如需軟體更新術語的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
824684 描述 Microsoft 軟體更新所使用的標準術語說明