症狀
假設您在 Microsoft SQL Server 2014 中有一個包含大型資料行存放區索引的資料庫。 當您針對資料庫執行 DBCC CHECKDB 命令時,您會從 SQL Server 錯誤記錄檔收到下列錯誤訊息:
注意
作業系統傳回錯誤 665 (無法完成要求的作業,因為檔案系統限制) 在位移寫入期間0x00004a21310000在檔 '<Disk Name>:\Program Files\Microsoft SQL Server\MSSQL12 期間SQL Server。MSSQLSERVER\MSSQL\Data\XXXX.mdf'。 SQL Server 錯誤記錄檔和系統事件記錄檔中的其他訊息可能會提供更多詳細資料。 這是嚴重的系統層級錯誤狀況,威脅資料庫完整性,必須立即修正。 (DBCC CHECKDB) 完成完整的資料庫一致性檢查。 此錯誤可能由許多因素造成;如需詳細資訊,請參閱《SQL Server 線上叢書》。
當您針對具有資料行存放區索引的資料表執行 DBCC CHECKTABLE 命令時,會收到下列錯誤訊息:
注意
Msg 0, Level 11, State 0, Line 0
目前命令發生嚴重錯誤。 如果有結果,應丟棄。
同時,您會在錯誤記錄檔中收到下列錯誤訊息:
注意
DBCC CHECKTABLE (DomainName\UserName 執行的Table_Name>) 因錯誤狀態 6 而異常終止。< 經過的時間:0 小時 3 分 36 秒。
原因
發生此問題的原因是 SQL Server 資料行存放區索引功能的預先擷取機制中的缺陷。 此缺陷會導致資料頁不必要地填入快照資料庫,從而導致作業系統 665 過早錯誤。
注意DBCC CHECKDB 命令會自動在內部建立資料庫快照集。 當您手動建立資料庫快照集並執行使用資料行存放區索引的數個查詢時,可能會遇到相同的問題。
解決方式
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 累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 我們建議您下載並安裝 SQL Server 的最新累積更新:
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。