哈爾濱海月數據恢復,技術亞洲領先 設為首頁加入收藏RSS訂閱
中國區:哈爾濱(總部)鄭州福建深圳沈陽合肥大連包頭淄博上海廣州
    南京杭州嘉興武漢濟南青島新疆太原
亞太區:印度韓國泰國新加坡馬來西亞澳大利亞
Windows
sql server 系統表sysobjects、sysindexes、syscolumns 一致性錯誤修復方法

******步: 處理可以訪問的數據表
(1.1) 找出哪些表不可訪問;
新建立一個sql svr數據庫,數據庫實體名為AisNew。進入查詢分析器,執行如下SQL:
–****************************************************
use AIS20030529181217
DECLARE @TbName VARCHAR(80)
DECLARE FindErrTable SCROLL CURSOR FOR
select name from AisNew.dbo. sysobjects where xtype=‘u’ order by name
OPEN FindErrTable
FETCH FindErrTable INTO @TbName
WHILE @@FETCH_STATUS<>-1
BEGIN
print @TbName
exec( ‘select top 1 * from’ + @TbName)
FETCH FindErrTable INTO @TbName
END
PRINT ‘Scan Complate…’
CLOSE FindErrTable
DEALLOCATE FindErrTable
–****************************************************
執行此SQL給出的報告的***后幾行為:

T_voucher
服務器: 消息 644,級別 21,狀態 3,行 1
未能在索引頁 (1:29262) 中找到 RID ‘161dd201a100′ 的索引條目(索引 ID 0,數據庫 ‘AIS20030529181217′)。
連接中斷

根據以上報告可以知道 T_voucher 表在sysobjects表中的對應記錄出錯,造成T_voucher不能訪問。修改上面的SQL:在聲明游標的記錄集中屏蔽T_voucher 表。即:

DECLARE FindErrTable SCROLL CURSOR FOR
select name from AisNew.dbo. sysobjects where xtype=‘u’ and name != ‘t_voucher’
order by name

修改完畢,繼續執行此SQL。如此反復,就能夠不斷報告出sysobjects中那些表不能訪問。
(1.2) 導 庫
用SQL DTS工具將AIS20030529181217中可以訪問的數據表導入AisNew。
第二步:處理不可訪問的數據表:
(2.1) 找出系統表中錯誤記錄的ID
–獲得AIS20030529181217中T_voucher表在sysobjects中的ID :
SELECT id FROM AIS20030529181217.dbo.sysobjects WHERE name=‘ t_voucher’
==》123
( 說明:通常即使sysobjects表損壞,不能做 select * from sysobjects 查詢,但是可以做 select ID,name from sysobjects 查詢。如果select ID,name from sysobjects 查詢也不能執行,可以對照AisNew和AIS20030529181217兩個數據庫中的同名表: syscolumns。根據AisNew.dbo.syscolumns表中T_voucher所占字段的個數以及各個字段的名稱,在AIS20030529181217.dbo.syscolumns中找出T_voucher所對應的記錄,由此獲得T_voucher在AIS20030529181217數據庫的系統表中所分配的ID。)

–獲得AisNew中T_voucher表在sysobjects中的ID :
SELECT id FROM AisNew.dbo.sysobjects WHERE name=‘ t_voucher’
==》456

(2.2) 刪除AIS20030529181217中系統表中錯誤記錄:
DELETE AIS20030529181217.dbo.sysobjects WHERE id=123
DELETE AIS20030529181217.dbo.sysindexes WHERE id=123
DELETE AIS20030529181217.dbo.syscolumns WHERE id=123

(2.3) 重建系統表記錄
–重建AIS20030529181217.dbo.sysobjects表中T_voucher表對應的記錄:
INSERT INTO AIS20030529181217.dbo.sysobjects
(name,id,xtype,uid,info,status,base_schema_ver,replinfo,parent_obj,crdate,ftcatid)
SELECT
‘t_voucher_b’,123,xtype,uid,info,status,base_schema_ver,replinfo,parent_obj,crdate,ftcatid
FROM AisNew.dbo. sysobjects WHERE id=456

