其次,很多人抱怨說DBCC CHECKDB第一次運行時顯示的錯誤在第二次運行時會自行消失。這很好解釋:第一次由DBCC CHECKDB檢測出的錯誤頁已經不屬于頁分配集了,因此在第二次運行DBCC時就顯示不出來了。我有一篇博文對此進行了詳細的解釋:Misconceptions around corruptions: can they disappear?。
還有一個傳的很廣泛的流言是,運行時間長的操作(比如索引重建,大容量數據插入,數據庫或文件的收縮)會導致頁損壞。其實不然,除非SQL Server存在BUG的情況下(非常罕見)。沒有任何T-SQL語句會導致數據出錯。我幾年前寫過一篇文章對此進行了詳細的解釋:Search Engine Q&A #26: Myths around causing corruption。
希望這篇文章對澄清這個概念有幫助
新聞熱點
疑難解答