今天重裝機器,竟然忘記備份剛剛在SQL Server下剛剛建好的robot數據庫(有一些數據已經加進去了),把C盤格式化了。幸好數據文件MDF因為此前機器C盤空間不足放在別處,於是就開始考慮如何用這個MDF文件來恢復數據庫。
找了好些資料,這種情況的還沒有,在Delphibbs看到介紹sp_detach_db,sp_attach_single_file_db存儲過程的資料,正是我需要的東西。於是經過實踐通過如下步驟終於恢復了robot數據庫:
1.新建同名數據庫。
2.刪除其日志文件robot_Data.LDF,不刪除後邊的過程執行通不過。
3.把robot數據設置為脫機。
4.在在查詢分析器中以超級用戶登入,執行以下存儲過程,必須以超級用戶登入,這是系統級存存處過程。
EXEC sp_detach_db @dbname = 'robot'
EXEC sp_attach_single_file_db @dbname = 'robot', @physname = 'E:WebDemo obot_Data.MDF'
5.把robot數據設置為聯機。
6.刷新數據庫,表出來了,數據完好