Sql-Server
DBCC CheckDB 空間要求?
遇到以下錯誤…
K:\Microsoft SQL Server\Data\MyAudit3_Dat.NDF_MSSQL_DBCC50:遇到作業系統錯誤 112(磁碟空間不足。)。
在這種情況下,磁碟空間非常低,需要修復……但是,它讓我思考 dbcc checkdb 的磁碟空間要求是什麼?
CHECKDB 在執行時需要兩種類型的儲存:
- 臨時數據庫。這是為了跟踪它的位置(為了簡化一點)。這就是多米尼克所指的。但是,這不是您的問題(正如我們從錯誤消息中看到的那樣)。
- 在數據庫的每個數據文件所在的同一磁碟上。它為您的數據庫的每個數據文件創建一個“CHECKDB 工作文件”。由於 CHECKDB 使用內部快照數據庫,因此它需要進行寫時複製。即,每當在您的數據庫中進行修改時,SQL Server 需要首先將該範圍(64 KB 塊)複製到快照文件中。您可以在錯誤消息中看到快照文件 - 這就是我們可以推斷問題不在於 tempdb 的方法。
即,您修改的數據越多,快照文件需要的儲存空間就越多。作為幾個範例,您不希望在重建索引或進行大量導入時執行 checkdb。正如您可以想像的那樣,我們不能說需要多少空間,因為我們不知道您在 checkdb 執行時做了多少數據修改。
因此,請檢查您的工作時間。