MSSQLSERVER(R2)未分离LDF删除情况下的MDF附加


问题:

数据库版本为2008R2 ,在自己笔记本上连接服务器sqlserver,

            用delete 删除数据,数据量比较大,删除中途二级交换机断电,导致删除没有完成(delete已经执行30分钟),这时sqlserver正在回滚,

然后去服务器上把server服务重启了,

然后数据库就显示”正在恢复“,

又另想办法把服务停掉,然后删除ldf文件,在重新附加,可是问题出来了,

附加不上,ldf由于太大没发还原, 

LDF日志不要轻易删除,恢复主数据要用到,如果删除,记得先分离,然后移动到另外的地方。

下面是针对未分离删除日志文件,MDF文件附加,提示找不到日志的问题的解决方法:

1,新建数据库,同名需要附加的数据库名(假设名为grab)。

2,在sqlserver配置管理器中停止sql服务,然后打开新建数据库grab的位置,将需要附加的MDF、NDF(如果有)文件复制,粘贴到此位置,覆盖新建的数据库文件。

3,重新在sqlserver配置管理器中启动sql服务,然后在客户端连接会看到覆盖完的数据库grab不能打开,点击属性提示错误。

4,在数据库master下新建查询(按字母顺序执行):

    a:alter database grab set emergency   /*设置紧急状态,此步骤执行完,grab的属性可以打开了。*/

    b:alter database grab set single_user     Sp_dboption 'grab ', 'single user', 'true'    /*设置单用户运行状态*/

    c:dbcc checkdb('grab ',REPAIR_ALLOW_DATA_LOSS)  /*检查并重建,此步骤略长,注意数据库名带引号。*/

     /*如果此步骤,运行完毕有错误提示,日志文件无法创建,则运行下面命令;如果没有错误,略过...*/

        dbcc checkdb('grab ',REPAIR_REBUILD)

    d:alter database grab set multi_user     Sp_dboption 'grab ', 'single user', 'false'   /*恢复多用户状态运行*/

    e:刷新grab数据库,可以看到表数据了。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值