如何在沒有備份的情況下恢復 SQL Server 數據庫

概括:該博客描述了無需備份即可恢復 SQL Server 數據庫的手動和軟件方法。您可以通過運行“DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS”命令手動修復數據庫,但會丟失一些數據。對於快速且無風險的數據庫恢復,請考慮使用專門的 SQL 數據庫恢復軟件,例如用於 MS SQL 的 Stellar Repair。

由於幾個已知和未知的原因,隨時可能發生數據丟失。在沒有任何事先通知或警報的情況下,數據庫的許多表和其他組件可能會變得不可讀。最近,眾所周知的 SQL Server 數據庫備份副本可以幫助將已刪除和丟失的數據庫恢復到其原始狀態。這就是為什麼管理員總是建議定期備份數據庫的原因。

如果您沒有更新的備份或備份已損壞,則可能難以恢復 SQL Server 數據庫及其已刪除或無法訪問的數據。

另請閱讀:如何從損壞的備份文件中恢復 SQL Server 數據庫?

內容

  • 無需備份即可恢復 SQL Server 數據庫數據的方法
  • 尾註

無需備份即可恢復 SQL Server 數據庫數據的方法

手動方法

筆記:僅當您要還原的數據庫仍附加到 SQL Server 實例時,此方法才有效。如果您的數據庫處於脫機狀態,則無法執行 DBCC CHECKDB 命令。在這種情況下,唯一的選擇是使用專門的 SQL 恢復工具。

如果您沒有 SQL 數據庫的備份,您可以嘗試通過運行“DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS”命令來修復它。

警告!運行 DBCC CHECKDB 並不能保證使數據庫處於一致狀態。此外,使用“REPAIR_ALLOW_DATA_LOSS”選項可能會導致數據丟失。

使用 DBCC CHECKDB 修復損壞的 SQL 數據庫的步驟

  • 啟動 SQL Server Management Studio (SSMS),並連接到 SQL Server 實例。
  • 將數據庫置於 EMERGENCY 模式。
  • 在數據庫上運行 DBCC CHECKDB 以檢查損壞錯誤。

筆記:如果 DBCC CHECKDB 報告任何錯誤,它將推薦最少的修復選項來修復錯誤。

  • 使數據庫進入單用戶模式並使用 REPAIR_ALLOW_DATA_LOSS 命令運行 DBCC CHECKDB。如果成功,您的數據庫將得到修復,但會丟失一些數據。

有關使用 DBCC CHECKDB 命令修復 SQL 數據庫的詳細步驟,請參閱此鏈接。

軟件方法

與“DBCC CHECKDB”修復命令不同,Stellar Repair for MS SQL 軟件不涉及數據丟失風險。該軟件專門用於幫助用戶修復損壞的 SQL 數據庫(MDF 和 NDF)文件,無需備份,保留原始文件數據。修復後,該文件可用於將數據庫恢復到其原始、完整的形式。

SQL 數據庫恢復工具還可以處理所有類型的數據庫損壞錯誤,例如數據庫一致性錯誤、數據庫處於可疑模式、恢復掛起模式等。

另請閱讀:如何從可疑模式中恢復 MS SQL 數據庫?

該軟件可以幫助從損壞的 SQL 數據庫 MDF 和 NDF 文件中恢復不可讀的數據庫對象。

使用 Stellar Repair for MS SQL 軟件恢復 SQL 數據庫的步驟

使用軟件前要考慮的幾點:1.備份您要修復的 SQL Server 數據庫以防止進一步損壞。此外,請確保對備份文件而不是原始數據庫文件執行修復過程。2.應用程序自動檢查 SQL Server 版本:但是,如果文件嚴重損壞,您可以在“選擇數據庫版本”部分下手動選擇 SQL Server 版本。如果選擇的服務器數據庫文件版本無效,該工具將顯示“數據庫版本無效,請選擇適當的數據庫版本”消息。

第 1 步:下載、安裝並運行 Stellar Repair for MS SQL 軟件。

