数据库还原误操作,能恢复吗?

dzhu_87 2010-12-27 03:28:50
我在还原Sql Server 数据库时,把A数据库覆盖到了B数据库,但A数据库文件存在了d:\盘上,那B数据库文件在C:\盘上,但找不到了,B数据库能恢复吗?请大虾帮忙,谢谢。
...全文
526 35 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
lujianjian 2011-01-03
  • 打赏
  • 举报
回复
我可以负责任的告诉你,回不来了。
【唐山大地震】里有句台词很适合
“没了才知道啥叫没了”

赶快面对现实,不要浪费时间了。现实很残酷,不然怎么叫现实啊。
  • 打赏
  • 举报
回复
隐约感觉恢复的时候使用了move选项。

覆盖比误删除要可怕的多啊。 你drop database了mdf被删除了。还可以用工具找回来。要是覆盖了,over了。 好像同名覆盖的恢复是个很大的课题。
-晴天 2010-12-27
  • 打赏
  • 举报
回复
原来数据库B所在的盘,不要做数据写入操作,否则会覆盖原来文件的位置.
-晴天 2010-12-27
  • 打赏
  • 举报
回复
试试用数据恢复软件恢复你原来B数据库所在盘中被删除的文件.数据恢复软件如 enterprise recovery,Drive Rescue等等.
claro 2010-12-27
  • 打赏
  • 举报
回复
希望做好数据库备份。
dzhu_87 2010-12-27
  • 打赏
  • 举报
回复
我一直在处理,所以只能隔一段时间看一下,其实我是急的要命。
唐诗三百首 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 billpu 的回复:]
引用 25 楼 ap0405140 的回复:

引用 24 楼 billpu 的回复:
意思就是你的c:\下的mdf ldf会被删除 但是用专门的软件恢复还有可能恢复 比如enterprise recovery

这个很难吧? C:\盘一般是系统盘,会有频繁的数据更新,估计原文件的空间被破坏了.

可能而已, 不过我估计楼主是不会去试的 你看他过个几小时回一句 根本没把这个当回事 我……
[/Quote]
唐诗三百首 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 dzhu_87 的回复:]
什么意思,还原时路径不在c:\...,而是在e:\...,会有什么问题。
[/Quote]
既然是A库的备份还原成B库到e:\盘上,
那c:\盘下的原B库文件(MDF&LDF)可能还在,去看看咯?
有的话还可附加回来.
没有的话就真D没戏了.
billpu 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 ap0405140 的回复:]

引用 24 楼 billpu 的回复:
意思就是你的c:\下的mdf ldf会被删除 但是用专门的软件恢复还有可能恢复 比如enterprise recovery

这个很难吧? C:\盘一般是系统盘,会有频繁的数据更新,估计原文件的空间被破坏了.
[/Quote]
可能而已, 不过我估计楼主是不会去试的 你看他过个几小时回一句 根本没把这个当回事 我也不准备回了
唐诗三百首 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 billpu 的回复:]
意思就是你的c:\下的mdf ldf会被删除 但是用专门的软件恢复还有可能恢复 比如enterprise recovery
[/Quote]
这个很难吧? C:\盘一般是系统盘,会有频繁的数据更新,估计原文件的空间被破坏了.
billpu 2010-12-27
  • 打赏
  • 举报
回复
意思就是你的c:\下的mdf ldf会被删除 但是用专门的软件恢复还有可能恢复 比如enterprise recovery
dzhu_87 2010-12-27
  • 打赏
  • 举报
回复
什么意思,还原时路径不在c:\...,而是在e:\...,会有什么问题。
唐诗三百首 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 dzhu_87 的回复:]
是通过界面来做的。
[/Quote]
还原时,有没有修改目标文件的路径为C:\...(即B库的路径)?
1. 如果有就没戏了,吸取教训.
2. 如果没有,那还可以在C:\...即B库的原路径下,找到B库的MDF和LDF文件,
删掉现有B库再附加进来就行了.也要吸取教训.
dzhu_87 2010-12-27
  • 打赏
  • 举报
回复
是通过界面来做的。
唐诗三百首 2010-12-27
  • 打赏
  • 举报
回复
请楼主把执行的完整restore database...语句贴出来?
这个很重要,或者是通过界面来做还原的?
billpu 2010-12-27
  • 打赏
  • 举报
回复
后果就是覆盖了e盘的这两个文件(如果存在)
所以我认为你的b数据库没问题 你自己用工具软件恢复看看
dzhu_87 2010-12-27
  • 打赏
  • 举报
回复
With Move ... to ...有什么后果。
dzhu_87 2010-12-27
  • 打赏
  • 举报
回复
B数据库我放在c:\盘,A数据库还原的时候A_Data.MDF显示存到E:\A\Database\A_Data.MDF
A_LOG.LDF显示存到E:\A\Database\A_LOG.LDF
唐诗三百首 2010-12-27
  • 打赏
  • 举报
回复
同意billpu,简单的讲,
请楼主把执行的完整restore database...语句贴出来.
除非楼主在restore指令中加了with move .. to ..的选项,否则可能还有希望.
billpu 2010-12-27
  • 打赏
  • 举报
回复
这样吧我贴个详细的给你
CREATE DATABASE db1  --创建数据库db1,数据库路径为db1_data.mdf,db1_log.ldf
CREATE DATABASE db2 --创建数据库db1,数据库路径为db2_data.mdf,db2_log.ldf
BACKUP DATABASE db2 TO DISK='c:\db2' --对数据库db2进行备份
RESTORE DATABASE db1 FROM DISK='c:\db2' WITH replace --用c:\db2恢复db1,恢复了文件名还是叫db2_data.mdf,db2_log.ldf

就是说如果你没有修改恢复后的具体路径那还可以恢复
如果你还原的时候修改了db1的mdf,ldf,也就是这两个都覆盖的话,那就真没办法了
加载更多回复(14)

22,300

社区成员

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

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