请教, sql sever 的表中误修改几十条数据如何恢复?

2017-01-18 09:39:49 +08:00
 forYou

1.sql sever 是 2008R2 的 2.没有安装 AdventureWorks 示例库 3.请大神,不吝赐教,越详细越好。

1396 次点击
所在节点    数据库
16 条回复
loading
2017-01-18 09:48:41 +08:00
还原
sxw11
2017-01-18 10:02:48 +08:00
如果没有备份的话,我记得有个软件是 Recovery for SQL Server 可以去试一下
forYou
2017-01-18 10:04:59 +08:00
@loading 没有备份,还原不了了, QAQ
enenaaa
2017-01-18 10:11:08 +08:00
通过日志恢复数据
jarlyyn
2017-01-18 10:12:33 +08:00
binlog?
jarlyyn
2017-01-18 10:13:02 +08:00
sry,看错。

但 sqlserver 应该也有类似 Binlog 的日志吧
sbbeta
2017-01-18 10:25:22 +08:00
通过日志,之前同事误操作删了几百条,上网找软件一条一条恢复回来
icemanpro
2017-01-18 10:26:06 +08:00
找 ApexSQL Log 2014
tomczhen
2017-01-18 10:32:30 +08:00
能还原的前提是数据库恢复模式是完整模式,并且日志还在。通常开发都是选择的简单模式(也有部署时图方便或者不懂选简单模式的),找回的可能性很小。

参考资料: https://technet.microsoft.com/zh-cn/library/ms175987(v=sql.105).aspx

如果是业务数据,可以通过关联数据反推来达到修复的目的。如果不是的话,只能去找历史报表数据恢复,都没有的话就认命好了。

只能说,让连基本知识都不懂的人来直接操作数据库这就是代价。操作生产环境要时刻心怀敬畏,谨记墨菲定律,不可侥幸。
forYou
2017-01-18 14:13:13 +08:00
@jarlyyn 是的。
@sbbeta 可以说下用的什么软件和具体操作的步骤吗
forYou
2017-01-18 14:15:34 +08:00
@tomczhen 谢谢
ykwlv
2017-01-18 14:18:03 +08:00
有一次(具体是有两次),在 mysql 的 console 中, update 修改数据,后面没有加 where ,手滑打上分号,直接整张表全部修改了。后来网上查了方法,用 binlog ,可以查出来当时修改操作,修改前和修改后的数据,然后就写个脚本恢复数据了。
sbbeta
2017-01-18 17:28:35 +08:00
@forYou MDFVIEW 你百度百度
sbbeta
2017-01-18 17:29:52 +08:00
@forYou 软件用的是鱼肠 MSSQL 数据库修复工具
L3ve
2017-01-18 17:31:54 +08:00
你是网易的员工吗?
0915240
2017-01-18 22:18:54 +08:00
@L3ve 啊哈哈哈哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/335296

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX