【MSSQL】MSSQL还原单mdf文件报1813错误

 序:
  MS SQL Server 2008 r2附加无ldf日志的mdf数据库时报1813错误。提示数据库被强制分离,无日志不能还原之类的话。

 可能的原因:
  原因系统正在执行定时作业,没有主要到多次强制分离了数据库。当附加回mdf文件时报错误1813。总之都是手贱惹的祸。。。



 解决办法:
  1、首先要备份好mdf文件,如果他没了经理非吃了你不可。都不吐骨头的。
  2、在数据库中新建一个需要附加同名的数据库。例如【testdb】 
  3、停止SQL Server服务
  4、找到该数据库所在的文件夹、并删除testdb_log.ldf与testdb.mdf文件
  5、 把需要附加的数据库【testdb.mdf】文件拷贝到当前路径。
  6、启动SQL Server服务,通过企业管理器连接数据库。
  7、此时的1步中新建的数据库地址已经指向你需要附加数据库的mdf文件了。但是现在数据库还是无法打开的。
  8、执行语句:ALTER DATABASE testdb SET EMERGENCY
  9、执行语句:ALTER DATABASE testdb SET SINGLE_USER 
  10、执行语句:ALTER DATABASE testdb REBUILD LOG ON (NAME=dbname_log, FILENAME='C:\XXX\dbname_log.ldf')
  其中FILENAME为你需要新建ldf日志的路径已经ldf文件名称。运行后会出现一条警告“执行后,会有警告信息“警告: 数据库 'xhtyjbbs' 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。””别鸟他。

  11、  DBCC CHECKDB(testdb , REPAIR_ALLOW_DATA_LOSS)     这一步会比较卡,可能会导致界面未响应。多等一会。成功后数据库变成了单用户模式,下面两步骤修改成多用户模式。
  12、ALTER DATABASE testdb  SET MULTI_USER
  13、ALTER DATABASE testdb SET ONLINE 

 尾:
  不出意外的话数据库应该可以使用。千万要先备份好mdf文件,即使玩坏了还有备份。

转载于:https://www.cnblogs.com/MangoCai/p/4950865.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值