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

徵狀

假設您有一個 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 用於描述軟體更新的 詞彙

需要更多協助嗎?

想要其他選項嗎?

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

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

這項資訊有幫助嗎?

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

感謝您的意見反應!

×