共用方式為


SQL Server 資料庫的備份和還原

本主題討論備份 SQL Server 資料庫的優點、基本備份和還原相關術語,並介紹針對 SQL Server 的備份和還原策略以及安全性考量。

SQL Server 備份和還原元件提供保護 SQL Server 資料庫中儲存之重要數據的基本保護。 若要將重大數據遺失的風險降到最低,您必須備份資料庫,以定期保留對數據的修改。 規劃良好的備份和還原策略可協助保護資料庫免於因各種失敗所造成的數據遺失。 藉由還原一組備份,然後復原您的資料庫,以協助您有效地回應災害,以測試您的策略。

除了用於儲存備份的本機記憶體之外,SQL Server 也支援從 Azure Blob 記憶體服務備份和還原。 如需詳細資訊,請參閱 使用 Azure Blob 記憶體服務進行 SQL Server 備份和還原

優點

  • 備份 SQL Server 資料庫、在備份上執行測試還原程式,以及將備份複本儲存在安全、異地位置,可保護您免於可能災難性的數據遺失。

    這很重要

    這是可靠地保護您的 SQL Server 數據的唯一方法。

    使用資料庫的有效備份,您可以從許多失敗中復原您的數據,例如:

    • 媒體失敗。

    • 例如,使用者可能會不小心刪除資料表。

    • 例如,硬體故障、磁碟驅動器損毀或伺服器永久遺失。

    • 自然災害。 藉由使用 SQL Server 備份至 Azure Blob 記憶體服務,您可以在與內部部署位置不同的區域中建立異地備份,以在影響內部部署位置的自然災害時使用。

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

元件和概念

備份 [動詞]
將數據或記錄檔記錄從 SQL Server 資料庫或其事務歷史記錄複製到備份裝置,例如磁碟,以建立數據備份或記錄備份。

備份 [名詞]
數據復本,可用來還原和復原失敗后的數據。 資料庫備份也可用來將資料庫復本還原至新位置。

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

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

數據備份
完整資料庫中數據的備份(資料庫備份)、部分資料庫(部分備份),或一組數據檔或檔案群組(文件備份)。

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

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

完整備份
數據備份,其中包含特定資料庫或一組檔案群組或檔案中的所有數據,以及足夠的記錄,以允許復原該數據。

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

恢復
若要將資料庫傳回穩定且一致的狀態。

恢復
資料庫啟動的某個階段或復原還原的某個階段,使資料庫達到交易一致狀態。

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

還原
一個多階段過程,將所有數據和日誌頁面從指定的 SQL Server 備份複製到指定的資料庫,然後通過套用日誌中記錄的更改來前滾備份中記錄的所有交易,以將數據往前推進。

備份與還原策略簡介

備份和還原數據必須自定義為特定環境,且必須使用可用的資源。 因此,若要可靠地使用備份和還原進行復原,就需要制定備份和還原策略。 設計完善的備份和還原策略可將數據可用性最大化,並將數據遺失降至最低,同時考慮您的特定商務需求。

這很重要

將資料庫和備份放在不同的裝置上。 否則,如果包含資料庫的裝置失敗,您的備份將無法使用。 將數據和備份放在不同的裝置上,也會增強寫入備份和資料庫生產用途的 I/O 效能。

備份和還原策略包含備份部分和還原部分。 策略的備份部分會定義備份的類型和頻率、備份所需的硬體本質和速度、要如何測試備份,以及儲存備份媒體的位置和方式(包括安全性考慮)。 策略的還原部分會定義誰負責執行還原,以及如何執行還原,以符合資料庫可用性的目標,以及將數據遺失降至最低。 我們建議您記錄備份和還原程序,並在您的執行手冊中保留該文件的副本。

設計有效的備份和還原策略需要仔細規劃、實作和測試。 需要測試。 直到您成功還原備份策略中所有包含的組合,您才真正擁有備份策略。 您必須考慮各種因素。 這些包括下列各項:

  • 您組織的資料庫生產目標,特別是確保數據高可用性和防止遺失的保護需求。

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

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

    備註

    64 位和 32 位環境中的 SQL Server 磁碟上記憶體格式相同。 因此,備份和還原可在32位和64位環境中運作。 在一個環境中執行之伺服器實例上建立的備份,可以在另一個環境中執行的伺服器實例上還原。

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

備份和還原操作是在恢復模式的範圍內進行的。 恢復模式是一種資料庫屬性,可控制事務歷史記錄的管理方式。 此外,資料庫的恢復模式會決定資料庫的備份類型,以及支援哪些還原案例。 資料庫通常會使用簡單恢復模式或完整恢復模式。 在大量作業之前切換至大容量日誌恢復模式,即可補充完整恢復模式。 如需這些恢復模式及其如何影響事務歷史記錄管理的簡介,請參閱 事務歷史記錄 (SQL Server)

資料庫的最佳恢復模式選擇取決於您的商務需求。 若要避免事務歷史記錄管理和簡化備份和還原,請使用簡單的恢復模式。 若要將工作損失風險降至最低,請以系統管理額外負荷為代價,使用完整恢復模式。 如需有關備份和還原之恢復模式影響的資訊,請參閱備份概 觀 (SQL Server)

設計備份策略

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

  • 應用程式每天需要多少小時才能存取資料庫?

    如果有可預測的離峰期間,建議您排程該期間的完整資料庫備份。

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

    如果變更頻繁,請考慮下列事項:

    • 在簡單恢復模式下,請考慮在完整資料庫備份之間安排差異備份作業。 差異備份只會擷取自上次完整資料庫備份後所做的變更。

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

  • 變更是否可能只發生在資料庫的一小部分或大部分的資料庫?

    對於集中於檔案或檔案群組的一部分變更的大型資料庫,部分備份和或文件備份可能很有用。 如需詳細資訊,請參閱部分備份(SQL Server)完整文件備份(SQL Server)。

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

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

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

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

排程備份

執行備份作業對正在執行的交易影響最小;因此,備份作業可以在一般作業期間執行。 您可以對生產工作負載執行最少效果的 SQL Server 備份。

備註

如需備份期間並行限制的相關信息,請參閱備份概觀(SQL Server)。

決定您需要的備份類型,以及您必須執行每個類型的頻率之後,建議您排程定期備份,作為資料庫資料庫維護計劃的一部分。 如需維護計劃以及如何針對資料庫備份和記錄備份建立它們的資訊,請參閱 使用維護計劃精靈

測試備份

在測試備份之前,您沒有還原策略。 藉由將資料庫復本還原至測試系統,徹底測試每個資料庫的備份策略非常重要。 您必須測試還原您想要使用的每種備份類型。

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

相關工作

設定排程備份作業

使用備份裝置和備份媒體

建立備份

備註

針對部分或僅複製備份,您必須分別使用 Transact-SQLBACKUP 語句搭配 PARTIAL 或 COPY_ONLY 選項。

使用 SQL Server Management Studio

使用 Transact-SQL

還原數據備份

使用 SQL Server Management Studio

使用 Transact-SQL

還原交易日志 (完整恢復模式)

使用 SQL Server Management Studio

使用 Transact-SQL

其他還原工作

使用 Transact-SQL

另請參閱

備份概觀 (SQL Server)
還原和復原概觀 (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
備份與還原分析服務資料庫
備份和還原 Full-Text 目錄和索引
備份和還原復寫的資料庫
交易記錄 (SQL Server)
復原模式 (SQL Server)
媒體集、媒體家族與備份組 (SQL Server)