Sql-Server

如何查詢備份中的數據?

  • August 9, 2019

我有一個使用 SQL Server 2017 的 ASP.NET 應用程序。某處存在導致某些記錄被刪除的錯誤,我正在嘗試恢復數據並查找錯誤的原因。我們每天進行備份,我有一個查詢來查找哪些記錄應該存在但不存在,所以我想在每個備份上執行並執行查詢。備份相當大,但我只需要整個數據庫中的 2 個表來進行查詢。在一個多月的備份中,最有效的方法是什麼?

我的建議是只恢復整個備份。在我目前的環境中,每隔幾個月就會有人不小心搞砸了一些桌子。它只是發生。當然,它總是會訪問我們最大的數據庫。200GB備份文件,完全恢復時1+TB。在某處恢復副本、找到我們需要的特定表並更新該特定數據更容易。整個過程大約需要一個小時左右。我懷疑任何其他解決方案會更快,值得額外的財務成本或增加的複雜性。

在不使用第三方軟體的情況下,您最好的辦法是一一還原備份並在還原的數據庫上執行查詢。

如果您正在尋找包含這些記錄的最後一個備份,您可以清楚地知道您恢復了哪些數據庫,因此您不必恢復所有這些數據庫。

例如,恢復最舊的備份,如果它包含記錄,則轉到中間的備份,如果不包含記錄,則在這些備份之間進行備份,等等。這仍然是乏味的工作,但至少你不會不必全部恢復。

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