修復SQL Server 2000的MDF檔案:Recovery for SQL Server
Recovery for SQL Server可以拯救你SQL Server中損毀的MDF檔案,即使是demo版本也能救回一定數量的資料喔!
適用情境
我在修理學長畢業論文的系統時,發現他使用的SQL Server中某個資料庫壞掉了。在SQL Server Enterprise Manager裡面顯示的狀況如上圖,PIMS_DB被標示出(有疑問),而裡面也無法看到該資料庫的任何資料。
在預設安裝中,該資料庫的位置會在「C:\Program Files\Microsoft SQL Server\MSSQL$伺服器名稱\Data\資料庫名稱_Data.MDF」裡面,而上述的狀態中就是表示這個MDF檔案壞掉的意思。
Recovery for SQL Server
修復MDF的工具很多,但是不僅幾乎找不到免費的,有些試用版本(demo)是連匯出都不給你匯出。其中,Recovery for SQL Server的試用版本則是在一定限制中進行復原與匯出的好用工具。
下載demo並安裝的過程很單純,他也不會要你輸入序號。根據官方網站的FAQ中的說明,demo版本的限制在於每個資料表只能還原一定數量的資料。超過這個數量之後,其他的資料就會被留空(<null>),而文字型態的欄位則會被加入「demo」。經過測試修復,我恢復到507筆都還正常,而在508筆之後資料變成了「DEMO」,可見這個限制大概是在500筆左右。
安裝完demo之後,他有4.1版本與5.0 Beta。以下我介紹4.1版本的修復操作步驟:
1. 開啟Recovery for SQL Server 4.1主介面
需要注意的只有兩個地方:一個是右上角的「Recover」功能;另一個是中間很大的Message系統資訊。
請點下右上角的Recovery進行下一步。
2. 選擇要修復的MDF檔案
一般是到「C:\Program Files\Microsoft SQL Server\MSSQL$伺服器名稱\Data\資料庫名稱_Data.MDF」找到MDF檔案。接著要注意到下一步的「Next >」按鈕是在左邊,右邊則是「Cancel」取消,不要按錯了。
3. 授權提示
以上訊息告訴您資料庫最大不能超過24GB,超過的話請用標準版的Recovery for SQL Server。其他是採購授權的資訊。沒有要買的話可以按「Next >」前往下一步。
4. 復原設定
我使用「Typical」(典型)的類型來復原的。
5. 選擇目標資料夾
選擇復原的資料要保存在哪個資料夾,預設是擺在「我的文件」的位置。確定的話,按下「Start」就開始復原程序了。
6. 復原中
主介面中間的Message會顯示現在處理的狀況。處理完畢之後會跳出「Recovery for SQL Server Database Creation Wizard」,以下繼續說明。
7. Recovery for SQL Server Database Creation Wizard
這個精靈會協助您將剛剛修復的資料用來建立起新的資料庫。跟建立資料庫時的手續差不多,請先選伺服器,並輸入登入資訊。同樣的,下一步「Next >」的按鈕位置在最左邊,請不要按錯了。
8. 設定目標資料庫
您可以選擇目前的資料庫來儲存,或著是建立新的資料庫。因為我原本的資料庫損毀了,所以此時我選擇建立新的資料庫。建立新的資料庫時,要指定資料庫名稱,以及各個檔案的位置。
9. 選擇匯入模式
匯入模式有三種:
- 從資料庫與記錄檔案(log)中匯入資料
- 只從資料庫匯入資料
- 只從記錄檔匯入資料
我選擇第一項進行。
10. 確認要匯入的SQL程式
這些資料都是剛剛從損毀資料庫中恢復的資料,請按下一步「Next >」繼續。
11. 匯入過程到完成
稍待一段時間,讓他匯入完畢之後,按下「Finish」按鈕即可完成整個作業。
匯入完成之後,您可以開啟SQL Server Enterprise Manager來查看建立起的資料庫的狀況。理論上剛剛建的資料庫都已經可以運作了,您只要把系統的資料庫設定指定到新建立的資料庫即可正常運作囉。
雖然用Recovery for SQL Server的demo版本可以恢復整個資料庫的結構與部份資料,但還是無法還原整個完整的資料庫,這讓我有點困擾啊。
不知道有沒有人可以推薦我免費的MDF復原工具呢?