急求sql server 2012 日志恢复工具!!!

wgsasd311 2014-02-14 04:52:20
谁有SQL SERVER 2012日志查看工具,我网上搜了下,SQL SERVER2000,2005,2008的版本的当有日志查看工具,就是2012版本的没有找到,假如在SQL SERVER2012中误删了数据,谁有什么好方法可以恢复误删的数据。
...全文
6063 29 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuwenchengz 2015-07-29
  • 打赏
  • 举报
回复
我有这款软件破解版,有需要联系QQ:363763427
tao0507 2014-12-31
  • 打赏
  • 举报
回复
引用 14 楼 DBA_Huangzj 的回复:
[quote=引用 12 楼 wgsasd311 的回复:] [quote=引用 7 楼 DBA_Huangzj 的回复:] 试下3楼的方法
我又试过了,是可以用,但一次只能恢复一条数据,比如我执行一条更新命令影响了10000行,我就得执行10000次的恢复(他没有多选功能),这是不可取的吧。[/quote]这个跟多少条没关系啊,比如你在12点delete了整表,你把数据还原到11:59,就可以找回这批数据[/quote] 我也试过了,我用的update语句忘了加where,不小心更新了几万条数据,只能一条条去恢复,但是,未注册版的只能恢复10条,特郁闷……
發糞塗牆 2014-02-19
  • 打赏
  • 举报
回复
你是用来研究的还是为了紧急处理问题?
wgsasd311 2014-02-19
  • 打赏
  • 举报
回复
谢谢各位的热情回答。
专注or全面 2014-02-18
  • 打赏
  • 举报
回复
引用 23 楼 yupeigu 的回复:
[quote=引用 20 楼 x_wy46 的回复:] [quote=引用 18 楼 yupeigu 的回复:] [quote=引用 16 楼 wgsasd311 的回复:] 3楼的方法,不是我要的,我要的是只恢复误删的数据,或是错误更新的数据,一般是执行了一条不带where语句的命令。
如果你有完全备份,另外也有日志,可以考虑: 把数据库还原成另一个数据库,比如你原来的数据库是xxx,那么用完全备份先还原成数据库yyy,注意,必须要修改文件的路径,然后用事务日志,恢复到错误操作之前的一个时间点,然后再把数据导出来,再导入到当前数据库中,这样就可以恢复被删除的数据了。[/quote] 假如是我,我也想到的是这个方法,呵呵 真正的敢去恢复整个生产库的,没经历过,也没见过, 我这里oracle的又一次也是采用这种方式恢复了 一个同事误删了一张表,DBA把备份文件在备份服务器上恢复了,然后拿出来这张表的数据导出来还原的 毕竟,不能说为了某个人的一张表,要停掉整个数据库。 另外,微软自己都没有公布根据日志生成基于脚本的还原技术,第三方的工具可靠吗? 我一直没有接触过这种第三方的工具,难不成是从微软离职sqlserver工程师的人写的,呵呵。[/quote] 另外,这个命令很重要,可以研究日志: dbcc log(数据库名称,1) 我刚才研究了一下,发现当执行:
begin tran
 delete from a
 rollback;
然后:dbcc log(数据库名称,1) 会有: LOP_BEGIN_XACT LOP_DELETE_ROWS LOP_DELETE_ROWS LOP_DELETE_ROWS LOP_SET_FREE_SPACE LOP_SET_FREE_SPACE LOP_INSERT_ROWS LOP_INSERT_ROWS LOP_INSERT_ROWS LOP_ABORT_XACT 说明,对于这种回滚的事务,也会有先删除,然后再插入的日志[/quote] 试了,也查阅了相关资料,这个问题好像比较复杂,不能一概而论 http://www.cnblogs.com/zhouqiang52154/archive/2009/06/20/1507488.html
發糞塗牆 2014-02-18
  • 打赏
  • 举报
回复
引用 19 楼 wgsasd311 的回复:
谢谢yupeigu 阳泉酒家小当家 要用备份和还原的方法我也知道,问题是数据库没有备份的情况下,或是日志不全(中间被truncate) ,就只能使用日志恢复工具了。现在网上没有类似log explorer(最高支持2008),能支持2012的第三方工具吗?
试试其他第三方软件,不过如果不买的话,只能使用了。但是事后处理毕竟不是好办法,还有一些要钱的,是针对MDF文件进行还原
唐诗三百首 2014-02-17
  • 打赏
  • 举报
