最近跟 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后,会把被删除的数据给找出来,如下图,

最新文章

  1. .net的简易多线程处理
  2. xwalk_core_library-15.44.384 .13.aar 百度云分享
  3. centos/redhat安装mysql
  4. Graphics 导出图片使用【这个主要是画图类图的使用,记录一下】
  5. 分布式算法系列——一致性Hash算法
  6. android的简单入门学习
  7. 《Android开发艺术探索》读书笔记 (9) 第9章 四大组件的工作过程
  8. Http服务器性能测试工具ab..
  9. 对象转Json序列化
  10. EasyUI Messager 消息框
  11. 华中农业大学新生赛C题
  12. 读Zepto源码之Ajax模块
  13. 小明搬家_NOI导刊2010提高(05)
  14. Ruby Enumerator的各种迭代
  15. 吴恩达机器学习笔记3-代价函数II(cost function)
  16. Zookeeper系列2 原生API 以及核心特性watcher
  17. centOS7 修改DNS
  18. 团队作业(HCL队)第三周—需求改进和系统分析
  19. elasticsearch插件安装之--linux下安装及head插件
  20. 《Windows核心编程》第十一章——线程池

热门文章

  1. ACdream 1427 Nice Sequence
  2. ER模型
  3. NSIS:静默释放文件并运行 制作绿色单文件软件
  4. WebGL 支持测试,并已支持的浏览器版本摘要
  5. POJ2299 Ultra-QuickSort 【树阵】+【hash】
  6. iOS发展系列II - UILabel 使用摘要
  7. 第三十 访问财富进退自如 —Spring交易管理
  8. UVA11992 - Fast Matrix Operations(段树部分的变化)
  9. 第三十讲:Android之Animation(五)
  10. linux终奌站 信息 格式 更改 /etc/bashrc