如果資料庫遭到刪除或毀損,您可以透過下列任一方式還原資料庫:
- 執行完整還原作業
- 建立複本,或幾乎立即將資料庫掛載為虛擬應用程式,然後將其遷移回原始位置或新位置。如要掛載及遷移資料庫,請參閱「SQL Server 掛載和遷移」。
還原程序由精靈引導,且會根據您要還原的資料庫單一映像檔 (例如 Always On 可用性群組 (AG) 的成員) 或 SQL 執行個體中的多個映像檔而略有不同。
事前準備
執行本節中的程序前,請確認:
資料庫未處於緊急模式。
等待執行中的工作完成。
Microsoft SQL Server 資料庫還原功能總覽
還原功能會將原始實際運作資料庫資料,替換為所選時間點的映像檔,或備份金庫中的映像檔。這項還原作業會導致所有目前的資料庫資料遺失,因為資料庫會在還原至圖像建立時的狀態時覆寫。這項操作無法復原。
資料損毀事件發生後,系統通常會執行還原作業,將資料庫還原為有效狀態。完成還原作業所需的時間取決於相關資料量。
使用 Microsoft SQL Server 完整復原模式的資料庫會使用單一政策來擷取資料庫及其記錄。只要將其記錄向前回溯,即可將這類資料庫還原至任何時間點。如果您透過管理控制台還原資料庫,並指定「Restore With Recovery」(還原並復原),則系統會在套用記錄後還原 SQL Server 資料庫並上線。
備份和災難復原服務支援在還原 Microsoft SQL Server 資料庫和執行個體時的下列常見用途:
執行就地資料庫還原作業:如果實際工作環境資料庫或執行個體已損毀,但仍處於線上狀態,請執行還原作業。
使用虛擬應用程式 (虛擬應用程式掛載):您可以使用已損壞的 SQL Server 執行個體或資料庫的最後已知良好版本,以虛擬應用程式掛載的方式,讓使用者和應用程式盡快恢復工作。接著,您可以使用掛載和遷移功能在背景遷移資料庫,請參閱「SQL Server 掛載和遷移」。
還原 Microsoft SQL 執行個體和資料庫
這是最簡單且最常見的還原情境。在這種情況下,您會將所選 SQL 資料庫從先前的映像檔還原至原始資料庫伺服器。資料庫必須處於連線狀態,才能進行這類還原作業。如果資料庫未連線,則還原作業會在資料庫驗證期間失敗;在這種情況下,請改為複製資料庫。
如何執行此程序:
Microsoft SQL Server 資料庫必須處於連線狀態。如果資料庫不在線上,還原作業在驗證資料庫時會失敗。
等待執行中的工作完成。
如要還原 SQL Server 資料庫,請按照下列步驟操作:
開啟應用程式管理工具,前往「應用程式」頁面。
以滑鼠右鍵按一下要還原的 Microsoft SQL Server 資料庫,然後從下拉式清單中選擇「Access」。「存取」頁面會開啟「時間軸」階梯檢視畫面,列出已擷取的圖片。支援還原作業的圖片類型包括快照和 OnVault,但必須使用擷取圖片的相同裝置。
如果需要使用其他應用程式還原,請改用複製作業。
背景會區分含有 SQL Server 資料庫和交易記錄檔的快照映像檔,並說明記錄的還原範圍時間
選取圖片,然後從作業清單中選取「還原」。系統會開啟「Restore」(還原) 頁面。
為這項還原作業選取「傳統」。
如果所選資料庫沒有記錄,則「Restore」頁面不會顯示回溯選項。如果 SQL Server 資料庫是使用記錄保護備份範本管理,且映像檔提供記錄,您可以:
指定要使用使用者時間或主機時間來回溯。您可以根據使用者時間或房東時間設定日期和時間。使用者時間是相對於目前畫面的觀眾而言。主機時間是相對於主機資料系統而言。
使用日曆工具選取回溯運算的日期。
使用「還原範圍」滑桿,選取所選日期的特定時間來還原資料庫。將滑桿工具滑動至最左側,選取最早的日期,即可只還原 SQL Server 資料庫,而不會回溯任何記錄。
如果您想讓資料庫維持在還原模式,請取消勾選「Restore With Recovery」核取方塊。使用復原功能還原資料庫後,資料庫就會上線。上線後,就無法再套用記錄。
按一下「提交」。
警告對話方塊隨即開啟。閱讀完畢後,請輸入「DATA LOSS」確認。還原工作會開始。您可以查看系統監視器中的作業狀態,確認還原作業是否成功。
還原 SQL 系統資料庫
備份和災難復原服務可以探索及備份 Microsoft SQL 系統資料庫,就像 SQL Server 使用者資料庫一樣。
如要還原 SQL 系統資料庫,您必須先掛載該資料庫的最後一個已知良好版本,然後使用檔案複製作業,將良好的 SQL Server 系統資料庫 .mdf 和 .ldf 檔案複製到主機為損毀 SQL 系統系統資料庫的來源 SQL 伺服器。
- 前往「應用程式管理工具」,然後選取「應用程式」。
選取並掛載一致性群組的最後一個已知正常映像檔。請務必取消選取「Create new virtual application」。
請盡可能使用以下查詢範例,顯示資料庫的檔案位置:
SELECT name, physical_name AS current_file_location FROM sys.master_files
在 SQL 執行個體中,使用 SQL Server 組態管理工具或服務 MMC 來停止來源 SQL 執行個體:
使用 Windows 檔案總管或其他方式,前往 SQL 系統資料庫的已掛載備份。
複製要還原的資料庫的已掛接 .mdf 和 .ldf 檔案。
使用 Windows 檔案總管或其他方式,前往來源 SQL Server 資料庫:
將 .mdf 和 .ldf 檔案貼到來源 SQL Server 資料庫中。
在 SQL 執行個體中,使用 SQL Server 組態管理工具或服務 MMC 重新啟動來源 SQL Server 資料庫。
還原至 SQL Server 叢集
對於 SQL Server 容錯移轉執行個體,資料庫一律會還原至主動節點。針對 SQL Server 可用性群組,還原作業會在所有節點上執行。
還原一致性群組中的 SQL Server 資料庫
請謹慎在一致性群組中還原 Microsoft SQL Server 資料庫 (請參閱「還原一致性群組」)。還原一致性群組中的 SQL Server 資料庫時,系統會覆寫一致性群組中的所有資料庫。
備份和災難復原 SQL Server DBA 指南
本頁是一系列專門說明如何使用備份和 DR 保護及復原 Microsoft SQL Server 資料庫的文章之一。如需更多資訊,請參閱:
- SQL Server 資料庫的備份和 DR
- 為備份和災難復原服務準備 SQL Server 資料庫
- 新增 SQL Server 資料庫主機並探索資料庫
- 為 Microsoft SQL Server 執行個體和資料庫設定備份計畫
- 掛載 SQL Server 資料庫
- 將資料庫掛載至 SQL Always On 可用性群組
- 遷移 SQL Server 資料庫
- 複製 SQL Server 資料庫
- 還原 SQL Server 備份