使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

徵兆

請試想下列案例:

  • 您在 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 用來描述軟體更新的 術語

需要更多協助嗎?

想要其他選項嗎?

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

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

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×