規劃和執行還原順序 (完整復原模式)
此主題說明如何針對一般使用完整復原模式的 SQL Server 資料庫,規劃及執行還原順序。 「還原順序」 是一或多個 RESTORE 陳述式的順序。 還原順序通常會初始化所還原之資料庫、檔案及/或頁面的內容 (資料複製階段)、向前復原記錄的交易 (重做階段),再回復未認可的交易 (恢復階段)。
在單純的情況下,還原順序只需要一個完整資料庫備份、一個差異資料庫備份,以及一或多個後續記錄備份。 這種時候,建構正確的還原順序相當容易, 例如,若要將整個資料庫還原到失敗點,可以從備份使用中交易記錄 (記錄的「結尾」) 開始。 然後,還原最近一次完整資料庫備份、最近一次差異備份 (若有的話),再依照進行記錄備份的順序還原所有後續的記錄備份。
在更複雜的情況下,建構正確的還原順序會是很複雜的程序。 例如,還原順序可能需要多個檔案備份,或者必須將資料還原到特定的時間點。 在極其複雜的情況下,甚至可能需要周遊跨越一個或多個復原分支的分岔復原路徑。
[!附註]
「復原路徑」(Recovery Path) 是指將資料庫到達特定時間點 (稱為復原點) 的資料和記錄備份順序。 復原路徑是一組特定轉換,這些轉換會使資料庫隨時間而變化,同時又能維護資料庫的一致性。 復原路徑描述從起點 (LSN,GUID) 到終點 (LSN,GUID) 的 LSN 範圍。 復原路徑中的 LSN 範圍從開始到結束可能會跨越一個或多個復原分支。
規劃還原順序
在啟動還原順序前,請遵循下列步驟:
盡可能建立資料庫的結尾記錄備份。 如需詳細資訊,請參閱<結尾記錄備份 (SQL Server)>。
判斷目標復原點。
目標復原點可以是交易記錄備份中的任何時間點或標示。 如需詳細資訊,請參閱<將 SQL Server 資料庫還原至某個時間點 (完整復原模式)>或<使用標示的異動以一致的方式復原相關資料庫 (完整復原模式)>。
決定要執行的還原類型。 如需詳細資訊,請參閱<還原和復原概觀 (SQL Server)>。
識別所需的備份,並確定必要的媒體集和備份裝置都可使用。 如需詳細資訊,請參閱<備份裝置 (SQL Server)>和<媒體集、媒體家族與備份組 (SQL Server)>。
執行還原順序
若要執行還原順序,請遵循下列步驟:
若要啟動順序,請還原一或多個資料備份,例如資料庫備份、部分備份、一或多個檔案備份。
此外,也可以還原以這些完整備份為基礎的最新差異備份。
針對您要還原的每個完整備份,判斷它是否為任何差異備份的基底。 若是如此,請盡可能還原最近一次的差異備份。 如需詳細資訊,請參閱<差異備份 (SQL Server)>。
依序還原記錄備份以向前復原資料庫,最後再還原包含復原點的備份。 是否需要套用所有的記錄備份,取決於什麼記錄備份包含了目標復原點,如下所述:
如果復原點是失敗點,則必須還原在您還原的最後一個資料 (完整或差異) 備份之後所建立的每個記錄備份。 如需詳細資訊,請參閱<套用異動記錄備份 (SQL Server)>。
如果是時間點還原,您可能就不需要最近一次的記錄備份。 如果您使用 SQL Server Management Studio,Database Recovery Advisor 會確定只選取要還原到指定的時間點所需的備份。 這些備份為您的時間點還原構成了建議的還原計畫。 如需詳細資訊,請參閱<將 SQL Server 資料庫還原至某個時間點 (完整復原模式)>。
重新啟動還原順序
如果還原順序產生的結果有問題,您可以停止還原順序,然後從頭開始重新啟動。 例如,如果您不小心還原了太多記錄備份,並且超過預期的復原點,就必須重新啟動還原順序,一直到含有目標復原點的記錄備份。