阅读更多
解决办法:
1、首先要备份好mdf文件,不然乐子就大了。
2、在数据库中新建一个需要附加同名的数据库。例如【DM】
3、停止SQL Server服务
4、找到该数据库所在的文件夹、并删除DM_log.ldf与DM.mdf文件
5、 把需要附加的数据库【DM.mdf】文件拷贝到当前路径。
6、启动SQL Server服务,通过企业管理器连接数据库。
7、此时的1步中新建的数据库地址已经指向你需要附加数据库的mdf文件了。但是现在数据库还是无法打开的。
8、执行语句:ALTER DATABASE DM SET EMERGENCY
9、执行语句:ALTER DATABASE DM SET SINGLE_USER
10、执行语句:ALTER DATABASE DM REBUILD LOG ON (NAME=DM_log, FILENAME='F:\MSSQL2008\DATA\DM_log.ldf')
这一步可能会出现两个问题:
a.如果出现无法操作数据库文件,那么修改DM.mdf文件的权限为完全控制。
b.其中FILENAME为你需要新建ldf日志的路径已经ldf文件名称。运行后会出现一条警告“执行后,会有警告信息“警告: 数据库 'xhtyjbbs' 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。”这一步忽略,执行下面步骤
11、 DBCC CHECKDB(DM, REPAIR_ALLOW_DATA_LOSS)
这一步会比较卡,可能会导致界面未响应。多等一会。成功后数据库变成了单用户 模式,下面两步骤修改成多用户模式。
12、ALTER DATABASE DM SET MULTI_USER
13、ALTER DATABASE DM SET ONLINE
参考:http://www.cnblogs.com/clownkings/p/4950865.html