第一步:
? ? ? ? ?讀取系統(tǒng)元數(shù)據(jù)、讀完這些數(shù)據(jù)后dbcc checkdb 就知道自己要檢測的是一個怎樣的數(shù)據(jù)庫了、如果在這一步就出錯了、dbcc 就直接出錯
? ? ? ? ?了、不會再運行下去。
第二步:
? ? ? ? ?在dbcc checkdb 內(nèi)部會對數(shù)據(jù)庫運行dbcc checkalloc命令
? ? ? ? ?dbcc checkalloc
? ? ? ? ?
第三步:
? ? ? ? ?對數(shù)據(jù)庫的每個表和視圖執(zhí)行dbcc checktable(table_name);
? ? ? ? ?dbcc checktable(Nums);
? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ?dbcc checktable 主要是檢測
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1、是否以正確鏈接索引頁,lob頁,行溢出頁。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2、索引是不是安正確的順序排序。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3、各指針是否一致。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?4、頁面上的數(shù)據(jù)是否合理
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?5、表的每個非聚集索引是否有匹配的行,每個數(shù)據(jù)行是否有非聚集索引與它匹配。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?6、對于以分區(qū)的表、是否每一行都位于合理的分區(qū)中。
第四步:
? ? ? ? ?dbcc checkcatalog(Studio);
? ? ? ? ? ? ?
第五步:
? ? ? ? ?檢測視圖的內(nèi)容和Server Broker 數(shù)據(jù)。
?
?
?
?
?
?
?
?
? ? ? ??