DBCC CHECKDB用法 手工修複資料庫

來源:互聯網
上載者:User

標籤:

快速修複
DBCC CHECKDB (‘資料庫名‘, REPAIR_FAST)      
重建索引並修複
DBCC CHECKDB (‘資料庫名‘, REPAIR_REBUILD)
如果必要允許遺失資料修複
DBCC CHECKDB (‘資料庫名‘‘, REPAIR_ALLOW_DATA_LOSS)如果出現錯誤:未處理修複語句。資料庫需處於單一使用者模式下。可以先啟用單一使用者模式,方法如下執行預存程序:Use master
go
sp_dboption 資料庫名, single, true--更改成單使用者 
     alter   database   資料庫名 set   single_user   with   rollback   immediate  --還原資料庫為多使用者模式 
   alter database 資料庫名 set multi_user   with rollback immediate手工修複資料庫試例操作步驟:---------------------------------------------------------------------------------------------- 
   進入SQL查詢分析器,執行語句:   --檢查資料庫完整性 
     dbcc checkdb(‘資料庫名‘)     執行結果: 
--------------------------------------------------------------- 
     CHECKDB 發現了 0 個分配錯誤和 11 個一致性錯誤(在資料庫 ‘ams1‘ 中)。 
repair_allow_data_loss 是最低的修複層級(對於由 DBCC CHECKDB (資料庫名) 發現的錯誤而言)。 
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯絡。
   說明資料庫確實有問題,11個錯誤,找到錯誤地方:------------------------------------------------------------------------------- 
   對象 ‘Tb_Archives_File_1‘ 有 3777 行,這些行位於 172 頁中。 
CHECKDB 發現了 0 個分配錯誤和 2 個一致性錯誤(在表 ‘Tb_Archives_File_1‘ 中,該表的物件識別碼 為 907150277)。     表明 ‘Tb_Archives_File_1‘ 表確實有2個錯誤,難怪一查詢就要死機,於是運行語句進行表修複:-------------------------------------------------------------------------------------- 
     --以repair_allow_data_loss層級修複表 
     dbcc   checktable(‘Tb_Archives_File_1‘,repair_allow_data_loss)   
     go       執行結果: 
     伺服器: 訊息 7919,層級 16,狀態 3,行 2 
     未處理修複語句。資料庫需要處於單一使用者模式下。 
     DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯絡。   ---------------------------------------------------------------------------------------------------     需要將資料庫改為"單一使用者模式",於是再執行: 
     --更改成單使用者 
     alter   database   資料庫名   set   single_user   with   rollback   immediate   
go   
     --已repair_allow_data_loss層級修複表 
     dbcc   checktable(‘Tb_Archives_File_1‘,repair_allow_data_loss)   
go  
     --若還有問題,修複索引表 
   DBCC   DBREINDEX(‘Tb_Archives_File_1‘)     --再修複表 
   DBCC   CHECKTABLE(‘Tb_Archives_File_1‘)     直到返回的結果沒有錯誤!   --查詢是否正常 
   select * from Tb_Archives_File_1   再查詢那張錯誤表,不報錯,也不死機了,資料也完好無損.....哈哈....   --還原資料庫為多使用者模式 
   alter database 資料庫名 set multi_user   with rollback immediate 轉自:http://blog.csdn.net/zhejingyuan/article/details/11681865

DBCC CHECKDB用法 手工修複資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.