Applies ToSQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

徵狀

請試想下列案例:

  • 您有一個非常大的 Filestream 表格。

  • 您會在 Filestream 表格中執行刪除查詢的資料列,這會建立一個成本高昂的查詢方案,例如,由內部連接所篩選的資料列到系統中的另一個大型資料表。

  • [查詢最佳化工具] 會選取並存執行方案。

在這種情況下,將會發生 ssertion,而且您可能會在 SQL Server 錯誤記錄中收到類似以下所示的錯誤訊息:

DateTime spid SpidNumber 錯誤:5553,嚴重性:20,狀態:6。

DateTime spid SpidNumber SQL Server 內部錯誤。 FILESTREAM 管理器無法繼續使用目前的命令。

狀態

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

解決方案

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

關於 SQL Server 的累積更新:

每個新的 SQL Server 累計更新包含所有 修復程式及前一個版本所包含的所有安全性修正程式 累加更新。 查看 SQL Server 的最新累計更新:

因應措施

To 此問題的解決方式,you 可以使用下列方法:

將內部聯結查詢移至個別的語句,並將結果儲存至臨時資料表。 然後執行由臨時資料表中的專案篩選的刪除查詢。 此外,您也可以增加並行性的成本閾值,強制優化程式將查詢方案序列化。

例如:

在 RefTable 中,選取 RefTable 中的 [#T 別名],從 OuterTable 內連接 DB-LIBRARY. dbo. RefTable。 Alias = OuterTable. 別名

             其中 OuterTable > 30006 和 OuterTable 的別名 < 30010 

從資料庫. dbo 刪除。張其中的別名在(從 #T 選取 *)

參考

瞭解相關術語 Microsoft 使用來描述軟體更新。

Need more help?

Want more options?

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

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