Sql-Server

無論如何要恢復 Microsoft SQL Server 2008 R2 中的更新記錄嗎?

  • May 6, 2013

我們有一個使用我們的 Web 應用程序配置的測試數據庫。由於內部 Web 應用程序錯誤,條目已在數據庫中更新。有沒有辦法恢復更新的記錄?

我的問題簡介:

我的網路申請表有五個欄位,例如name, applicant number, date, d.o.b, address. 數據庫也配置了相同的列。現在由於內部網路應用程序的錯誤,申請人的號碼已被重複,並且每當生成第二個號碼時(讓我說申請人號碼為 12123 的數據被放置在數據庫中,並且由於 12123 的重複,數據庫行得到更新)它被更新.. 遺憾的是我們沒有任何備份(根本沒有備份)。

現在我們需要從數據庫中恢復更新數據的數據是否可以恢復更新的記錄..

我的數據庫恢復模式被預選為完整

有沒有第三方工具可以恢復數據?或者任何其他方法可以從 Microsoft SQL Server 2008 R2 恢復更新的行?

如果您曾經進行過備份,並且您的恢復模式是BULK LOGGEDFULL,那麼您可能會有一些運氣。不幸的是,如果在您遇到問題之前從未進行過備份,那麼您可能運氣不佳(正如 Martin Smith 在下面的評論中指出的那樣)。

您可以通過查看以下內容來檢查您是否曾經進行過備份:

SELECT db_name(database_id) as 'database', last_log_backup_lsn 
FROM sys.database_recovery_status

如果您從中失去數據的數據庫的 NULL 為 NULL last_log_backup_lsn,則該數據庫仍處於自動截斷模式,您的更改可能會永遠失去。

如果這是您可以離線的伺服器,我建議您關閉伺服器並先複製一兩個 .mdf/.ldf 文件,以防萬一您可以從中獲得有用的資訊。

有第三方工具,如Apex SQL LogToad for SQL Server,它們允許您直接查詢 .ldf 文件並希望看到數據發生了什麼,此外它們通常也可以查詢事務日誌備份文件。不幸的是,它們並不便宜,但您也許可以從試用版中獲得所需的功能(我也不使用,所以我不能確定這一點)。

如果您發現另一個工具可以讓您查看事務日誌備份,但不能查看 .ldf 文件,您應該能夠:

  1. 進行完整備份
  2. 進行第一次事務日誌備份(可能未壓縮以最大限度地提高工具使用它的機會)

然後使用步驟 2 中的備份。

不幸的是,您的里程可能會有所不同,因此我建議您在花費大量資金購買可能無法取回您的數據的工具之前,盡量使用試用版工具。

引用自:https://dba.stackexchange.com/questions/41569