国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

SQL2000下修復(fù)某數(shù)據(jù)庫的經(jīng)歷

2024-07-21 02:47:47
字體:
供稿:網(wǎng)友
SQL2000下修復(fù)某數(shù)據(jù)庫的經(jīng)歷

某個SQL2000的數(shù)據(jù)庫,在通過備份/還原的方法升級到2005時發(fā)生錯誤:查找解決方法未果正好最近在看 @一線碼農(nóng) 的《sql server之旅》,就想自己試試解決這個問題首先運行dbcc checkdb命令,結(jié)果如下:仔細查看出錯信息,里面反復(fù)提到一個“對象 ID 2”。另外,信息里還提到“該文本的所有者是由 RID = (1:152:9) id = 213575799 and indid = 37 標識的數(shù)據(jù)記錄”。聯(lián)想到最近看的《sql server之旅》,覺得第二段信息可能是在說某個數(shù)據(jù)表。于是select之:果然都有對應(yīng)的表!分別select這兩個表,發(fā)現(xiàn)問題出在sysindexes上:這和上面的出錯信息也是一致的。立刻嘗試用dbcc checkdb和dbcc checktable修復(fù),但是卻得到以下回應(yīng):DBCC 語句的修復(fù)級別導(dǎo)致回避了此修復(fù)至此嘗試進入了死胡同……再次查看,發(fā)現(xiàn)出錯信息里有2條比較有意思。一條說某節(jié)點未被引用,一條說沒發(fā)現(xiàn)另外一個節(jié)點。兩個節(jié)點的槽號和文本ID都是一樣,只有頁不同。手賤看了看頁號,發(fā)現(xiàn)342=0x156,4194646=0x400156,只差一個字節(jié)!靈機一動,這個錯誤肯定是頁號因為某種原因錯了!突然想起,在DBCC命令那篇里面提到DBCC IND命令,干脆死馬當活馬醫(yī):但是看不出什么鬼,很明顯我沒人家那水平……干脆Page一下:找到slot9的偏移,看看有沒有0x400156:好像撞大運了……參考《第六站》,脫機,打開mdf,找到Slot9對應(yīng)偏移8192*152+0x860=0x130860,把那個40改成00

聯(lián)機,dbcc checkdb,沒有查出錯誤!

再次嘗試在SQL2005中恢復(fù),成功!

附加收獲:SQL2000貌似沒有checksum,否則我改mdf應(yīng)該會報錯的。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵丘县| 广安市| 原平市| 江津市| 云霄县| 京山县| 平定县| 孟连| 海伦市| 新宁县| 红原县| 钟祥市| 壶关县| 昌邑市| 文登市| 建宁县| 新巴尔虎右旗| 新源县| 永平县| 汝城县| 平潭县| 苏州市| 平山县| 玛曲县| 榕江县| 句容市| 泸溪县| 新巴尔虎左旗| 当涂县| 来安县| 类乌齐县| 镇江市| 明溪县| 广宁县| 谢通门县| 山阴县| 锦州市| 陵川县| 黄龙县| 凯里市| 新化县|