SQL Server 中的備份和還原策略簡介
建立 SQL Server 備份的目的就是要讓您能夠復原損毀的資料庫。不過,備份和還原資料作業必須依特定環境自訂,而且也必須使用可用的資源。因此,為了可靠地使用備份和還原作業進行復原,您需要擬定備份和還原策略。設計良好的備份和還原策略可充分提高資料可用性,並使資料損失降至最少,同時考慮到您的特定業務需求。
重要事項 |
---|
請將資料庫和備份放置於不同的裝置上。否則,如果包含資料庫的裝置故障,備份將無法使用。將資料和備份放置於不同的裝置也可以針對寫入備份和資料庫的實際用途強化 I/O 效能。 |
備份和還原策略包含備份部分與還原部分。策略的備份部分定義備份的類型和頻率、所需硬體的本質和速度、測試備份的方法,以及儲存備份媒體的位置與方法 (包括安全性考量)。策略的還原部分定義誰負責執行還原,以及應該如何執行還原,以達到維護資料庫可用性並降低資料損失的目標。建議您寫下備份和還原程序,並將文件的副本保留在執行書中。
設計有效的備份和還原策略需要仔細計畫、實作及測試。測試是必要的。在利用還原策略中包含的所有備份組合順利完成還原之前,您還稱不上有備份策略。您必須考慮各種因素。這些因素包括下列各項:
您的組織對於資料庫的生產目標,特別是維持資料可用性,以及保護資料不致遺失的需求。
您的每一個資料庫的本質:其大小、使用模式、內容本質及資料需求等等。
相關資源的限制,例如:硬體、人員、儲存備份媒體的空間、儲存媒體的實體安全性等等。
[!附註]
SQL Server 磁碟儲存格式在 64 位元與 32 位元環境下都相同。因此,備份與還原可在 32 位元和 64 位元環境中運作。在其中一種環境中執行之伺服器執行個體上建立的備份可還原至另一種環境中執行的伺服器執行個體。
復原模式對備份和還原的影響
備份和還原作業是在復原模式的內容中發生。復原模式是控制交易記錄管理方式的資料庫屬性。此外,資料庫的復原模式也將決定資料庫所支援的備份類型與還原實例。一般而言,資料庫會使用完整復原模式或簡單復原模式。完整復原模式可以藉由在大量作業之前切換到大量記錄復原模式,補充其功能。如需這些復原模式及其對交易記錄管理之影響的簡介,請參閱<復原模式與交易記錄管理>。
資料庫復原模式的最佳選擇視您的商務需求而定。若要避免管理交易記錄,並簡化備份和還原,請使用簡單復原模式。若要將遺失工作的風險降到最低 (但會耗用管理負擔成本),請使用完整復原模式。如需有關復原模式對備份和還原產生之影響的詳細資訊,請參閱下列主題:
設計備份策略
在為特定資料庫選擇符合商務需求的復原模式之後,您必須規劃並實作對應的備份策略。最佳備份策略取決於各種因素,其中特別重要的是下列項目:
應用程式每天必須花多少時間來存取資料庫?
如果可預測離峰期間,則建議您排程進行該期間的完整資料庫備份。
可能發生變更和更新的頻率為何?
如果經常變更,請考慮下列作法:
在簡單復原模式下,請考慮在完整資料庫備份之間排程差異備份。差異備份只會擷取最後一次完整資料庫備份之後所發生的變更。
在完整復原模式下,您應排程經常的記錄備份。在完整備份之間排程差異備份,可減少您在還原資料後必須還原的記錄備份,從而減少還原時間。
變更可能會發生在資料庫的一小部分,還是資料庫的大部分?
如果是大型資料庫,且其變更集中於檔案或檔案群組部分,則部分備份及 (或) 檔案備份可能十分有用。如需詳細資訊,請參閱<部分備份>和<完整檔案備份>。
完整資料庫備份需要多少磁碟空間?
如需詳細資訊,請參閱本主題稍後的「估計完整資料庫備份的大小」。
估計完整資料庫備份的大小
在實作備份和還原策略前,您必須估計完整資料庫備份將使用多少磁碟空間。備份作業會將資料庫中的資料複製到備份檔中。備份僅包含資料庫中的實際資料,而不包含任何未使用的空間。因此,備份通常會比資料庫本身還小。您可以使用 sp_spaceused 系統預存程序來估計完整資料庫備份的大小。如需詳細資訊,請參閱<sp_spaceused (Transact-SQL)>。
排程備份
決定您需要的備份類型以及執行每一類型所需的頻率之後,建議您將一般備份排程為資料庫之資料庫維護計畫的一部分。如需有關維護計畫以及如何為資料庫備份和記錄備份建立這些計畫的詳細資訊,請參閱<維護資料庫 (Database Engine)>和<維護計畫精靈>。
若要建立維護計畫
若要建立和排程作業
測試備份
在您完成備份的測試之前,還不能算是具備還原策略。您務必要將資料庫副本還原到測試系統,以針對每個資料庫完整測試備份策略。您必須測試還原您要使用的每個備份類型。
建議您維護每個資料庫的作業手冊。這份作業手冊應記載備份位置、備份裝置名稱 (如果有的話),以及還原測試備份所需的時間量。