【原創】sqlserver2005 資料庫表損壞處理一例:
sqlserver2005 資料庫表損壞處理一例:
sqlserver2005中有個cwbase1資料庫,此庫中有lc0019999.xsfp表,select * from lc0019999.xsfp時,一開始還能查詢出點記錄,後來直接就報824錯誤,看到824錯誤,就知道是表有損壞了
。
處理步驟:
1.DBCC CHECKTABLE ( 'lc00X9999.xsfp ',REPAIR_REBUILD)
反饋如下:
lc0019999.XSFP的 DBCC 結果。
訊息 8928,級別 16,狀態 1,第 1 行
物件 ID 1414296098,索引 ID 1,分割槽 ID 374162285789184,分配單元 ID 92687309078528 (型別為 In-row data): 無法處理頁 (1:20184)。有關詳細資訊,請參閱其他錯誤訊息。
訊息 8939,級別 16,狀態 98,第 1 行
表錯誤: 物件 ID 1414296098,索引 ID 1,分割槽 ID 374162285789184,分配單元 ID 374162285789184 (型別為 In-row data),頁 (1:20184)。測試(IS_OFF (BUF_IOERR, pBUF->bstat))失敗。值為 29493513 和 -1。
物件 'lc0019999.XSFP' 的 351 頁中有 3328 行。
CHECKTABLE 在表 'lc0019999.XSFP' (物件 ID 1414296098)中發現 0 個分配錯誤和 2 個一致性錯誤。
對於由 DBCC CHECKTABLE (cwbase1.lc0019999.XSFP)發現的錯誤,repair_allow_data_loss 是最低的修復級別。
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯絡。
2.設定cwbase1為單使用者,此時浪潮ps軟體不能使用,請提前通知使用者退出ps軟體
3.企業管理器中,選擇cwbase1,
4.DBCC CHECKTABLE ( 'lc0019999.xsfp ',repair_allow_data_loss )
反饋如下:
lc0019999.XSFP的 DBCC 結果。
修復: 已為資料庫 'cwbase1' 中的物件 'lc0019999.XSFP' 成功地重新生成了 Clustered 索引。
修復: 頁 (1:20184) 已從物件 ID 1414296098,索引 ID 1,分割槽 ID 374162285789184,分配單元 ID 92687309078528 (型別為 In-row data)釋放。
修復: 已為資料庫 'cwbase1' 中的物件 'lc0019999.XSFP, PK_XSFP' 成功地重新生成了 Nonclustered 索引。
訊息 8945,級別 16,狀態 1,第 2 行
表錯誤: 將重新生成物件 ID 1414296098,索引 ID 1。
該錯誤已修復。
訊息 8928,級別 16,狀態 1,第 2 行
物件 ID 1414296098,索引 ID 1,分割槽 ID 374162285789184,分配單元 ID 92687309078528 (型別為 In-row data): 無法處理頁 (1:20184)。有關詳細資訊,請參閱其他錯誤訊息。
該錯誤已修復。
訊息 8939,級別 16,狀態 98,第 2 行
表錯誤: 物件 ID 1414296098,索引 ID 1,分割槽 ID 374162285789184,分配單元 ID 374162285789184 (型別為 In-row data),頁 (1:20184)。測試(IS_OFF (BUF_IOERR, pBUF->bstat))失敗。值為 46139401 和 -1。
該錯誤已修復。
訊息 8976,級別 16,狀態 1,第 2 行
表錯誤: 物件 ID 1414296098,索引 ID 1,分割槽 ID 374162285789184,分配單元 ID 374162285789184 (型別為 In-row data)。在掃描過程中未發現頁 (1:20184),但該頁的父級 (1:7710) 和上一頁 (1:23386) 都引用了它。請檢查以前的錯誤訊息。
該錯誤已修復。
訊息 8978,級別 16,狀態 1,第 2 行
表錯誤: 物件 ID 1414296098,索引 ID 1,分割槽 ID 374162285789184,分配單元 ID 374162285789184 (型別為 In-row data)。頁 (1:23387) 缺少上一頁 (1:20184) 對它的引用。可能是因為鏈連結有問題。
該錯誤已修復。
訊息 8945,級別 16,狀態 1,第 2 行
表錯誤: 將重新生成物件 ID 1414296098,索引 ID 2。
該錯誤已修復。
物件 'lc0019999.XSFP' 的 351 頁中有 3328 行。
CHECKTABLE 在表 'lc0019999.XSFP' (物件 ID 1414296098)中發現 0 個分配錯誤和 4 個一致性錯誤。
CHECKTABLE 在表 'lc0019999.XSFP' (物件 ID 1414296098)中修復了 0 個分配錯誤和 4 個一致性錯誤。
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯絡。
5.設定cwbase1為多使用者。
6.select * from lc0019999.xsfp能查詢出資料來
7.select count(*) from lc0019999.xsfpmx where xsfpmx_fpls not in (select disctinct xsfp_fpls from xsfp ) --返回0行記錄。估計是沒有丟xsfp的資料。至於丟沒有資料,還得讓業務那邊確認。
最後總結:
sqlserver2005的備份對話方塊,選項那裡,有 可靠性的選項,分為2項:“完成後驗證備份”和“寫入媒體前檢查校驗和”,不知道這兩個選項可以不可以在備份時檢測到錯誤。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/161195/viewspace-1055700/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL資料庫INNODB表損壞修復處理過程分享MySql資料庫
- UNDO表空間損壞的處理
- 資料庫壞塊處理資料庫
- oracle10g rac 表決盤損壞、ocr損壞處理Oracle
- 處理塊損壞
- PostgreSQL資料庫toast表損壞解決SQL資料庫AST
- 系統表空間IO錯誤 資料損壞處理一則
- undo表空間損壞的處理過程
- 資料庫損壞解決:資料庫已損壞,無法分配空間資料庫
- MySQL資料庫表損壞後的修復方法MySql資料庫
- ORACLE資料庫壞塊的處理 (處理無物件壞快的方法)Oracle資料庫物件
- 段頭損壞的處理
- sqlserver2000 資料庫損壞嘗試修復一例SQLServer資料庫
- sysaux表空間檔案損壞的處理(zt)UX
- [OCP學習筆記]043-07-處理資料庫損壞--基本知識筆記資料庫
- Oracle資料庫塊的物理損壞與邏輯損壞Oracle資料庫
- ORACLE資料庫壞塊的處理 (一次壞快處理過程)Oracle資料庫
- ORA-01578(資料塊損壞)跳過壞塊處理辦法
- 第7章 處理塊損壞
- 回滾段表空間損壞處理(ORA-01552)處理方法
- MySQL資料庫InnoDB壞頁處理修復MySql資料庫
- 資料庫壞塊Corrupt block的處理方法資料庫BloC
- UNDO表空間損壞導致資料庫無法OPEN資料庫
- [OCP學習筆記]043-07-處理資料庫損壞--模擬實驗(2)筆記資料庫
- [OCP學習筆記]043-07-處理資料庫損壞--模擬實驗(1)筆記資料庫
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- ORACLE 回滾段表空間資料檔案丟失或損壞處理方法(1) (轉)Oracle
- RAC磁碟頭損壞問題處理
- 一次ORACLE資料庫undo壞塊處理Oracle資料庫
- 教你如何處理Oracle資料庫中的壞塊Oracle資料庫
- SQLite資料庫損壞及其修復探究SQLite資料庫
- oracle - redo 損壞或刪除處理方法Oracle
- Oracle資料庫UNDO損壞後的恢復Oracle資料庫
- master資料庫損壞之後的恢復AST資料庫
- 使用RMAN恢復完全損壞的資料庫資料庫
- 伺服器Oracle資料庫損壞修復伺服器Oracle資料庫
- 資料庫優化之表碎片處理資料庫優化
- 【故障處理】通過重建資料庫物件解決因EXPDP/IMPDP工具損壞無法使用問題資料庫物件