對于數(shù)據(jù)庫維護,主要使用DBCC CHECKDB來實現(xiàn),以下是對大型數(shù)據(jù)庫的使用說明,小型數(shù)據(jù)庫一般直接使用就可以了:
1、2008(2005我不確認)已經(jīng)實現(xiàn)了快照檢查,也就是當你執(zhí)行DBCC時,DBMS會先快照出一個數(shù)據(jù)庫,然后在快照上執(zhí)行檢查,這樣對原來的庫不造成鎖的影響。
2、使用Physical_only選項,可以以較少的開銷檢查數(shù)據(jù)庫的物理一致性。并且能檢查出會危及用戶數(shù)據(jù)安全的殘缺頁、校驗和錯誤及常見的硬件故障。所以對于頻繁使用的生產(chǎn)庫,建議使用該選項。,可以極大地縮短對大數(shù)據(jù)庫運行DBCC CHECKDB的時間。
3、CHECKDB所花費的時間主要取決于:
? a、數(shù)據(jù)庫自身大小;
? b、當前I/O讀寫能力和繁忙程度;
? c、當前系統(tǒng)CPU負荷;
? d、當前數(shù)據(jù)庫的并發(fā)修改量;
? e、存放tempdb磁盤的速度;
? f、數(shù)據(jù)庫對象類型:如LOB會花更多時間;
? g、CHECKDB的參數(shù);參數(shù)的選擇會影響DBCC所做的事情多少;
? h、數(shù)據(jù)庫的錯誤類型和錯誤數(shù)量;
按照別人的經(jīng)驗:1T的數(shù)據(jù)庫如果沒錯誤,checkdb可能要花上20小時。如果一個成百上千的數(shù)據(jù)庫,哪怕只有2、300G。可能一天都跑不完。
現(xiàn)在入正題:
如果數(shù)據(jù)庫設計了分區(qū)表機制,做起來會簡單一些,對于存儲歷史數(shù)據(jù)的分區(qū)文件組,由于本身數(shù)據(jù)不發(fā)生變化,可以設為只讀模式,防止任何錯誤修改。每個月左右經(jīng)行一次DBCC CHECKFILEGROUP即可。對于當前數(shù)據(jù),最好一周兩次,單獨做DBCC CHECKFILEGROUP。
如果沒有分區(qū)的超大型數(shù)據(jù)庫,可以參照以下方式:
周一到周三:每天運行一組DBCC CHECKTABLE
周四:DBCC CHECKALLOC+一組DBCC CHECKTABLE
周五周六:每天運行一組DBCC CHECKTABLE?
周日:DBCC CHECKALLOC+DBCC CHECKCATALOG+一組DBCC CHECKTABLE。
對于TB級數(shù)據(jù)庫可以嘗試使用這個方法。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
