今天重装机器,竟然忘记备份刚刚在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.刷新数据库,表出来了,数据完好