1、 新建同名的数据库(数据库文件名也要相同)。
2、 停止数据库服务。
3、 .mdf文件覆盖新数据库的同名文件。
4、 启动数据库服务。
5、 运行alter database dbname set emergency,将数据库设置为emergency mode
6、 运行下面的命令就可以恢复数据库:
use master
declare @databasename varchar(255)
set @databasename='要恢复的数据库名称'
exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态
注意:我最想说的是我在操作中出现的问题,因为我以前的数据库文件.mdf ,.ldf是分别放在2个不同目下的,因此我在执行第6步的时候出现了操作失败,原因是我的日志文件存放的目录不存在。解决方法为日子文件创建好存放目录。
