我更新了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. 在SQL Server 2008 R2中更新表
- 3. 在SQL Server 2012中撤消更新查詢
- 4. ADO.NET更新SQL Server 2008中的表
- 5. SQL Server 2008 - 更新臨時表
- 6. SQL Server 2008:使用主鍵更新表
- 7. 更新多行SQL Server 2008
- 8. sql server 2008更新select threadsafe?
- 9. SQL更新查詢 - 撤消引用
- 10. 在SQL Server中更新表
- 11. 更新sql server 2008中的XML字段
- 12. SQL Server 2008中的更新列 - SSIS
- 13. SQL Server 2008中的PIVOTs更新
- 14. 排除更新SQL Server 2008中的行
- 15. SQL Server 2008中的更新列
- 16. 更新SQL Server 2008中查看
- 17. 更新視圖 - SQL Server 2008中
- 18. 案例中的SQL Server 2008更新
- 19. 更新觸發器在SQL Server 2008
- 20. 更新一行在SQL Server 2008
- 21. SQL Server 2008 - 需要更新SQL幫助
- 22. 如何在SQL Server 2008中用鎖定表更新大量行?
- 23. 在SQL Server 2008 R2中更新表的XML列
- 24. 在SQL Server 2008中使用自連接更新表
- 25. 在SQL Server 2008中插入一些值後更新表格
- 26. 在同一個表中更新datetime字段sql server 2008
- 27. 更新一個表從另一個表中的SQL Server 2008
- 28. 如果存在更新else插入記錄在SQL Server 2008表
- 29. 更新SQL Server表
- 30. 如何撤消Mercurial更新
我聽說SQL Server中有東西,我猜它叫做事務日誌,它包含我所做的所有事務,但我不確定它! – sikas 2010-06-06 16:48:59
@sikas - 你知道你的數據庫有什麼恢復模式嗎? – 2010-06-06 17:26:15
不知道,我怎麼知道? – sikas 2010-06-07 16:59:17