Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

Microsoft 將 Microsoft SQL Server 2008 R2 Service Pack 2 (SP2)修正為一個可下載的檔案。 因為修正程式是累加的,所以每個新版本都包含舊版 SQL Server 2008 R2 Service Pack 2 (修正版本)所包含的所有修復程式及所有安全性修正程式。

徵狀

當您在 Microsoft SQL Server 2008 R2 SP2 或 Microsoft SQL Server 2012 中執行查詢時,如果下列情況屬實,您可能會收到不正確的結果:

  • 此查詢會在完整的 JOIN子句結果中使用一個交叉 APPLY子句。

  • 資料表資料是透過在 完整的 JOIN 子句中呼叫表格值的使用者定義函數來提供。

  • 此函數接受資料行名稱做為參數,並以資料表的形式傳回結果。

例如,執行如下所示的查詢:

SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s  

注意: 這個問題不會發生在 Microsoft SQL Server 2012。

解決方案

累積更新資訊

SQL Server 2012 累積更新7

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

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

2692828 在發行 SQL Server 2012 之後發行的 SQL Server 2012 組建

SQL Server 2012 SP1 的累積更新3

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

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

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

SQL Server 2008 R2 SP2 累積更新5

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

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

2730301 在發行 SQL Server 2008 R2 Service Pack 2 之後發行的 SQL Server 2008 R2 組建

狀態

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

因應措施

若要解決此問題,請使用 完整的 MERGE join 子句,而不是 完整的 JOIN 子句。例如,您變更「症狀」一節中所提及的查詢,以使其類似以下所示:

SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL MERGE JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s 

其他相關資訊

如需如何使用 交叉 套用子句的詳細資訊,請移至下列 Microsoft TechNet 網站:

如何使用交叉套用子句的一般資訊

Need more help?

Want more options?

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

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

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×