–重建AIS20030529181217.dbo.sysindexes表中t_voucher表對應的記錄:
INSERT INTO AIS20030529181217.dbo.sysindexes
(id,status,first,indid,root,minlen,keycnt,groupid,dpages,reserved,used,rowcnt,rowmodctr,reserved3,reserved4,xmaxlen,maxirow,OrigFillFactor,StatVersion,reserved2,FirstIAM,impid,lockflags,pgmodctr,keys,name,statblob)
SELECT
123,status,first,indid,root,minlen,keycnt,groupid,dpages,reserved,used,rowcnt,rowmodctr,reserved3,reserved4,xmaxlen,maxirow,OrigFillFactor,StatVersion,reserved2,FirstIAM,impid,lockflags,pgmodctr,keys,name,statblob
FROM AisNew.dbo.sysindexes WHERE id=456

–重建AIS20030529181217.dbo.syscolumns表中t_voucher表對應的記錄:
INSERT INTO AIS20030529181217.dbo.syscolumns
(name,id,xtype,typestat,xusertype,length,xprec,xscale,colid,xoffset,bitpos,reserved,colstat,cdefault,domain,number,colorderby,autoval,offset,collationid,language)
SELECT
name,123,xtype,typestat,xusertype,length,xprec,xscale,colid,xoffset,bitpos,reserved,colstat,cdefault,domain,number,colORDERBY,autoval,offset,collationid,language
FROM AisNew.dbo.syscolumns WHERE id=456

(2.4)用DTS單獨將t_voucher_b表導入新的DataBase
經過以上操作,AIS20030529181217中t_voucher_b 表與原t_voucher表共用同一ID。
試試看可否執行SELECT * FROM t_voucher_b 查詢 -
如果可以,那么t_voucher_b就一定繼承原t_voucher表中的全部數據。再用INSERT INTO AisNew.dbo.T_voucher FROM AIS20030529181217.dbo.t_voucher_b
或DTS 將t_voucher_b中的數據導入AisNew。
如果執行SELECT * FROM t_voucher_b 查詢仍然報錯,這張表徹底沒戲了。
(2.5) 其他”不可訪問的數據表”處理方式同上,重復(2.1)~(2.4) 步。

 

 
返回
客戶服務 +more
上門服務
服務承諾
異地恢復
收費標準
付款方式
疑難解答
服務特色 +more
·免費檢測
·免費提供3天備份
·專業工程師提供服務
·免費清潔送修的介質
·數據恢復前報價,客戶確認后工程師開始數據恢復
·數據恢復不成功不收費
·與客戶簽訂保密協議,對客戶的數
 據嚴格保密,整個恢復過程不會對
 客戶的原盤有任何的寫操作,以確
 保原盤的數據完全

·免費參觀恢復全過程

·工程師在線免費咨詢

·專業工程師提供服務
服務器數據恢復 點擊這里給我發消

息
數據庫修復
點擊這里給我發

消息
硬盤數據恢復
點擊這里給我發消

息
主站蜘蛛池模板: 亚洲国产av一区二区三区| 日本一区二区三区中文字幕| 台湾无码一区二区| 亚洲午夜精品第一区二区8050| 台湾无码一区二区| 免费日本一区二区| 国产丝袜一区二区三区在线观看| 亚洲av一综合av一区| 日韩精品无码一区二区三区免费 | 无码人妻视频一区二区三区| 一区在线免费观看| 国产精品美女一区二区| 无码国产精品久久一区免费| 蜜臀AV一区二区| 少妇人妻精品一区二区三区| 精品久久国产一区二区三区香蕉 | 高清一区高清二区视频| 无码丰满熟妇一区二区| 韩国福利一区二区美女视频| 久久无码人妻一区二区三区午夜| 国产色综合一区二区三区| 激情内射日本一区二区三区| 国产在线精品一区二区夜色| 中文无码AV一区二区三区| 国产激情一区二区三区| 中文字幕一区二区三| 伊人色综合一区二区三区| 国产在线不卡一区二区三区| 三上悠亚日韩精品一区在线| 色狠狠色噜噜Av天堂一区| 久草新视频一区二区三区| 无码日韩精品一区二区三区免费 | 国产精品香蕉一区二区三区 | 在线精品亚洲一区二区三区| 香蕉视频一区二区| 一区二区三区视频在线| 中文字幕av人妻少妇一区二区 | 日产精品久久久一区二区| 亚洲国产情侣一区二区三区| 亚洲av色香蕉一区二区三区| 亚洲av无码一区二区三区人妖|