第二步:在軟件主界面窗口中,點擊瀏覽選擇你要恢復的數據庫文件。

注意:如果您不知道您的 db 文件的位置,請單擊“搜索”以查找並選擇該文件。

圖 1 – 選擇數據庫窗口

第 3 步:選擇文件後,選擇修復以啟動修復和恢復過程。

圖 2 – 修復 SQL 數據庫

第四步:修復過程完成後,軟件會在左側窗格中以樹狀結構顯示所有可恢復的項目,包括表、默認值、視圖、數據類型、同義詞等。單擊單個對像以在右窗格中查看其內容。

圖 3 – MS SQL 預覽窗口的 Stellar 修復

注意:與每個數據庫對象關聯的複選框默認在預覽窗口中被選中。但是,您可以選擇保存所有或特定的數據庫對象。

步驟 5:要保存數據庫文件,請單擊文件菜單上的保存或單擊快速訪問工具欄上的保存按鈕以在不備份文件的情況下恢復 SQL 服務器數據庫。

圖 4 – 保存選項

第 6 步:在出現的保存數據庫窗口中,選擇另存為部分下的 MDF 選項。

圖 5 – MS SQL 軟件文件保存選項的 Stellar 修復

第 7 步:接下來,在“保存選項”下,選擇以下任何選項:

  • 新數據庫:如果要將恢復的數據保存到新數據庫,請選擇此選項
  • 實時數據庫:如果要將恢復的數據保存到現有數據庫,請選擇此選項

要將恢復的對象保存到新數據庫,請執行以下步驟:

  • 單擊新建數據庫單選按鈕。
  • 提供服務器/實例名稱,然後選擇保存恢復的 SQL 數據庫對象的目標路徑。
  • 單擊保存以保存修復後的 MS SQL 數據庫文件。
  • 圖 6 – 將數據庫文件保存到新數據庫

    4.該過程成功完成後,將顯示一條消息,說明“文件保存在所需路徑”。單擊確定以繼續。

    圖 7 – 保存完整消息

    5.軟件會將數據庫保存為新數據庫。見下圖:

    圖 8 – 保存在所需位置的 SQL 數據庫文件

    要將恢復的對象保存到實時數據庫,請按照以下步驟操作:

    • 單擊實時數據庫收音機按鈕。
    • 提供服務器/實例名稱。
    • 接下來,從現有數據庫下拉列表中選擇要保存恢復的數據庫對象的文件。

    圖 9 – 將數據庫文件保存到實時數據庫

    • 選擇保存用於保存修復的 db 文件。
    • 修復過程完成後,您將收到“文件保存在所需路徑”消息。單擊確定。

    圖 10 – 保存完整消息框

    6.該軟件會將數據庫保存為實時數據庫。見下圖:

    圖 11 – 保存到實時數據庫的 SQL 數據庫文件

    閱讀 Microsoft MVP 對該軟件的評價。

    該軟件的主要優點

    • 一次批量修復多個數據庫表:SQL Server 數據庫恢復軟件允許同時保存多個數據庫表。這樣既省時又省力,整個恢復過程無縫完成。
    • 多個文件保存選項:這允許將修復的對象保存為多種文件格式。因此,恢復後,可以使用獨立的應用程序訪問數據庫文件。當以 HTML、CSV 和 XLS 文件格式存儲時,可以在不連接到 SQL Server 的情況下預覽數據。
    • 生成日誌報告:該工具將生成修復過程的日誌報告。此日誌報告包含有關在數據庫上執行的每個過程的信息。可以存儲日誌報告以供將來參考。

    尾註

    在 SQL Server 崩潰、磁盤故障、數據庫損壞或意外數據刪除的情況下,您可以依靠備份將數據庫恢復到一致狀態並恢復其數據。但是,您可能會遇到備份不可用或損壞的情況。但是,實施本文中描述的方法可以讓您準備好快速有效地應對任何災難。您可以嘗試手動修復數據庫或使用 SQL 文件恢復軟件。

    留下评论