回复
如果有完整备份+日志备份,可以尝试基于指定时间点的数据库恢复(restore加stopat选项),恢复到误删时间点之前即可.
fengxiaohan211 2014-02-17
  • 打赏
  • 举报
回复
好像有个商业版的 免费的貌似没有吧
LongRui888 2014-02-17
  • 打赏
  • 举报
回复
引用 20 楼 x_wy46 的回复:
[quote=引用 18 楼 yupeigu 的回复:] [quote=引用 16 楼 wgsasd311 的回复:] 3楼的方法,不是我要的,我要的是只恢复误删的数据,或是错误更新的数据,一般是执行了一条不带where语句的命令。
如果你有完全备份,另外也有日志,可以考虑: 把数据库还原成另一个数据库,比如你原来的数据库是xxx,那么用完全备份先还原成数据库yyy,注意,必须要修改文件的路径,然后用事务日志,恢复到错误操作之前的一个时间点,然后再把数据导出来,再导入到当前数据库中,这样就可以恢复被删除的数据了。[/quote] 假如是我,我也想到的是这个方法,呵呵 真正的敢去恢复整个生产库的,没经历过,也没见过, 我这里oracle的又一次也是采用这种方式恢复了 一个同事误删了一张表,DBA把备份文件在备份服务器上恢复了,然后拿出来这张表的数据导出来还原的 毕竟,不能说为了某个人的一张表,要停掉整个数据库。 另外,微软自己都没有公布根据日志生成基于脚本的还原技术,第三方的工具可靠吗? 我一直没有接触过这种第三方的工具,难不成是从微软离职sqlserver工程师的人写的,呵呵。[/quote] 另外,这个命令很重要,可以研究日志: dbcc log(数据库名称,1) 我刚才研究了一下,发现当执行:
begin tran
 delete from a
 rollback;
然后:dbcc log(数据库名称,1) 会有: LOP_BEGIN_XACT LOP_DELETE_ROWS LOP_DELETE_ROWS LOP_DELETE_ROWS LOP_SET_FREE_SPACE LOP_SET_FREE_SPACE LOP_INSERT_ROWS LOP_INSERT_ROWS LOP_INSERT_ROWS LOP_ABORT_XACT 说明,对于这种回滚的事务,也会有先删除,然后再插入的日志
LongRui888 2014-02-17
  • 打赏
  • 举报
回复
引用 19 楼 wgsasd311 的回复:
谢谢yupeigu 阳泉酒家小当家 要用备份和还原的方法我也知道,问题是数据库没有备份的情况下,或是日志不全(中间被truncate) ,就只能使用日志恢复工具了。现在网上没有类似log explorer(最高支持2008),能支持2012的第三方工具吗?
这个log explorer好像不支持2012的,不过,你可以在自己的电脑上安装一个2012,然后模拟数据损坏,然后用log explorer来尝试恢复看看
LongRui888 2014-02-17
  • 打赏
  • 举报
回复
引用 20 楼 x_wy46 的回复:
[quote=引用 18 楼 yupeigu 的回复:] [quote=引用 16 楼 wgsasd311 的回复:] 3楼的方法,不是我要的,我要的是只恢复误删的数据,或是错误更新的数据,一般是执行了一条不带where语句的命令。
如果你有完全备份,另外也有日志,可以考虑: 把数据库还原成另一个数据库,比如你原来的数据库是xxx,那么用完全备份先还原成数据库yyy,注意,必须要修改文件的路径,然后用事务日志,恢复到错误操作之前的一个时间点,然后再把数据导出来,再导入到当前数据库中,这样就可以恢复被删除的数据了。[/quote] 假如是我,我也想到的是这个方法,呵呵 真正的敢去恢复整个生产库的,没经历过,也没见过, 我这里oracle的又一次也是采用这种方式恢复了 一个同事误删了一张表,DBA把备份文件在备份服务器上恢复了,然后拿出来这张表的数据导出来还原的 毕竟,不能说为了某个人的一张表,要停掉整个数据库。 另外,微软自己都没有公布根据日志生成基于脚本的还原技术,第三方的工具可靠吗? 我一直没有接触过这种第三方的工具,难不成是从微软离职sqlserver工程师的人写的,呵呵。[/quote] 呵呵,对于oracle,一般可以直接flashback table drop ,就可以把被删除的表,从回收站恢复 这种第三方工具,主要是微软授权,把一些内部资料,让这些第三方公司去开发。
专注or全面 2014-02-17
  • 打赏
  • 举报
