我更新了SQL Server 2008中的一个表,意外,我正在通过单元格复制来更新另一个表,但是我覆盖了原始表。有没有一种方法可以恢复我的表格内容?在SQL Server 2008中撤消表更新
0
A
回答
4
不。如果您提交了交易,恢复原始表的唯一方法是从最近的备份中获取。
1
1
我听说有一些工具可能能够撤销在某些情况下的某些行动。这里有一篇关于如何在这些情况下最小化数据丢失的有趣文章link,它包括一些工具的链接。
您可能想在ServerFault上问这个问题,以及一些系统管理员可能会更好地了解。
5
这个工具说它可以做到,虽然有点昂贵。有一个试用期,也许这将是足够长的时间让您的数据备份:
-1
检查此链接。它展示了如何使用事务日志
https://www.experts-exchange.com/articles/28199/How-to-recover-deleted-rows-in-SQL-Server.html
文章表明,如果发生意外,我们如何能恢复被删除的数据恢复值。如果我们知道删除数据的时间,我们可以恢复已删除的行。我们可以使用LSN(日志序列号)来实现这个目标。它显示了通过使用LSN值检查事务日志来恢复已删除行的示例。更新使用'LOP_MODIFY_ROW'。
删除行后使用基于TRANSACTIONID以下查询
Select [Current LSN] LSN], [Transaction ID], Operation, Context, AllocUnitName
FROM
fn_dblog(NULL, NULL)
WHERE Operation = 'LOP_DELETE_ROWS'
和受影响的行数检查日志,筛选结果集。然后使用RESTORE DATABASE
从日志中恢复值。
注意:一旦意识到意外修改/删除,最好尽快恢复。数据库中发生的操作越多,事务日志值可能被覆盖的概率就越高。
相关问题
- 1. 如何撤消更新函数SQL Server?
- 2. ADO.NET更新SQL Server 2008中的表
- 3. SQL Server 2008 - 更新临时表
- 4. SQL Server 2008:使用主键更新表
- 5. 更新触发器在SQL Server 2008
- 6. 更新一行在SQL Server 2008
- 7. SQL Server 2008中的PIVOTs更新
- 8. 更新视图 - SQL Server 2008中
- 9. 排除更新SQL Server 2008中的行
- 10. SQL Server 2008中的更新列
- 11. SQL Server 2008中的更新列 - SSIS
- 12. 在SQL Server 2008中使用自连接更新表
- 13. 如何在SQL Server 2008中用锁定表更新大量行?
- 14. 在SQL Server 2008 R2中更新表的XML列
- 15. 在SQL Server 2008中插入一些值后更新表格
- 16. 如何撤消Mercurial更新
- 17. 更新SQL Server表
- 18. 如果存在更新else插入记录在SQL Server 2008表
- 19. 如何撤消包更新
- 20. 如何撤消SQL Server UPDATE查询?
- 21. 如何更新vb.net 2013的SQL Server 2008
- 22. SQL Server 2008“行更新”时间戳
- 23. SQL Server 2008的XML更新ü
- 24. 更新的SQL Server 2008登录SID
- 25. C#和SQL Server 2008批处理更新
- 26. SQL Server 2008 - 根据其他表中的值执行更新
- 27. SQL Server 2008 - 仅更新表中的特定行数
- 28. SQL Server 2008中:根据其它表的更新列
- 29. 更新SQL Server表 - 表未更新
- 30. SQL Server 2008报表:
我听说SQL Server中有东西,我猜它叫做事务日志,它包含我所做的所有事务,但我不确定它! – sikas 2010-06-06 16:48:59
@sikas - 你知道你的数据库有什么恢复模式吗? – 2010-06-06 17:26:15
不知道,我怎么知道? – sikas 2010-06-07 16:59:17