找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2450|回复: 0
打印 上一主题 下一主题
收起左侧

MSSQL还原单mdf文件报1813错误

[复制链接]
跳转到指定楼层
楼主
ID:100029 发表于 2015-12-22 19:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
序:
    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

  尾:
    不出意外的话数据库应该可以使用。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表