Sql-Server

將 BAK 文件與 SQL Server 數據庫關聯

  • April 13, 2020

我們的一個使用者從我們的一個數據庫應用程序中刪除了很多數據,我需要找到一種方法來恢復它。我有一個 bak 文件和完全恢復模式,但有一個問題。

這個 bak 文件不屬於這個數據庫,所以我沒有時間線恢復的選項。我可以按原樣恢復 bak,但它不包含我需要的所有數據。我唯一的其他選擇似乎是有些昂貴(約 2000 美元)的恢復工具,可以從事務日誌中恢復數據。

有沒有辦法讓 SQL Server 相信這個 bak 文件確實屬於這個數據庫?

我還有其他選擇嗎?

此 bak 文件未被辨識為屬於此數據庫

可能只是您沒有在目標數據庫上執行尾日誌備份。但是您應該首先將備份和所有日誌文件恢復到新數據庫,以確定它是否具有您需要的數據。然後,您可以繼續還原,也可以手動從新數據庫中複製數據。

我的假設是我可以結合使用 LDF 和 BAK 在任何給定點重構數據庫。它不是那樣工作的嗎?

不會。LDF 將在還原中被*覆蓋。*您必須首先將事務日誌記錄從 LDF 移動到日誌備份。這就是為什麼如果您沒有進行 Tail Log 備份,對現有數據庫的 RESTORE 將失敗:否則您將失去數據。

因此,在您開始恢復序列之前,請確保您已對數據庫進行了日誌備份。這會將目前在 .LDF 文件中的所有日誌記錄移動到日誌備份文件中,並使其可用於時間點還原。

使用 BAK 文件創建一個新數據庫。在使用任何程序之前複製所有 LDF,以確保您不會失去任何數據。

這是一個可能有助於理解問題的連結SQL Server 中的 LDF 文件是什麼?

您還可以嘗試從 LDF 讀取/恢復,這可能會很棘手 -我不負責使用這些連結中的任何程序或工具

  1. 讀取 LDF讀取 SQL Server 中的事務日誌——從 hack 到解決方案
  2. 另一個使用工具的範例如何從 SQL Server 中的 LDF 文件中讀取數據
  3. 影片範例如何顯示和恢復 SQL 日誌文件中的數據

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