1.新建個ACCESS數據庫
2.打開SQL server的企業管理器,數據庫上右鍵所有任務選導入數據
來源數據選access 然后選擇原來已經損壞的數據庫
目的也選ACCESS 然后選擇新建的數據庫
下面就是下一步 完成這些了
完成之后打開db1.mdb 可以看到數據都在里面了
這時候還不能正常使用 因為默認值 還有自動遞增類型都丟失了
需要按原來的數據結構修正過來
'---------------------------------
上文已經將全部數據都恢復出來了,但當你試圖將ID的類型從數字改為自動遞增的時候發現系統并不允許,這個麻煩了,是不是前面的都白做了呢?這個bug確實難住了我好一陣。
于是我發現了迂回的方法,以forum表為例,里面的ID應該為自動遞增 posttime,lasttime的默認值應該是now(),ID字段在有數據的時候是不允許修改的,
下面就是俺剛剛獨創的修復方法了,呵呵,打開FORUM表 全選 刪除
然后保存后關閉表,在FORUM表上右鍵設計表,這時候可以修改ID的字段類型了,順便把默認值也都改好。
也許你會問,現在改好有什么用啊,記錄都被刪除了,恩這時候我們再利用一下上文的SQL SERVER的導入到處功能,操作完全同上文。
呵呵,秘訣傳授完畢,初步測試有效;這個方法比利用網上流傳的修復工具要有效的多,只要了解數據庫結構而且ACCESS庫不是壞的無可救要救可以,現在你可以幫助別人修復數據庫了 :)
后記:
將表的記錄全部刪除的時候 直接打開ACCESS 全選刪除是可以的,但如果記錄很多的情況下(比如reforum表)機器會死掉,所以比較好的方法是將數據庫放在你的網站下,用asp來刪除
先把數據庫剪貼過去,修改conn.asp
寫個asp文件
<!--#include file=conn.asp-->
<%
conn.execute("delete * from forum")
conn.execute("delete * from reforum")
conn.execute("delete * from [user]")
...................
%>
一共有20來個表,多復制幾次:)
都完成后用ACCESS壓縮修復下 ,好了你的數據庫重生完畢 :)
'-------------------------------------
|
新聞熱點
疑難解答