程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL SERVER修復系統表錯誤不匹配的問題

SQL SERVER修復系統表錯誤不匹配的問題

編輯:關於SqlServer

       修復系統表(表錯誤- 對象 ID 2。text、ntext 或 image 節點(位於頁 (1-875),槽 0,文本 ID 177078272)與該節點位於頁 (1-500),槽 14 處的引用不匹配)

      修復數據庫,應該是一個再熟悉不過的“陌生”東東了。以往修復就使用一般的修復語句即可,今天遇到一個頑固不化的錯誤,NND,

      報錯信息如下:

      服務器: 消息 8929,級別 16,狀態 1,行 1

      對象 ID 2: 在文本 ID 177078272 中發現錯誤,該文本的所有者是由 RID = (1:627:1) id = 1899153811 and indid = 10 標識的數據記錄。

      服務器: 消息 8961,級別 16,狀態 1,行 1

      表錯誤: 對象 ID 2。text、ntext 或 image 節點(位於頁 (1:875),槽 0,文本 ID 177078272)與該節點位於頁 (1:500),槽 14 處的引用不匹配。

      'YINYI' 的 DBCC 結果。

      'sysobjects' 的 DBCC 結果。

      對象 'sysobjects' 有 419 行,這些行位於 7 頁中。

      'sysindexes' 的 DBCC 結果。

      對象 'sysindexes' 有 451 行,這些行位於 22 頁中。

      CHECKDB 發現了 0 個分配錯誤和 2 個一致性錯誤(在表 'sysindexes' 中,該表的對象 ID 為 2)。

      'syscolumns' 的 DBCC 結果。

      CHECKDB 發現了 0 個分配錯誤和 2 個一致性錯誤(在數據庫 'YINYI' 中)。

      DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

      這個是已經經過修復後仍然存在的問題,因為提示的是系統表sysobjects表存在問題,且有提示了RID及ID,我將此條數據查詢出來,交核對了同類型的數據庫,也就一個欄位不一樣,且表示的是一個所影響的行數,其它並無相應的差別。本來打算放棄的,不過後又嘗試著將一個經常會使用到的一個表的數據全部清除(truncate),再進行CHECKDB則不再出現錯誤。然後將此表中的數據先查詢出來放到臨時表,再清掉所有的數據,再從臨時表中INSERT進來,此時再來CHECKDB,

      CHECKDB 發現了 0 個分配錯誤和0 個一致性錯誤(在數據庫 'YINYI' 中)。

      DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。

      大功告成,此現象說明了其實CHECKDB出來若存在系統表有問題的情況下,我們的系統不會那麼容易壞的。你首先需要檢查的是你平時會用到的表,即使是CHECKTABLE也不一定會出錯,只能根據你軟件中在哪一個點兒會彈錯,分析用到的表,進行依次的排除。

      此篇文章寫到這裡希望遇到類似“表錯誤: 對象 ID 2。text、ntext 或 image 節點(位於頁 (1:875),槽 0,文本 ID 177078272)與該節點位於頁 (1:500),槽 14 處的引用不匹配”問題的朋友們細心點兒,希望對大家有幫助!

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved