(工作第一个坑,不小心把客户的数据删掉了,自己挖的自己填)
工具简介
ApexSQLLog工具是用于处理数据库操作失误导致的数据丢失、数据改变等问题的工具。以下进行简单的操作讲解。该工具的运行原理是根据数据库日志文件来找回丢失、改变的数据(如果日志文件中不存在记录,可能就无法使用该工具找回了)
工具下载
下载地址1:
http://pan.baidu.com/s/1c0t0cSw
(如找到其他地址,会继续更新)
特别提示
总结一些注意点吧,自己平时也要看看。
- 出现失误操作的时候一定要在察觉到的第一时间将数据库的mdf和ldf文件复制出来,同时要记下删了多少数据,恢复时有用;
- 恢复工作最好不要在本机操作,去虚拟机或者其他测试用的环境里面搞;
- 先做一个测试的数据库和正式数据做对比,确认下你所删除的数据量与你找回的数据量是否一致;
操作讲解
一、 工具下载好之后,双击打开,可以看到以下界面,点击【新增】开始恢复(这里所说的恢复过程属于个人称呼,就是说我恢复数据的这个过程,非专业名词)
二、 在以下界面中设置好要连接的数据库
-
Server(服务器)
这里可选择local,表示本地的意思。Recent servers:最近的服务器;Local servers:本地服务器。
-
Authentication(证明)
这里是选择连接的方式,如:Windows Authetication是指使用本机识别登录;SQL Server Authentication是指使用SQL Server用户进行登录。如选择SQL用户登录,则下方的账号密码就需要填写了。
(建议不要用sa用户,目前我测试发现使用这个工具后我的sa被锁定了)
-
User和Password
这个就不用说了,就是在你选择SQL Server Authentication的登录方式的时候用的,输入用户名和密码。 -
DataBase(数据库)
这个也不用说啦,做了数据库肯定知道DataBase是数据库的意思了,所以这里就是选择需要进行恢复的数据库了。 -
recent sessions
这个是指最近的连接,近期连接会记录在这里,以供查看。
三、 选择好了数据库之后就需要设置查询数据的条件了。
-
Time range(时间范围)
这里是选择你出现失误的时间,什么时候出现失误的,获取这个时间段的日志信息,用来恢复。
Last:这里是设置数据源中的最后几个小时的数据。
First:这里是设置数据源中几个小时前的数据,跟上面的是有不同的。
Whole transaction log:是指选择所有的日志信息。
Custom:这个就是设置时间区间了,from什么时候to什么时候。 -
Operations(操作)
这里选择出现问题的操作,比如:如果是误删了某些数据,就只需要勾选Data operations里面的Delete row就可以了。
Data operations(DML):即数据操作,就是简单的插入、更新、删除,看你出现问题的时候所执行的语句是哪种。
Schema operations(DDL):即模式操作,这个也是看语句的,像建表、建触发器这些的,这里就不多说了,看语句都知道了。
-
Table(表)
这里是选择要恢复的表,即你操作失误导致了哪个表出现问题,当然如果是整个数据库就当我没说(应该没这么严重吧)。
-
Advanced options(高级选项)
这里的设置比较多,如处理方式、用户、字段值、标识符、类别等
-
Transactions(处理)
-
Users(用户)
这里就是选择出现问题时是使用哪个用户的账号的,默认都是所有的勾上。
-
field value
这个就是选择你要筛选的数据的字段值。
- SPIDs
- Descriptions
-
附加选项
- Columns
- Old table ID mappings(旧表ID映射)
四、 条件选择好之后就能够开始分析数据了,这里可以看到有三个选择,分别是:在窗格中打开结果、输出结果到文件、创建路径文件,根据需要选择,一般是选第一个。
五、 打开后分析完毕后,我们可以看到像下图这样的样式了,右边显示的就是我们执行的错误操作,点中其中一行就可以在下边的Operation Detail中看到各个字段的值。这时候我们要做的,大概就是检查下我们需要修改的数据和目前所查出来的数据是否大致一样多,是不是目前所查出来的数据,是的话就恭喜,不是的话就只能默默安慰孩子了。
六、 确认以上数据是自己要找的数据之后,就可以去生成恢复用的语句了。
这里需要注意:
- 恢复语句生成出来后,可以直接执行,不需要修改,这里生成的语句是一条数据对应一条语句;
- 如果需要恢复的数据过大,产生的SQL文件也就越大,查过3M的就无法预览,会直接生成文件;
- SQL文件太大时,要考虑电脑内存是否足够支持运行,不足的话会有错误提示的;
- 记住如果是需要输出所有的记录,需要勾选所有,这可不是按照你搜索出来的所有进行输出;
七、 以下是选择SQL文件保存的位置
八、 之后就是找到保存的文件,用SQL管理工具打开执行语句即可。(数据涉及商务,不给看,虽然也看不到啥)
工具破解
这个工具整体来说还是很好用的,能够找回我需要的数据,但是遇到一个万恶源泉:
简单来说就是试用版不能把所有的数据恢复语句都下载下来,每次就10条,我9万多数据咋搞。所以网上找了找,找到一位博主大大发的补丁,真香定律一下就通了,这里就引用下,需要的去拿,我这里暂时不做详细指导,不过那里没有教程,只是简单提示了下,改下次在更新详细指导。
补丁破解下载博客地址:
https://www.cnblogs.com/gsyifan/p/ApexSql_Log_Crack.html