回复
引用 18 楼 yupeigu 的回复:
[quote=引用 16 楼 wgsasd311 的回复:] 3楼的方法,不是我要的,我要的是只恢复误删的数据,或是错误更新的数据,一般是执行了一条不带where语句的命令。
如果你有完全备份,另外也有日志,可以考虑: 把数据库还原成另一个数据库,比如你原来的数据库是xxx,那么用完全备份先还原成数据库yyy,注意,必须要修改文件的路径,然后用事务日志,恢复到错误操作之前的一个时间点,然后再把数据导出来,再导入到当前数据库中,这样就可以恢复被删除的数据了。[/quote] 假如是我,我也想到的是这个方法,呵呵 真正的敢去恢复整个生产库的,没经历过,也没见过, 我这里oracle的又一次也是采用这种方式恢复了 一个同事误删了一张表,DBA把备份文件在备份服务器上恢复了,然后拿出来这张表的数据导出来还原的 毕竟,不能说为了某个人的一张表,要停掉整个数据库。 另外,微软自己都没有公布根据日志生成基于脚本的还原技术,第三方的工具可靠吗? 我一直没有接触过这种第三方的工具,难不成是从微软离职sqlserver工程师的人写的,呵呵。
LongRui888 2014-02-17
  • 打赏
  • 举报
回复
引用 6 楼 wgsasd311 的回复:
ApexSQL 用不了,要注册才可以用
那个可以试用的。
發糞塗牆 2014-02-17
  • 打赏
  • 举报
回复
试下3楼的方法
wgsasd311 2014-02-17
  • 打赏
  • 举报
回复
ApexSQL 用不了,要注册才可以用
wgsasd311 2014-02-17
  • 打赏
  • 举报
回复
谢谢yupeigu 阳泉酒家小当家 要用备份和还原的方法我也知道,问题是数据库没有备份的情况下,或是日志不全(中间被truncate) ,就只能使用日志恢复工具了。现在网上没有类似log explorer(最高支持2008),能支持2012的第三方工具吗?
LongRui888 2014-02-17
  • 打赏
  • 举报
回复
引用 16 楼 wgsasd311 的回复:
3楼的方法,不是我要的,我要的是只恢复误删的数据,或是错误更新的数据,一般是执行了一条不带where语句的命令。
如果你有完全备份,另外也有日志,可以考虑: 把数据库还原成另一个数据库,比如你原来的数据库是xxx,那么用完全备份先还原成数据库yyy,注意,必须要修改文件的路径,然后用事务日志,恢复到错误操作之前的一个时间点,然后再把数据导出来,再导入到当前数据库中,这样就可以恢复被删除的数据了。
LongRui888 2014-02-17
  • 打赏
  • 举报
回复
这种第三方的工具,不知道有没有破解版的,你网上搜搜,要是有 ,应该有完全的功能。
wgsasd311 2014-02-17
  • 打赏
  • 举报
回复
3楼的方法,不是我要的,我要的是只恢复误删的数据,或是错误更新的数据,一般是执行了一条不带where语句的命令。
LongRui888 2014-02-17
  • 打赏
  • 举报
回复
引用 13 楼 wgsasd311 的回复:
[quote=引用 8 楼 yupeigu 的回复:] [quote=引用 6 楼 wgsasd311 的回复:] ApexSQL 用不了,要注册才可以用
那个可以试用的。[/quote] 我又试过了,是可以用,但一次只能恢复一条数据,比如我执行一条更新命令影响了10000行,我就得执行10000次的恢复(他没有多选功能),这是不可取的吧。[/quote] 嗯,确实是,这个试用版的,只有这个功能。。。
加载更多回复(8)

6,128

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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