2008-10-14 51 views
2

我們的測試數據庫突然缺少行。我們希望他們回來。如何撤消SQL Server 2005中的刪除操作?

有沒有辦法篩選今天發生在數據庫上的所有事情?每個SQL語句?我認爲這種東西在事務日誌中,但不知道如何查看它。

有沒有辦法來取消刪除操作?

BTW:是的,我們確實有一個備份,而是寧願找到缺失以及事業......

回答

1

你可以用一些Red Gate的工具做到這一點,但它的成本。看看SQL Log Rescue

否則,我會很想做一個恢復。

+0

是的,我們只是做一個恢復(本地數據庫),並試圖從那裏找出,修補測試數據庫。 – 2008-10-14 18:01:57

+1

Sql日誌拯救只適用於Sql Server 2000及更早版本。 – 2012-04-20 14:28:10

1

您需要一個第三方工具來執行此操作。該工具必須能夠進入事務日誌並查看日誌條目,以便查看發生了什麼。我沒有使用任何這些工具,但我會嘗試Red Gate的SQL Log Rescue作爲初學者。試試看:

http://www.red-gate.com/products/SQL_Log_Rescue/index.htm

2

[遲到的回答,但希望有用]

有一種方法可以使用事務日誌恢復已刪除的行,但僅限於使用第三方工具且只有您的數據庫處於完全恢復模式。

戴爾(原Quest)有Toad for SQL Server,ApexSQL有ApexSQL LogApexSQL Recover,它們也可以讀取t-log並恢復數據。不幸的是,Red Gate的Log Rescue只能讀取SQL Server 2000上的日誌。

還有一種使用未記錄的dbcc log命令讀取t日誌的方法。查看更多詳情here

考慮到您已經擁有數據庫備份,您可以將它們恢復到單獨的數據庫中,然後使用市場上存在的許多數據比較工具之一將缺失的數據插入生產數據庫。當然,這隻能在創建備份之前恢復數據刪除。

-1

您可以通過在SQL Server中使用Rollback命令來撤銷事務。但是,如果交易在Begin交易中執行,您需要知道交易可以回滾。