第一种:
数据库的大小。
第二种:
IO系统的速度。
第三种:
当前CPU的负荷。
第四种:
当前数据库的并发修改量、因为并发修改量越大维护数据库快照的成本就越高,dbcc 的过程中要创建快照,所以。
第五种:
存放tempdb数据库硬盘的速度。dbcc 的过程中会有一些中间结果,而这些结果全放在内存里是不合适也是不可能的。所以有
用到tempdb的空间。
第六种:
数据库中对象的类型,不同类型的对象检查时要的时间也是不一样的。费时的有非聚集索引,计算列,off_row_lob,Server_broker,xml索引。
第七种:
dbcc checkdb使用的参数,比方说 with noindex 可以告诉SQL Server不对看非聚集索引、
with physical_only 可以告诉SQL Server只对物理结构进行检查。
第八种:
数据库中错误的数量,因为对于每一个错误SQL Server都要用算法评估出错误的问题程度。