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 SQL Server 2016 中使用設定為 130 的相容性層級資料庫。

  • 您會執行存取欄市集索引和資料列存放區索引或堆集的查詢,並包含 WHERE 子句) (篩選述詞。

在此案例中,SQL Server將無法將篩選述詞推送到資料表或索引掃描 (資料來源運算子,或搜尋) 。 這可能會導致查詢效能過差。


此外,如果查詢使用運算式 (例如類型轉換) 其正確性取決於篩選的資料 (例如,char 資料表資料行會轉換為 int,但只有值子集包含有效的 int 標記法,而此子集是由篩選述詞) 識別,則查詢可能會失敗,而資料轉換錯誤類似下列其中一項:

將 Varchar 值 '0.5' 轉換為資料類型 int 時,Msg 245、層級 16、狀態 1、行 20
轉換失敗。

Msg 8114、層級 16、狀態 5、行 34
錯誤將資料類型 Varchar 轉換為 Bigint。

解決方案

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

SQL Server 2016 SP1 的累積更新 2       

附註您必須啟用查詢最佳化工具 Hotfix,此修正才會生效。

您可以使用下列其中一個選項來啟用查詢最佳化工具 Hotfix:追蹤標幟4199、SQL Server 2016 和更新版本) 提供的 [資料庫範圍設定] 設定 QUERY_OPTIMIZER_HOTFIXES=ON (,或USE_HINT在 SQL Server 2016 SP1 和更新版本) 中 ([ENABLE_QUERY_OPTIMIZER_HOTFIXES] 查詢選項。

每個SQL Server的新累積更新都包含所有 Hotfix 以及先前累積更新隨附的所有安全性修正。 查看 SQL Server 的最新累積更新:

SQL Server 2016 的最新累計更新

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考資料

瞭解 Microsoft 用來描述軟體更新的 術語

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!

×