[SQL SERVER] 基礎 DBCC CHECKDB 在做什麼、要花多久時間、大型資料庫執行CHECKDB方法

DBCC CHECKDB檢查指定資料庫中所有物件的完整性

檢查相關系統表

執行DBCC CHECKALLOC (檢查資料庫所有頁面分配)

執行DBCC CHECKTABLE (

執行DBCC CHECKCATALOG

驗證索引檢視內容

驗證Service Broker資料

執行CHECKDB要花多久時間,跟下面因素有關

資料庫本身大小

磁碟IO能力 (checkdb需要把資料庫從頭到尾讀一次,故IO速度是最重要的因素)

CPU目前的負荷、平行處理度 (checkdb本身需要CPU做驗證工作)

tempdb磁碟速度 (需把暫存資料存放在記憶體或tempdb上)

資料庫內物件類型 (LOB、XML、computed column等等驗證需更多時間)

使用的參數 (with physical_only可以只做實體結構完整性檢查)

錯誤數量 (錯誤的數量越多,時間花費越久)

實際案例,花費時間參考

1. 約80G (SSD)資料庫,約8分鐘完成

2. 約40G 舊資料庫,跑約30分鐘....

所以CHECKDB每台機器時間跟資料庫內容差異,各會不同,可以用以下語法估計時間

雖然不太精確,但也有一個估算時間

Copyright © 2088 14年世界杯决赛_世界杯预选赛中国队出线形势 - pengxiaojing.com All Rights Reserved.
友情链接