【问题标题】:How to recover the record which is deleted from the table?如何恢复从表中删除的记录?
【发布时间】:2014-01-29 08:10:20
【问题描述】:

我有一张桌子(6 列)。它有 5 条记录。

我不小心从表中删除了一条记录。现在如何恢复被删除的记录。

我已经推荐了http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/ 这个问题的链接。 执行此查询以获取已删除记录的十六进制值。

Select [RowLog Contents 0] FROM sys.fn_dblog(NULL,NULL)WHERE AllocUnitName ='dbo.TableName' AND Context IN ('LCX_MARK_AS_GHOST', 'LCX_HEAP') AND Operation in ('LOP_DELETE_ROWS')

得到十六进制值:0x3000.......

之后我不知道应该如何拆分这个十六进制值。任何人都可以帮助我轻松拆分此十六进制值或提供任何其他建议以从表中恢复已删除的记录。

【问题讨论】:

  • 只是问,事务已经提交还是可以回滚?
  • 请提供sql server版本?
  • 我假设您没有包含数据的备份?

标签: sql sql-server


【解决方案1】:

如果您无法承受丢失数据的损失,这正是备份必不可少的原因。这通常是一个艰难的教训,但如果您的数据足够重要,以至于您将竭尽全力进行恢复,那么您应该对其进行备份。

由于您在这些数据中的数据很少,我将假设它是一个学习/测试系统或者它是一个查找表。如果是前者,那么重新创建表中的数据将非常简单。如果是后者,那么您将不得不尝试挖掘备份或以另一种方式重新创建数据。

【讨论】:

    猜你喜欢
    • 2014-08-25
    • 2012-08-23
    • 2013-02-26
    • 1970-01-01
    • 2012-05-20
    • 2019-06-18
    • 2017-02-02
    • 2013-12-05
    • 2011-04-28
    相关资源
    最近更新 更多