最近跟 James 讨论为何「ApexSQL Log」这个工具可以读到被删除的数据呢?

原来它是透过 Transaction Log 来读取数据的!

于是透过 Transaction Log 到网络上有找到「SQL Server – How to find Who Deleted What records at What Time」直接透过 Transaction Log 来把被删除的数据给找回来!

蛮神奇的,只是Run在我的区分大小写的DB中会发生错误,因为有些字段名称大小写没有一致,于是就调整了一下!

刚开始在SQL 2012中运作都正常,到了SQL 2005及SQL 2008,删除的人员及时间居然没有显示出来。 www.it165.net

再检查一下,原来是因为sysusers跟fn_dblog中的Transaction SID Join不到,所以改用SUSER_SNAME也蛮清楚的!

另外,原本要输入数据库名称,改为自动取得现在执行的数据库。

修改后的SP,请从附件download,希望对大家有帮助,谢谢!

测试范例如下,

01.--先建立测试的数据,并删除它
02.Create Table tbl_Sample
03.([ID] int identity(1,1) ,
04.[Namevarchar(50),
05.[T1] int)
06.GO
07.Insert into tbl_Sample values ('Letter A', 11)
08.Insert into tbl_Sample values ('Letter B', 22)
09.Insert into tbl_Sample values ('Letter C', 33)
10. 
11.Select from tbl_Sample
12.DELETE FROM tbl_Sample
13. 
14.--执行找回被删除数据的SP
15.--1.输入删除的Table Name 从 Transaction Log 找所有被删除的数据
16.EXEC Recover_Deleted_Data_With_UID_Date_Time_Proc  'dbo.tbl_Sample'
17.--2.输入删除的Table Name 从 Transaction Log 在时间区间中,找出所有被删除的数据
18.EXEC Recover_Deleted_Data_With_UID_Date_Time_Proc  'dbo.tbl_Sample','2013/05/23','2013/05/23'

执行SP后,会把被删除的数据给找出来,如下图,

通过Transaction Log(fn_dblog)取回被删除的数据的更多相关文章

  1. The transaction log for database 'xxxx' is full due to 'ACTIVE_TRANSACTION'

    今天查看Job的History,发现Job 运行失败,错误信息是:“The transaction log for database 'xxxx' is full due to 'ACTIVE_TRA ...

  2. The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'

    今天早上,Dev跟我说,执行query statement时出现一个error,detail info是: “The transaction log for database 'tempdb' is ...

  3. SQL Server Transaction Log Truncate && Shrink

    目录 什么是事务日志 事务日志的组成 事务日志大小维护方法 Truncate Shrink 索引碎片 总结 什么是事务日志 Transaction log   是对数据库管理系统执行的一系列动作的记录 ...

  4. DB2 “The transaction log for the database is full” 存在的问题及解决方案

    DB2在执行一个大的insert/update操作的时候报"The transaction log for the database is full.. "错误,查了一下文档是DB ...

  5. 分布式中的 transaction log

    分布式中的 transaction log 在分布式系统中,有很多台node组成一个cluster,对于client 的一个写操作请求而言,在什么样的情况下,cluster告诉client此次写操作请 ...

  6. 测试用的数据库Transaction Log太大, 用于缩减它的脚本

    记在这里, 备用. select name, recovery_model_desc from sys.databases where name = 'WSS_Content_1000' USE WS ...

  7. The transaction log for database 'XXX' is full due to 'ACTIVE_TRANSACTION'.

    Msg 9002, Level 17, State 4, Line 4The transaction log for database 'Test' is full due to 'ACTIVE_TR ...

  8. Replication:The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'

    今天早上,Dev跟我说,执行query statement时出现一个error,detail info是: “The transaction log for database 'tempdb' is ...

  9. what can we do if just only want to truncate transaction log without backup ?

    n some circumstances, we just want to truncate transaction log without backup and refuce change data ...

随机推荐

  1. UVa 10012 - How Big Is It? 堆球问题 全排列+坐标模拟 数据

    题意:给出几个圆的半径,贴着底下排放在一个长方形里面,求出如何摆放能使长方形底下长度最短. 由于球的个数不会超过8, 所以用全排列一个一个计算底下的长度,然后记录最短就行了. 全排列用next_per ...

  2. oracle_单向函数_数字化功能

    oracle_单向函数_数字化功能 1.abs(x)   为了获得x绝对值 2.ceil(x)   用于获得大于或等于x的最小整数. 3.floor(x)   用于获得小于或等于x 4.mod(x,y ...

  3. 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序。

    原文 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序. win7 64位操作系统上边运行IIS网站应用的时候,提示错误"试图加载格式 ...

  4. (大数据工程师学习路径)第二步 Vim编辑器----Vim文档编辑

    一.vim重复命令 1.重复执行上次命令 在普通模式下.(小数点)表示重复上一次的命令操作 拷贝测试文件到本地目录 $ cp /etc/protocols . 打开文件进行编辑 $ vim proto ...

  5. HDU 1198 Farm Irrigation (并检查集合 和 dfs两种实现)

    Farm Irrigation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. jsScript中的一些操作方法

    1.采用dom方式对script标签进行操作 var h = document.getElementsByTagName('HEAD').item(0); var s = document.creat ...

  7. linux_环境变量设置 utf-8

    echo $LANG 显示编码  :  en_US.UTF-8  英文urf8有时显示程序输出是? 解决方法: vim ~/.bashrc 最后一行追加: export LANG=zh_CN.UTF- ...

  8. 前端学习笔记(zepto或jquery)——对li标签的相关操作(二)

    对li标签的相关操作——8种方式获取li标签的第一个元素的内容 1.alert($("ul>li").first().html());2.alert($('ul>li' ...

  9. java_eclipse_svn 与服务器同步时 ,忽略某类型文件和文件夹

    1. 在项目开发中使用svn ,带来很大的方便,有时我们会把整个项目上传的svn服务器上 这样就包含了  编译过的class文件  以及 一些 .svn,.log文件,有些文件时本地complie 的 ...

  10. Android微信道共用,没有反应

    研究2日,寻找良好的比较完整的文章一天.发送链接:http://www.apkbus.com/android-138326-1-1.html 然而,按照上面的教程一步一步做.结果点击分享或无反应. 出 ...