徵狀
當您在包含聚集列存儲索引的資料表上執行資料操作語言(DML)語句時,就會發生此問題。 當這個問題發生時,在 sys.column_store_row_groups 動態管理檢視(DMV)中,您會看到許多新專案,其 delta_store_hobt_id 欄不會顯示 null 值,而 [總數據列] 欄則顯示較小 的 數位。 您也可能會收到下列錯誤訊息:
在函數中檢測到未產生的工作 = <FunctionName>::取得檔案 = line = <LineNumber>
此外,也會產生相關的 dump 檔案。
解決方案
Service pack 資訊
若要解決此問題,請取得 SQL Server 2014 的 Service Pack 1。
如需 SQL Server 2014 Service Pack 1 (SP1)的詳細資訊,請參閱 在 Sql server 2014 Service pack 1 中修正的錯誤。
累積更新資訊
這個問題首先是在 SQL Server 的下列累積更新中修正。
SQL Server 2014 累積更新5 /en-us/help/3011055
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
其他相關資訊
之所以發生這個問題,是因為每個 update 或 delete 語句都會鎖住所有差異存儲區。 當所有的 delta 儲存體都已鎖定時, insert 語句會建立新的 delta 書店。 此修復程式只會嘗試鎖定受 更新 或 刪除 影響的 delta 存儲,並在已有許多開啟的 delta 存儲區時,以較快的方式建立新的 delta 儲存。
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。