還原和復原概觀 (SQL Server)
若要從失敗中復原 SQL Server 資料庫,資料庫管理員必須依邏輯正確和有意義的還原順序來還原一組 SQL Server 備份。 SQL Server 還原及復原,可從一整個資料庫、單一資料檔或資料頁面的備份還原資料,如下所示:
資料庫 ( 「完整資料庫還原」 (Complete database restore))
將會還原並復原整個資料庫,且在還原與復原作業期間,資料庫會離線。
資料檔 ( 「檔案還原」 )
還原與復原一個資料檔或一組檔案。 在檔案還原過程中,包含該檔案的檔案群組會在還原的持續時間內自動離線。 任何存取離線檔案群組的嘗試都會產生錯誤。
資料頁 ( 「分頁還原」 (Page restore))
在完整復原模式或大量記錄復原模式下,您可以還原各個資料庫。 不論檔案群組的數目為何,在任何資料庫上都可以執行分頁還原。
SQL Server備份和還原在所有支援的作業系統上運作,無論是 64 位或 32 位系統。 如需支援作業系統的資訊,請參閱安裝SQL Server 2014 的硬體與軟體需求。 如需舊版 SQL Server 備份支援的相關資訊,請參閱 RESTORE (Transact-SQL) 的<相容性支援>一節。
本主題內容:
還原案例概觀
SQL Server 中的「還原案例」是指先從一個或多個備份還原資料,再復原資料庫的程序。 支援的還原案例視資料庫的復原模式與 SQL Server 的版本而定。
下表介紹各種復原模式可能支援的還原實例。
中的 | 在簡單復原模式下 | 在完整/大量記錄復原模式下 |
---|---|---|
完整資料庫還原 | 這是基本還原策略。 完整資料庫還原可能只包括還原和復原完整資料庫備份。 此外,完整資料庫還原也可能包括還原完整資料庫備份,接著再還原和復原差異備份。 如需詳細資訊,請參閱完整資料庫還原 (簡單復原模式)。 |
這是基本還原策略。 完整的資料庫還原包括還原完整資料庫備份和選用的差異備份 (如果有的話),然後依照順序還原所有後續的記錄備份。 復原最後一個記錄備份,並且加以還原 (RESTORE WITH RECOVERY),即完成完整資料庫還原。 如需詳細資訊,請參閱完整資料庫還原 (完整復原模式) |
File restore * | 還原一個或多個損毀的唯讀檔案,而不還原整個資料庫。 唯有當資料庫至少有一個唯讀檔案群組時,才能使用檔案還原。 | 還原一個或多個檔案,而不還原整個資料庫。 可以在資料庫離線時,或在資料庫仍在線上時 (適用於某些 SQL Server 版本) 執行檔案還原。 在檔案還原期間,包含正在還原中之檔案的檔案群組一律為離線狀態。 |
分頁還原 | 不適用 | 還原一個或多個損毀的頁面。 可以在資料庫離線時,或在資料庫仍在線上時 (適用於某些 SQL Server 版本) 執行分頁還原。 在分頁還原期間,正在還原中的頁面一律為離線狀態。 未中斷的記錄備份鏈結必須可用 (直到目前記錄檔),而且它們必須全都套用,才能使分頁與目前記錄檔保持一樣新。 如需詳細資訊,請參閱還原頁面 (SQL Server)。 |
分次還原 * | 在檔案群組層級上,從主要檔案群組開始,接著是所有讀取/寫入次要檔案群組,分階段還原和復原資料庫。 | 從主要檔案群組開始,在檔案群組層級上分階段還原和復原資料庫。 |
* 只有 Enterprise Edition 支援線上還原。
不論還原資料的方式如何,在復原資料庫之前,SQL Server 資料庫引擎保證整個資料庫在邏輯上是一致的。 例如,如果您要還原檔案,除非您已經將其向前復原到足以和資料庫保持一致的程度,否則無法加以復原並使其回到線上。
檔案或分頁還原的優點
還原與復原檔案或頁面 (而非整個資料庫) 可提供下列優點:
還原較少的資料,可縮短複製和復原資料所需的時間。
在 SQL Server 上,還原檔案或分頁可以讓資料庫中的其他資料在還原作業期間維持線上狀態。
復原模式及支援的還原作業
資料庫可用的還原作業,取決於其復原模式。 下表摘要說明每一種復原模式是否支援給定的還原實例,及其支援的範圍。
還原作業 | 完整復原模式 | 大量記錄復原模式 | 簡單復原模式 |
---|---|---|---|
資料復原 | 完整復原 (如果有記錄可以使用)。 | 有損失部分資料的風險。 | 自上次完整或差異備份之後的任何資料,都會遺失。 |
時間點還原 | 記錄備份涵蓋的任何時間。 | 如果記錄備份含有大量記錄變更,則不允許。 | 不支援。 |
File restore * | 完整支援。 | 有時。** | 僅適用於唯讀的次要檔案。 |
Page restore * | 完整支援。 | 有時。** | 無。 |
分次 (檔案群組-等級) 還原 * | 完整支援。 | 有時。** | 僅適用於唯讀的次要檔案。 |
*僅適用于 Enterprise 版本的 SQL Server
** 如需了解必要條件,請參閱此主題稍後的 簡單復原模式下的還原限制。
重要
不論資料庫的復原模式為何,若 SQL Server 版本比建立該備份的版本更舊,便無法還原 SQL Server 備份。
簡單復原模式下的還原案例
簡單復原模式在還原作業上具有下列限制:
檔案還原及分次還原僅適用於唯讀的次要檔案群組。 如需這些還原案例的相關資訊,請參閱檔案還原 (簡單復原模式) 和分次還原 (SQL Server)。
不允許分頁還原。
不允許時間點還原。
如果這些限制中有任何一項不適合您的復原需要,即建議您考慮使用完整復原模式。 如需詳細資訊,請參閱備份概觀 (SQL Server)。
重要
不論資料庫的復原模式為何,若 SQL Server 版本比建立該備份的版本更舊,便無法還原 SQL Server 備份。
大量記錄復原模式下的還原
本節討論大量記錄復原模式的特殊還原考量,此為專門用做完整復原模式的補充。
注意
如需大量記錄復原模式的介紹,請參閱交易記錄 (SQL Server)。
一般而言,大量記錄復原模式與完整復原模式類似,針對完整復原模式所描述的資訊也同時適用於兩者。 但是,大量記錄復原模式會影響時間點復原與線上還原。
時間點復原的限制
如果大量記錄復原模式下建立的記錄備份包含大量記錄變更,就不允許時間點復原。 嘗試對包含大量變更的記錄備份執行時間點復原將會造成還原作業失敗。
對線上還原的限制
線上還原順序只有在符合下列條件時才能運作:
必須在開始還原順序之前完成所有必要的記錄備份。
必須在開始線上還原順序之前先備份大量變更。
如果資料庫中有大量變更存在,所有的檔案都必須在線上,或者是無用 (這表示它不再是資料庫的一部分)。
如果沒有符合這些條件,線上還原順序就會失敗。
注意
我們建議您先切換到完整復原模式,再開始線上還原。 如需詳細資訊,請參閱復原模式 (SQL Server)。
如需有關如何執行線上還原的詳細資訊,請參閱線上還原 (SQL Server)。
Database Recovery Advisor (SQL Server Management Studio)
Database Recovery Advisor 有助於建構實作最佳化正確還原順序的還原計畫。 我們已經處理了客戶所要求的許多已知資料庫還原問題和增強功能。 Database Recovery Advisor 導入的主要增強功能包括:
還原計畫演算法:用來建構還原計畫的演算法已經大幅改善,特別是針對複雜的還原狀況。 相較於舊版 SQL Server 而言,可更有效率地處理許多邊緣案例 (包括時間點還原的分岔案例)。
時間點還原:Database Recovery Advisor 大幅簡化資料庫還原到特定時間點的作業。 視覺備份時間表大幅增強時間點還原的支援。 這個視覺化時間表可讓您識別當做還原資料庫之目標復原點的可行時間點。 時間表可加快周遊分岔復原路徑 (跨多個復原分岔之路徑)。 特定時間點還原計畫會自動包含與還原至目標時間點 (日期和時間) 有關的備份。 如需詳細資訊,請參閱將 SQL Server 資料庫還原至某個時間點 (完整復原模式)。
如需有關 Database Recovery Advisor 的詳細資訊,請參閱下列 SQL Server 管理能力部落格:
Recovery Advisor:簡介 \(英文\)
相關內容
無。