急!一个数据库还原问题

bashen1101 2012-09-13 11:45:54
早上数据库误操作了,部分数据冲了,想要恢复到指定时间点


1。数据库恢复模式是完整
2。误操作后,做了一个全备,然后再做了一个LOG备份
3。版本SQL SERVER 2005 SP4

问题发生后,做了一次还原,方式是从源数据库恢复,指定时间点,但是报错:
“System.Data.SqlClient.SqlError:无法打开备份设备 D:\abc.bak 。出现操作系统错误2(error not found)。”
疑为很早以前的备份被删除所以未找到。。。

请教一下接下去该如何操作,谢谢
...全文
356 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
感叹号1314 2013-06-03
  • 打赏
  • 举报
回复
用英文文件夹,备份名称加.bak
  • 打赏
  • 举报
回复
备份还原机制,就是要一早制定维护方案的,比如定期完整备份和增量备份。
如果不早做备份也行的话,又何必有备份,直接只要还原功能就OK了。
备份还原是一套预险机制,不是用来提供万能后悔药的。
这个教训楼主是吃定了。
rfq 2012-09-24
  • 打赏
  • 举报
回复

完全备份 已经截断日志, 在备份日志 已经没有可备份日志。
在用日志备份还原可能已经不行了

2005 的完全备份已经包含日志 , 你从完全备份还原到及时点 看看行吗

如果不行 , log explore 看看

coco_Angel 2012-09-24
  • 打赏
  • 举报
回复
05可以用工具恢复
xiaohua_xu 2012-09-24
  • 打赏
  • 举报
回复
怎么你没有做定期备份的方案呢?
笑-着活下去 2012-09-21
  • 打赏
  • 举报
回复
可能你已经建好的数据库不存在了,就该早做备份。还原的时候要把数据库文件和日志文件的文件路径选正确,然后在选项中要钩选在数据库上强制还原
bashen1101 2012-09-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

如果有误操作之前有完整备份,可用日志还原的方法

如果之前没做过完整备份,用 log explorer 4.0以上版本可恢复
[/Quote]
试了4.1版本,在WINDOWS SERVER 2008上装不上。。。
發糞塗牆 2012-09-13
  • 打赏
  • 举报
回复
由于你的还原方式有误,估计除了用工具分析日志之外,很难有其他方法了。
以学习为目的 2012-09-13
  • 打赏
  • 举报
回复
直接用log explorer恢复吧。你只是部分数据,直接log explorer找到误操作语句和被操作的数据,然后恢复回去。
中国风 2012-09-13
  • 打赏
  • 举报
回复
在误操作前需要有完整备份

再把误删除之后的日志重写,指定时间点

建议楼主用log explorer 4.0以上版本恢复试试,安全

操作和下载在网上可找到
bashen1101 2012-09-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

当你做全备之后,原有的日志备份顺序链已经被打破了。你的这个操作有误,应该先备份日志尾部,然后还原到误操作之前的时间。但是现在的话只能找到你以前的备份来还原了。
[/Quote]
误操作后,我是先从源数据库恢复,但是报了错,这时候也没有其他备份文件,所以做了全备,再做日志备份。
你的意思是,当没有此前的全备文件的时候,也还是先做日志备份,再做全备,是吗?
中国风 2012-09-13
  • 打赏
  • 举报
回复
如果有误操作之前有完整备份,可用日志还原的方法

如果之前没做过完整备份,用 log explorer 4.0以上版本可恢复
發糞塗牆 2012-09-13
  • 打赏
  • 举报
回复
当你做全备之后,原有的日志备份顺序链已经被打破了。你的这个操作有误,应该先备份日志尾部,然后还原到误操作之前的时间。但是现在的话只能找到你以前的备份来还原了。
zhazhuzhao 2012-09-13
  • 打赏
  • 举报
回复
看来很多人不是很清楚数据库的还原机制啊!数据库全备份需要早做,否则后悔莫及啊!
bashen1101 2012-09-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

Log Explorer不一定要裝在服務器上的,可以裝在其他機器,遠程去連接SQL Server即可.
[/Quote]
Log Explorer分2个部分,1个部分是client,另一个部分是side of server,好比SQL查询分析器和SQL实例的关系
也就是说,光装client没用,需要在想读取LOG的服务器上安装side of server
----------------------------------
另外试验结果:Log Explorer 不可读取LDF(需要误操作后未做过备份操作才可读取),可读取备份LOG文件(无论是先全备还是先LOG备份)
总结:用Log Explorer确实可恢复,不过windows server 2008我没装上。
worst54 2012-09-13
  • 打赏
  • 举报
回复
学习了,还望楼主把实验的结果发出来
唐诗三百首 2012-09-13
  • 打赏
  • 举报
回复
Log Explorer不一定要裝在服務器上的,可以裝在其他機器,遠程去連接SQL Server即可.
bashen1101 2012-09-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

由于你的还原方式有误,估计除了用工具分析日志之外,很难有其他方法了。
[/Quote]
我做了一个一摸一样的试验,
完整模式》找不到初时完整备份》误操作》从源数据库还原提示出错》先备份LOG》再全备》先恢复LOG肯定失败》先恢复全备》再恢复LOG提示该LSN太早,也无法恢复

也就是说首先要满足的条件是要有完全备份,在找不到的情况下,之后的还原方式无论有没有误都没有用,接下去我试试LOG EXPLORER
zoujiliang2009 2012-09-13
  • 打赏
  • 举报
回复
我也受教了。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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