症狀
假設您使用 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 的最新累積更新:
- 適用於 SQL Server 2012 SP2 的最新累積更新
- 適用於 SQL Server 2014 的最新累積更新
- 適用於 SQL Server 2012 SP1 的最新累積更新
- 適用於 SQL Server 2008 R2 SP2 的最新累積更新
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。