共用方式為


SQL Server 資料庫的備份與還原

本主題描述備份SQL Server資料庫、基本備份和還原詞彙的優點,並介紹備份和還原SQL Server備份和安全性考慮的備份與還原 SQL Server策略。

SQL Server 的備份和還原元件提供基本的防護措施,用以保護您的 SQL Server 資料庫中儲存的重要資料。 若要將重大資料遺失的風險降至最低,您必須備份資料庫,以定期保存您對資料所做的修改。 規劃完善的備份和還原策略有助於保護資料庫,以防止各種失敗所導致的資料遺失。 藉由還原一組備份並復原資料庫來測試您的策略,以做好有效因應災害的準備。

除了儲存備份的本機儲存體之外,SQL Server 也支援備份至與還原自 Azure Blob 儲存體服務。 如需詳細資訊,請參閱 SQL Server 備份及還原與 Azure Blob 儲存體服務

優點

  • 備份 SQL Server 資料庫、針對備份執行測試還原程序,並將備份的複本儲存在安全的異地位置,即可避免可能發生的重大資料遺失。

    重要

    這是可靠地保護您的SQL Server資料的唯一方式。

    使用有效的資料庫備份,就可以從多種失敗中復原資料,例如:

    • 媒體錯誤。

    • 使用者錯誤 (例如不小心卸除資料表)。

    • 硬體故障 (例如,磁碟機損壞或伺服器永久損毀)。

    • 天然災害。 藉由對 Azure Blob 儲存體服務使用 SQL Server 備份,就可以在與內部部署位置不同的區域建立異地備份,以便在發生影響內部部署位置的天然災害事件時使用。

  • 此外,資料庫的備份適用于例行的系統管理用途,例如將資料庫從一部伺服器複製到另一部伺服器、設定Always On可用性群組或資料庫鏡像,以及封存。

元件和概念

備份 (back up) [動詞]
將資料或記錄檔的記錄,從 SQL Server 資料庫或其交易記錄複製至備份裝置 (例如磁碟),可建立資料備份或記錄備份。

備份 (backup) [名詞]
失敗後可用來還原和復原資料的資料複本。 資料庫備份也可用來將資料庫的複本還原到新位置。

備份裝置
寫入 SQL Server 備份並從中進行還原的磁碟或磁帶裝置。 SQL Server 備份也可以寫入 Azure Blob 儲存體服務,而且會使用 URL 格式來指定備份檔案的目的地和名稱。 如需詳細資訊,請參閱 SQL Server 備份及還原與 Azure Blob 儲存體服務

備份媒體
已寫入一個或多個備份的一個或多個磁帶或磁碟檔案。

資料備份
整個資料庫 (資料庫備份)、部分資料庫 (部分備份) 或是一組資料檔案或檔案群組 (檔案備份) 中資料的備份。

資料庫備份
資料庫的備份。 完整資料庫備份代表備份完成時的整個資料庫。 差異資料庫備份僅包含自其最近的完整資料庫備份以來,對資料庫所做的變更。

差異備份
一種資料備份,是以整個或部分資料庫或一組資料檔案或檔案群組 (差異基底) 的最新完整備份為基礎,而且只包含自該基底以來變更的資料。

完整備份
一種資料備份,包含特定資料庫或一組檔案群組或檔案中的所有資料,也包含足以讓這個資料復原的記錄。

記錄備份
交易記錄的備份,包含先前的記錄備份中未備份的所有記錄。 (完整復原模式)

recover
將資料庫回復為穩定且一致的狀態。

recovery
讓資料庫進入交易一致狀態的資料庫啟動階段或含復原之還原的階段。

復原模式
控制資料庫上交易記錄維護的資料庫屬性。 復原模式共有三種:簡單、完整和大量記錄。 資料庫的復原模式決定其備份和還原需求。

還原
這個多階段的程序會將指定 SQL Server 備份中的所有資料和記錄頁面,複製到指定的資料庫中,然後藉由套用記錄的變更,取得前面時段的資料,向前復原備份中記錄的所有交易。

備份和還原策略簡介

備份和還原資料作業必須依特定環境自訂,而且也必須使用可用的資源。 因此,為了可靠地使用備份和還原作業進行復原,您需要擬定備份和還原策略。 設計良好的備份和還原策略可充分提高資料可用性,並使資料損失降至最少,同時考慮到您的特定業務需求。

重要

請將資料庫和備份放置於不同的裝置上。 否則,如果包含資料庫的裝置故障,備份將無法使用。 將資料和備份放置於不同的裝置也可以針對寫入備份和資料庫生產使用強化 I/O 效能。

備份和還原策略包含備份部分與還原部分。 策略的備份部分定義備份的類型和頻率、所需硬體的本質和速度、測試備份的方法,以及儲存備份媒體的位置與方法 (包括安全性考量)。 策略的還原部分定義誰負責執行還原,以及應該如何執行還原,以達到資料庫可用性並將資料損失降到最低的目標。 建議您寫下備份和還原程序,並將文件的副本保留在執行書中。

