KB2933103 - 修正:當您執行指定 SQL Server 中的 TOP N 和 ORDER BY 的查詢時,判斷提示失敗

Applies To
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

假設您使用 Microsoft SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014。 當您使用 TOP N 和 ORDER BY 執行查詢時,查詢會遇到類似下列內容的判斷提示失敗:

注意

位置: “qstopsrt.cpp”:384
運算式:fFalse
SPID: <SPID>
處理序識別碼: <ProcessID>
地點:qxcntxt.cpp:1052
運算式:cref == 0
SPID: <SPID>
處理序識別碼: <ProcessID>
Msg 3624, Level 20, State 1, Line 2
系統判斷提示檢查失敗。 如需詳細資料,請檢查 SQL Server 錯誤記錄檔。 一般而言,判斷提示失敗是由軟體錯誤或資料損毀所造成。 若要檢查資料庫損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間傳送傾印給 Microsoft,將會將迷你傾印傳送給 Microsoft。 更新可能可從 Microsoft 的最新 Service Pack 或技術支援的 QFE 中提供。
Msg 0, Level 20, State 0, Line 0
目前命令發生嚴重錯誤。 如果有結果,應丟棄。

注意:此修正程式也可能適用於查詢計劃包含 “Sort (Top N Sort) ”。

原因

發生此問題的原因是查詢執行引擎發生內部錯誤。

解決方式

此問題已先在下列 SQL Server 累積更新中修正。

SQL Server 2012 SP2 的累積更新 1 /zh-tw/help/2976982

2014 年 SQL Server 累積更新 2 /zh-tw/help/2967546

SQL Server 2012 SP1 的累積更新 10 /zh-tw/help/2954099

SQL Server 2008 R2 SP2 的累積更新 12 /zh-tw/help/2938478

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

      

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。