有历史bak文件和现在ldf文件,如何恢复数据库,在线求救!!!

csnet992 2019-01-14 05:53:29
事情是这样,前天sql server数据库的mdf文件损坏了,但是完整的ldf日志文件还在,此外还有一个一月前的完整备份的BAK备份文件,请问有没有办法恢复到现在的数据?
求大神,新人没多少分,全给大神了。
...全文
287 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
nelo99 2019-08-06
  • 打赏
  • 举报
回复
楼主,我也遇到了跟你一模一样的问题,请教一下,我的QQ:165487460.请教你一下方法。谢谢!
唐诗三百首 2019-01-15
  • 打赏
  • 举报
回复
应该无法恢复到最新的数据版本, 只可恢复到一个月前全备的状态, 数据损失是难免的,
建议以后需加强备份管理, 不应一个月备一次.
heyong3 2019-01-15
  • 打赏
  • 举报
回复
刚测了下,日志是可以备份的。但是同样要求他这个库是完整恢复模式而且要保证中间日志没有被备份截断过,以上方法才可以
Dear SQL(燊) 2019-01-15
  • 打赏
  • 举报
回复
引用 6 楼 heyong3 的回复:
现在一定要备份好mdf和ldf文件,不要删掉了!楼上的方法不可行,因为重建的库,用ldf文件覆盖后根本打不开数据库。根本备份不了日志。 还是要从mdf入手看看能否导出数据,还有一种方式是从日志文件上做文章,看能否用工具例如apexsql Log读取ldf文件里的日志,生成重做sql,然后在以前的备份库上前滚到现在状态,当然要求你这个库是完整恢复模式而且要保证中间日志没有被备份截断过,不然日志链就断了,数据会丢失。
打不开数据库,是可以用NO_TRUNCATE备份日志的,我以前测试过!
heyong3 2019-01-15
  • 打赏
  • 举报
回复
现在一定要备份好mdf和ldf文件,不要删掉了!楼上的方法不可行,因为重建的库,用ldf文件覆盖后根本打不开数据库。根本备份不了日志。 还是要从mdf入手看看能否导出数据,还有一种方式是从日志文件上做文章,看能否用工具例如apexsql Log读取ldf文件里的日志,生成重做sql,然后在以前的备份库上前滚到现在状态,当然要求你这个库是完整恢复模式而且要保证中间日志没有被备份截断过,不然日志链就断了,数据会丢失。
Dear SQL(燊) 2019-01-15
  • 打赏
  • 举报
回复
如果日志在完整备份之前截断的可以如下复恢: 1。在相同版下的SQL SERVER上创建相同的数据库名,停止sql server 服务,将日志文件替换启动SQL SERVER,备份日志(NO_TRUNCATE)
BACKUP DATABASE 数据库名  TO DISK = '备份路径\备份文件名.bak' with NO_TRUNCATE 
2。还原完整备份 (NORECOVERY)
RESTORE DATABASE 数据库名 FROM DISK = '备份路径\备份文件名.bak' NORECOVERY;
3。还原日志
restore log 数据库名 from disk='日志备份文件'
csnet992 2019-01-15
  • 打赏
  • 举报
回复
引用 3 楼 heyong3 的回复:
mdf怎么个损坏法? 数据库恢复模式是什么样的。
被病毒加密。。。
heyong3 2019-01-15
  • 打赏
  • 举报
回复
mdf怎么个损坏法? 数据库恢复模式是什么样的。
csnet992 2019-01-15
  • 打赏
  • 举报
回复
恢复了,方法跟5楼有点类似,万幸的是日志文件是从建库开始就存在的。谢谢各位,后面有空再把方法贴出来,好几天没睡觉了。一定要及时做好离线备份啊。
csnet992 2019-01-14
  • 打赏
  • 举报
回复
引用 1 楼 吉普赛的歌 的回复:
发到云盘共享, 帮你看看
发布了云盘,bak文件10个G,ldf日志文件70个G
吉普赛的歌 2019-01-14
  • 打赏
  • 举报
回复
发到云盘共享, 帮你看看

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