如何从SQL Server 2005表中恢复已删除的行?

时间:2010-04-25 07:15:04

标签: sql-server-2005 data-recovery

如何从SQL Server 2005表中恢复已删除的行?

5 个答案:

答案 0 :(得分:4)

如果您有已删除数据的数据库备份:

  • 在单独的数据库中恢复备份并从中恢复已删除的数据

如果没有备份,但您的数据库处于完全恢复模式:

您需要第三方工具的帮助,因为事务日志没有详细记录。这是因为它的目的不是用于这种恢复。但是,如果您可以阅读它,那里有很多有用的细节可用于恢复意外删除的数据。

答案 1 :(得分:1)

回滚事务(如果您启动了事务)。

恢复备份(如果有的话)。

[edit]如果你有事务日志,你应该能够将数据库的备份恢复到大致就在删除行之前(假设你知道什么时候)。

答案 2 :(得分:1)

我们可以通过两种方式恢复特定的表:

  1. 第一个:使用no_truncate备份的t-log选项恢复后恢复完整备份而无法恢复
  2. 第二种方式:使用触发器,我们可以使用审计表恢复已删除的表。

答案 3 :(得分:1)

ApexSQL Log工具可以是已删除行的解决方案。如果数据库事务日志(联机,备份)中存在DELETE操作(数据库未使用简单恢复模型),则该工具可以为该操作创建撤消T-SQL脚本。

免责声明:我在ApexSQL担任产品支持工程师

答案 4 :(得分:0)

如果您需要“恢复到某个时间点”选项,请不要忘记为数据库设置完整恢复模型!