徵狀

假設您有一個 UPDATE 語句,該語句參照 Microsoft SQL Server 2014、2016或2017中的 $PARTITION 關鍵字,參照不存在的分區函數。 例如,

更新 TableNameColumnName= "xyz",其中 $PARTITION。NonExistingPartitionFunction (ColumnName) = 1

在這種情況下,SQL Server 不會執行更新,或傳回錯誤訊息,指出 NonExistingPartitionFunction 物件不存在。 不過,從使用者的角度來看,會成功執行 UPDATE 語句,但實際卻失敗了。

原因

當您執行批次時,SQL Server 可能會執行延遲的名稱解析(DNR)。 在此程式中,SQL Server 在遇到不存在的物件時,不會立即產生錯誤,而且預期該物件將會在執行參照該物件的語句之前,由模組或批次建立。 針對分區函數,SQL Server 無法正確處理 DNR。

其他相關資訊

如需有關 DNR 的詳細資訊,請參閱 延遲名稱解析

解決方案

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

       SQL Server 2016 SP1 的累積更新8 

       SQL Server 2017 的累積更新4 

       SQL Server 2014 SP2 累積更新9

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2016 的最新累計更新

SQL Server 2017 的最新累計更新

SQL Server 2014 的最新累計更新

狀態

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

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×