Sql-Server

DBCC CHECKDB 錯誤

  • January 19, 2017

偶爾,在我的開發環境中,當我執行 CHECKDB 時,我會遇到這個錯誤:

作業系統在文件“S:\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\MYDB.mdf:MSSQL_DBCC8”中的偏移量 0x0000c97c132000 處寫入期間向 SQL Server 返回錯誤 665(由於文件系統限制,無法完成請求的操作) . SQL Server 錯誤日誌和系統事件日誌中的其他消息可能會提供更多詳細資訊。這是威脅數據庫完整性的嚴重系統級錯誤情況,必須立即糾正。完成完整的數據庫一致性檢查 (DBCC CHECKDB)。這個錯誤可能是由許多因素引起的;有關詳細資訊,請參閱 SQL Server 聯機叢書。

為什麼我得到作業系統返回錯誤 665?如何防止這種情況發生?

本文是 MSDN 的一篇部落格文章,描述了該問題。您應該查看症狀是否匹配並謹慎執行文章中列出的操作。

對我來說,從部落格中聽起來是這樣的:

線上 DBCC 很容易受到此限制的影響,因為它利用輔助流進行寫時複製活動。DBCC 快照或快照數據庫的稀疏特性會導致屬性耗盡。

隨著空間的獲取,磁碟儲存位置和大小儲存在屬性結構中。如果該空間與文件已跟踪的集群相鄰,則屬性將壓縮為單個條目,跨越整個大小。但是,如果空間是碎片化的,則必須使用多個屬性對其進行跟踪。

665 問題可能會隨著更大的文件大小而彈出。隨著文件的增長,它會佔用更多空間。在空間獲取期間,屬性用於跟踪該空間。

引用自:https://dba.stackexchange.com/questions/161601