設計有效的備份和還原策略需要仔細計畫、實作及測試。 測試是必要的。 在利用還原策略中包含的所有備份組合順利完成還原之前,您還稱不上有備份策略。 您必須考慮各種因素。 這些選項包括:

  • 您的組織對於資料庫的生產目標,特別是對資料可用性以及保護資料免於遺失的需求。

  • 您的每一個資料庫的本質:其大小、使用模式、內容本質及資料需求等等。

  • 相關資源的限制,例如:硬體、人員、儲存備份媒體的空間、儲存媒體的實體安全性等等。

    注意

    SQL Server磁片上的儲存體格式在 64 位和 32 位環境中相同。 因此,備份與還原可在 32 位元和 64 位元環境中運作。 在其中一種環境中執行之伺服器執行個體上建立的備份可還原至另一種環境中執行的伺服器執行個體。

復原模式對備份和還原的影響

備份和還原作業是在復原模式的內容中發生。 復原模式是控制交易記錄管理方式的資料庫屬性。 此外,資料庫的復原模式也將決定資料庫所支援的備份類型與還原實例。 一般而言,資料庫會使用完整復原模式或簡單復原模式。 完整復原模式可以藉由在大量作業之前切換到大量記錄復原模式,補充其功能。 如需這些復原模式及其影響交易記錄管理的簡介,請參閱交易記錄 (SQL Server)

資料庫復原模式的最佳選擇視您的商務需求而定。 若要避免管理交易記錄,並簡化備份和還原,請使用簡單復原模式。 若要將遺失工作的風險降到最低 (但會耗用管理負擔成本),請使用完整復原模式。 如需復原模式對備份與還原之影響的資訊,請參閱備份概觀 (SQL Server)

設計備份策略

在為特定資料庫選擇符合商務需求的復原模式之後,您必須規劃並實作對應的備份策略。 最佳備份策略取決於各種因素,其中特別重要的是下列項目:

  • 應用程式每天必須花多少時間來存取資料庫?

    如果可預測離峰期間,則建議您排定該期間內完整資料庫備份的作業時程。

  • 可能發生變更和更新的頻率為何?

    如果經常變更,請考慮下列作法:

    • 在簡單復原模式下,請考慮在完整資料庫備份之間排程差異備份。 差異備份只會擷取最後一次完整資料庫備份之後所發生的變更。

    • 在完整復原模式下,您應排程經常的記錄備份。 在完整備份之間排定差異備份,可減少您在還原資料後必須還原的記錄備份數目,從而減少還原時間。

  • 變更可能會發生在資料庫的一小部分,還是資料庫的大部分?

    如果是大型資料庫,且其變更集中於檔案或檔案群組部分,則部分備份及 (或) 檔案備份可能十分有用。 如需詳細資訊,請參閱部分備份 (SQL Server)完整檔案備份 (SQL Server)

  • 完整資料庫備份需要多少磁碟空間?

    如需詳細資訊,請參閱本節後面的估計完整資料庫備份的大小

估計完整資料庫備份的大小

在實作備份和還原策略前,您必須估計完整資料庫備份將使用多少磁碟空間。 備份作業會將資料庫中的資料複製到備份檔中。 備份僅包含資料庫中的實際資料,而不包含任何未使用的空間。 因此,備份通常會比資料庫本身還小。 您可以使用 sp_spaceused 系統預存程序來估計完整資料庫備份的大小。 如需詳細資訊,請參閱 sp_spaceused (Transact-SQL)

排程備份

執行備份作業對進行中的交易影響最小,所以可以在一般作業過程中執行備份作業。 您可以執行 SQL Server 備份,並且將實際執行工作負載受到的影響降至最低。

注意

如需備份期間之並行限制的資訊,請參閱備份概觀 (SQL Server)

決定您需要的備份類型以及執行每一類型所需的頻率之後,建議您將一般備份排程為資料庫之資料庫維護計畫的一部分。 如需有關維護計畫以及如何為資料庫備份和記錄備份建立這些計畫的詳細資訊,請參閱< Use the Maintenance Plan Wizard>。

測試備份

在您完成備份的測試之前,還不能算是具備還原策略。 您務必要將資料庫副本還原到測試系統,以針對每個資料庫完整測試備份策略。 您必須測試還原您要使用的每個備份類型。

建議您維護每個資料庫的作業手冊。 這份作業手冊應記載備份位置、備份裝置名稱 (如果有的話),以及還原測試備份所需的時間量。

相關工作

排程備份作業

使用備份裝置和備份媒體

建立備份

注意

針對部分備份或只複製備份,則必須分別搭配 PARTIAL 或 COPY_ONLY 選項來使用 Transact-SQLBACKUP 陳述式。

使用 SQL Server Management Studio

使用 Transact-SQL

還原資料備份

使用 SQL Server Management Studio

使用 Transact-SQL

還原交易記錄 (完整復原模式)

使用 SQL Server Management Studio

使用 Transact-SQL

其他還原工作

使用 Transact-SQL

另請參閱

Backup Overview (SQL Server)
還原和復原概觀 (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
備份與還原 Analysis Services 資料庫
備份並還原全文檢索目錄與索引
備份及還原複寫的資料庫
交易記錄 (SQL Server)
復原模式 (SQL Server)
媒體集、媒體家族與備份組 (SQL Server)