SQL Server誤區30日談 第21天 數據破壞可以經由過程重啟SQL Server來修復。本站提示廣大學習愛好者:(SQL Server誤區30日談 第21天 數據破壞可以經由過程重啟SQL Server來修復)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL Server誤區30日談 第21天 數據破壞可以經由過程重啟SQL Server來修復正文
誤區 #21:數據庫破壞可以經由過程重啟SQL Server或是Windows,或是附加和分別數據庫處理
毛病
SQL Server中沒有任何一項操作可以修單數據破壞。破壞的頁固然須要經由過程某種機制停止修復或是恢復-但毫不是經由過程重啟動SQL Server,Windows亦或是分別附加數據庫。
而現實上,假如你的數據庫的破壞水平沒法停止Crash Recovery的話(質疑狀況),那末分別附加數據庫將會是你做的最蹩腳的決議。這個道理是因為附加數據庫中包括Crash Recovery步調,假如Crash Recovery掉敗的話,那末附加也會掉敗。所以上面的技能才是你所須要的:TechEd Demo: Creating, detaching, re-attaching, and fixing a suspect database。記住,永久不要分別破壞的數據庫。
上面這類毛病才是有能夠經由過程重啟處理:
- 假如在內存中的頁破壞,但在磁盤上的頁無缺時,重啟可以或許處理破壞成績
- 假如破壞產生了,然則重啟進程中的某個步調招致這個頁不再被分派,則貌似破壞經由過程重啟處理了,這個成績我之前曾經有一篇博文停止論述了:Misconceptions around corruptions: can they disappear?
- 假如IO子體系也重啟,之前SQL Server對IO的需求被IO子體系“卡”住,則重啟貌似能處理成績,但現實上這其實不是修復破壞,而只是讓出成績的IO子體系恢復。我只碰見過三四次這類情形。
不論怎樣說,你最少要做到有對應的備份戰略或是輕易體系停止恢復和毛病轉移。重啟可不是一個處理計劃,這只會糟蹋時光。