資料庫sql2000錯誤8908及處理

2021-07-22 22:37:28 字數 1344 閱讀 4199

錯誤8908:表錯誤:資料庫id34,物件id3,索引id0。鏈的鏈結不匹配。(1:9342)->next   =   (1:1808),但(1:1808)->prev   =   (1:1351)。   

(在資料庫『ulandsystem』(34)中。

解釋

當   microsoft®   sql   server  在與表關聯的乙個頁鏈的頁鏈結中檢測到不一致時(例如當某頁的   next   指標指向一頁,而該頁的   previous   指標卻向回指向另一頁時),會出現該錯誤。表資料具有乙個雙向鏈結頁鏈,每個索引級別也具有乙個這樣的頁鏈。   

對策注:

使用資料庫的過程中,由於斷電或其他原因,有可能導致資料庫出現一些小錯誤,比如檢索某些表特別慢,查詢不到符合條件的資料等.

出現這些情況的原因,往往是因為資料庫有些損壞,或索引不完整.

在access中,有個修復資料庫的功能可以解決這個問題,在sql企業管理器,沒有這個功能,要用語句來完成,下面就介紹如何用 sql 語句完成資料庫的修復,需要注意的是,在進行下面的操作時,必須斷開所有使用者的連線:

use master

gosp_dboption '你的資料庫名', 'single user', 'true'

godbcc checkdb('你的資料庫名', repair_rebuild)

gouse 你的資料庫名 

goexec sp_msforeachtable 'dbcc checktable(''?'',repair_rebuild)'

gosp_dboption '你的資料庫名', 'single user', 'false'

go附:

dbcc checkdb('資料庫名稱',repair_allow_data_loss)

repair_allow_data_loss:是比較高階的修復方式

repair_fast:是簡單快速的修復方式

repair_allow_data_loss

此選項包括repair_rebuild 選項的所有修復功能而且還包括為糾正分配錯誤

結構性行或頁錯誤而進行資料行或資料頁的分配和解除分配以及刪除被損壞的文字對

象這些修復易引起資料丟失所以可在事務中使用該dbcc 命令這樣使用者可以回

滾所發生的資料變化然後從備份中進行恢復

repair_fast

該選項只能實現較簡單且耗時少的修復功能例如修復非簇索引中的額外鍵此選項

不會導致資料丟失

repair_rebuild

此選項包括所有repair_fast 選項的功能而且能夠完成一些耗時的修復操作如

重建索引此選項不會導致資料丟失

Sql 2000 資料庫備份例項

資料庫備份例項 資料庫備份例項 朱二 2004年5月 備份策略 資料庫名 test 備份檔案的路徑e backup 每個星期天凌晨1點做一次完全備份,為保險起見,備份到兩個同樣的完全備份檔案test full a.bak和test full b.bak 每天1點 除了星期天 做一次差異備份,分別備份...

更改SQL2000資料庫名

把old資料庫改為new資料庫 開啟 企業管理器 找到 old資料庫 右鍵 所有任務 分離資料庫 然後到c program files microsoft sql server mssql data下找到old data.mdf和 old log.ldf 把old data換成你想要的名字例如new...

sql2000匯入 asa mdb資料庫

把mdb asa資料庫匯入sql2000的具體步驟 在sql裡新建乙個資料庫 選擇你新建的資料庫點選右鍵選擇 所有任務 k 匯入資料 e 下一步 開啟 dts 匯入 匯出嚮導 資料來源 d 選擇 microsoft access 以上這步要小心,因為有些人沒去拉滾動條,所以看不到。記得是黃色的藥匙就...