Azure SQL 資料庫中的自動備份

適用于:Azure SQL資料庫

本文說明 Azure SQL Database 的自動備份功能。

若要變更備份設定,請參閱 變更設定。 若要還原備份,請參閱 使用自動資料庫備份復原

注意

本文提供關於如何從裝置或服務刪除個人資料的步驟,並且可以用來支援遵循 GDPR 的義務。 如需 GDPR 的一般資訊,請參閱 Microsoft 信任中心的 GDPR 區段服務信任入口網站的 GDPR 區段

什麼是資料庫備份?

資料庫備份是任何商務持續性和災害復原策略不可或缺的一部分,因為它們有助於保護您的資料免于損毀或刪除。 這些備份可在設定的保留期間內讓資料庫還原至特定時間點。 如果您的資料保護規則要求備份適用于最長 10 年 (10 年) ,您可以針對單一和集區資料庫設定 長期保留 (LTR)

對於超大規模資料庫以外的服務層級,Azure SQL資料庫會使用SQL Server引擎技術來備份和還原資料。 超大規模資料庫會根據 儲存體快照集使用備份和還原。 透過傳統的SQL Server備份技術,較大的資料庫會有很長的備份/還原時間。 透過使用快照集,超大規模資料庫提供立即備份和快速還原功能,而不論資料庫大小為何。 若要深入瞭解,請參閱 超大規模資料庫備份

備份頻率

Azure SQL資料庫會建立:

交易記錄備份的確切頻率是以計算大小和資料庫活動數量為基礎。 在您還原資料庫時,服務會判斷需要還原的完整、差異及交易記錄備份。

超大規模資料庫架構不需要完整、差異或記錄備份。 若要深入瞭解,請參閱 超大規模資料庫備份

[備份儲存體備援]

根據預設,Azure SQL Database 會將資料儲存在異地備援儲存體 Blob,其會複寫至配對區域。 異地備援有助於防止影響主要區域中備份儲存體的中斷。 它也可讓您在發生區域性中斷時,在不同的區域中還原資料庫。

儲存體備援機制會儲存資料的多個複本,使其不受計劃性和非計劃性事件的保護。 這些事件可能包括暫時性硬體故障、網路或電源中斷,或大量的自然災害。

若要確保您的備份會保留在部署資料庫所在的相同區域中,您可以將備份儲存體備援從預設異地備援儲存體變更為將您的資料保留在區域內的其他儲存體類型。 設定的備份儲存體備援會套用至短期保留 (STR) 備份和 LTR 備份。 若要深入瞭解儲存體備援,請參閱 資料備援

您可以在建立資料庫時設定備份儲存體備援,並在稍後進行更新。 您對現有資料庫所做的變更僅適用于未來的備份。 更新現有資料庫的備份儲存體備援之後,變更最多可能需要 48 小時才會套用。

您可以選擇下列其中一個儲存體備援來進行備份:

  • 本地備援儲存體 (LRS) :在主要區域中的單一實體位置內同步複本備份三次。 LRS 是成本最低的儲存體選項,但我們不建議用於需要復原區域中斷或保證高資料持久性的應用程式。

    此圖顯示本地備援儲存體 (LRS) 選項。

  • 區域備援儲存體 (ZRS) :將您的備份同步複製到主要區域中的三個 Azure 可用性區域。 目前僅適用于 特定區域

    此圖顯示 ZRS) 選項 (區域備援儲存體。

  • 異地備援儲存體 (GRS) :使用 LRS 在主要區域中的單一實體位置內同步複本備份三次。 然後,它會以非同步方式將資料複製到 配對 次要區域中的單一實體位置三次。

    結果如下:

    • 主要區域中的三個同步複本。
    • 配對區域中以非同步方式從主要區域複製到次要區域的三個同步複本。

    顯示異地備援儲存體 (GRS) 選項的圖表。

警告

  • 資料庫更新為使用本地備援或區域備援儲存體時,就會立即停用異地還原
  • 儲存體備援圖表會顯示多個可用性區域 (multi-az) 的區域。 不過,有些區域只提供單一可用性區域,且不支援 ZRS。
  • 超大規模資料庫備份儲存體備援只能在建立期間設定。 布建資源之後,您無法修改此設定。 若要以最短停機時間更新現有超大規模資料庫的備份儲存體備援設定,請使用 主動式異地複寫。 或者,您可以使用 資料庫複本。 若要深入了解,請參閱超大規模資料庫備份和儲存體備援

備份使用量

您可以在下列案例中使用自動建立的備份:

  • 使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 REST API,將現有的資料庫還原到保留期間內的某個時間點。 這項作業會在與原始資料庫相同的伺服器上建立新的資料庫,但會使用不同的名稱來避免覆寫原始資料庫。

    還原完成後,您可以選擇性地刪除原始資料庫,並將還原的資料庫重新命名為原始資料庫名稱。 或者,您可以 將其重新命名 ,然後將還原的資料庫重新命名為原始資料庫名稱,而不是刪除原始資料庫。

  • 將已刪除的資料庫還原到保留期間內的某個時間點 ,包括刪除的時間。 已刪除的資料庫只能在您建立原始資料庫的相同伺服器上還原。 刪除資料庫之前,服務會先進行最終交易記錄備份,以避免任何資料遺失。

  • 將資料庫還原到其他地理區域。 異地還原可讓您在無法存取主要區域中的資料庫或備份時,從區域性中斷復原。 它會在任何 Azure 區域中的任何現有伺服器上建立新的資料庫。

    重要

    異地還原僅適用于使用異地備援備份儲存體設定的資料庫。 如果您目前未針對資料庫使用異地複寫備份,您可以設定備份儲存體備援來變更此備份。

  • 如果資料庫已設定 LTR 原則,請從單一或集區資料庫的特定長期備份還原資料庫。 LTR 可讓您使用 Azure 入口網站、Azure CLI 或 Azure PowerShell 來還原舊版的資料庫,以滿足合規性要求,或執行舊版的應用程式。 如需詳細資訊,請參閱長期保存

還原功能和功能

下表摘要說明 PITR) 、異地還原長期保留 (時間點還原的功能和功能。

Backup 屬性  PITR 異地還原 LTR
SQL 備份的類型 完整、差異、記錄。 PITR 備份的複寫複本。 僅完整備份。
復原點目標 (RPO)  10 分鐘,以計算大小和資料庫活動數量為基礎。   最多 1 小時,根據異地複寫。*  一週 (或使用者的原則)。
復原時間目標 (RTO) 還原通常需要少於 12 小時,但可能需要較長的時間,視大小和活動而定。 請參閱復原。  還原通常需要少於 12 小時,但可能需要較長的時間,視大小和活動而定。 請參閱復原 還原通常需要少於 12 小時,但可能需要較長的時間,視大小和活動而定。 請參閱復原
保留 預設為 7 天,最多可設定 35 天。  預設為啟用,與來源相同。** 預設不啟用。 保留期最多 10 年。
Azure 儲存體   預設具有異地備援功能。 您可以選擇性地設定區域備援或本地備援儲存體。 當 PITR 備份儲存體備援設定為異地備援時可供使用。 當 PITR 備份儲存體為區域備援或本地備援時無法使用。  預設具有異地備援功能。 您可以設定區域備援或本地備援儲存體。
還原相同區域中的新資料庫 支援 支援  支援
還原另一個區域中的新資料庫 不支援 在任何 Azure 區域中都支援 在任何 Azure 區域中都支援
還原另一個訂用帳戶中的新資料庫 不支援 不支援。 不支援。
透過 Azure 入口網站 還原
透過 PowerShell 還原
透過 Azure CLI 還原

* 對於需要大型資料庫且必須確保商務持續性的商業關鍵應用程式,請使用 自動容錯移轉群組

** 預設會將所有 PITR 備份儲存在異地備援儲存體上,因此預設會啟用異地還原。

因應措施是還原至新的伺服器,並使用 Resource Move 將伺服器移至另一個訂用帳戶,或使用 跨訂閱資料庫複本

從備份還原資料庫

若要執行還原,請參閱 從備份還原資料庫。 您可以使用下列範例來探索備份組態和還原作業。

作業 Azure 入口網站 Azure CLI Azure PowerShell
變更備份保留期 SQL Database
SQL 受控執行個體
SQL Database
SQL 受控執行個體
SQL Database
SQL 受控執行個體
變更長期備份保留期 SQL Database
SQL 受控執行個體
SQL Database
SQL 受控執行個體
SQL Database
SQL 受控執行個體
從某個時間點還原資料庫 SQL Database
SQL 受控執行個體
SQL Database
SQL 受控執行個體
SQL Database
SQL 受控執行個體
還原已刪除的資料庫 SQL Database
SQL 受控執行個體
SQL Database
SQL 受控執行個體
SQL Database
SQL 受控執行個體

備份排程

新的資料庫建立或還原後,就會立即排程第一次完整備份。 此備份通常會在 30 分鐘內完成,但資料庫很大時可能需要較長的時間。 例如,在還原的資料庫或資料庫複本上,初始備份可能需要較長的時間,通常會大於新的資料庫。

第一次完整備份之後,所有進一步的備份都會自動排程和管理。 資料庫備份的確切時間,依 SQL Database 服務整體系統工作負載維持平衡而決定。 您無法變更備份作業的排程或加以停用。

重要

  • 對於新的、還原或複製的資料庫,當建立初始完整備份之後的初始交易記錄備份時,時間點還原功能就會變成可用。
  • 超大規模資料庫會在建立後立即受到保護,不同于初始備份需要時間的其他資料庫。 即使透過複製或還原以大量資料建立超大規模資料庫,仍會立即保護。 若要深入瞭解,請檢閱 超大規模資料庫自動備份

備份儲存體耗用量

使用SQL Server備份和還原技術,將資料庫還原至某個時間點需要不中斷的備份鏈結。 該鏈結包含一個完整備份、選擇性一個差異備份,以及一或多個交易記錄備份。

Azure SQL資料庫會每週排程一次完整備份。 若要在整個保留期間內提供 PITR,系統必須儲存額外完整、差異和交易記錄備份,超過設定的保留期間一周。

換句話說,對於保留期間的任何時間點,必須有比保留期間最舊時間還舊的完整備份。 在下次完整備份之前,也必須從該完整備份中斷差異和交易記錄備份鏈結。

超大規模資料庫使用不同的備份排程機制。 如需詳細資訊,請參閱 超大規模資料庫備份排程

不再需要用來提供 PITR 功能的備份會自動刪除。 由於差異備份與記錄備份需要有更早的備份才能還原,因此會每週將這三種類型的備份一起清除。

對於所有資料庫,包括 TDE 加密 的資料庫,備份會壓縮以降低備份儲存體壓縮和成本。 平均備份壓縮比率為 3 到 4 倍。 不過,根據資料的本質以及資料庫中是否使用資料壓縮,它可以大幅降低或更高。

Azure SQL Database 會計算總使用的備份儲存體作為累計值。 每小時都會向 Azure 計費管線報告此值。 管線負責匯總此每小時使用量,以計算每個月結束時的使用量。 刪除資料庫之後,耗用量會減少,因為備份會達到年限並且刪除。 刪除所有備份且無法再使用 PITR 之後,計費就會停止。

重要

資料庫的備份會保留以提供 PITR,即使資料庫已刪除也一樣。 雖然刪除和重新建立資料庫可能會節省儲存體和計算成本,但可能會增加備份儲存體成本。 原因是服務會在每次刪除時保留每個已刪除資料庫的備份。

監視耗用量

對於Azure SQL資料庫中的虛擬核心資料庫,每個備份類型 (完整、差異和記錄) 取用的儲存體都會以個別計量的形式回報在資料庫監視窗格上。 下列螢幕擷取畫面顯示如何監視單一資料庫的備份儲存體耗用量。

此螢幕擷取畫面顯示Azure 入口網站中監視資料庫備份耗用量的選項。

如需如何監視超大規模資料庫耗用量的指示,請參閱 監視超大規模資料庫備份耗用量

微調備份儲存體耗用量

最多可達資料庫資料大小上限的備份儲存體耗用量不會收費。 多餘的備份儲存體耗用量將取決於工作負載和個別資料庫的大小上限。 請考慮使用下列幾項微調技術,以減少備份儲存體耗用量:

  • 備份保留期間 縮減為您所需的最低期限。
  • 避免執行大型寫入作業,例如索引重建,比您需要的更頻繁。
  • 針對大型資料載入作業,請考慮使用 叢集資料行存放區索引 ,並遵循相關的 最佳做法。 也請考慮減少非叢集索引的數目。
  • 在一般用途服務層級中,佈建的資料儲存體比備份儲存體的價格便宜。 如果您的超額備份儲存體成本一直很高,可以考慮增加資料儲存體,以節省備份儲存體。
  • 使用 TempDB 而非應用程式邏輯中的永久資料表來儲存暫存結果或暫時性資料。
  • 請盡可能 (使用本地備援備份儲存體,例如開發/測試環境) 。

備份保留

Azure SQL 資料庫提供短期和長期保留備份。 短期保留可在資料庫的保留期間內允許 PITR。 長期保留會針對各種合規性需求提供備份。

短期保留

對於所有新的、已還原和複製的資料庫,Azure SQL資料庫會保留足夠的備份,以預設在過去 7 天內允許 PITR。 服務會定期進行完整、差異和記錄備份,以確保資料庫可還原到為資料庫定義的保留期間內的任何時間點。

超大規模資料庫短期備份保留期為 1 到 35 天,目前為預覽狀態。 若要深入了解,請檢閱管理超大規模資料庫中的備份保留

差異備份可以設定為在 12 小時或 24 小時內發生一次。 相較于 12 小時的頻率,24 小時的差異備份頻率可能會增加還原資料庫所需的時間。 在虛擬核心模型中,差異備份的預設頻率是 12 小時內一次。 在 DTU 模型中,預設頻率為 24 小時一次。

您可以在建立資料庫時指定 STR 的備份儲存體備援選項,然後在稍後進行變更。 如果您在建立資料庫之後變更備份備援選項,新的備份將會使用新的備援選項。 不會移動或複製使用先前 STR 備援選項建立的備份複本。 它們會保留在原始儲存體帳戶中,直到保留期限到期為止,這可以是 1 到 35 天。

除了基本資料庫之外,您可以在 1 到 35 天內變更每個使用中資料庫的 備份保留期間 。 如 備份儲存體耗用量中所述,儲存以啟用 PITR 的備份可能比保留期間還舊。 如果您需要將備份保留的時間超過短期保留期限上限 35 天,您可以啟用 長期保留

如果您刪除資料庫,系統會以與其特定保留期間的線上資料庫相同的方式來保留備份。 您無法變更已刪除資料庫的備份保留期間。

重要

如果您刪除伺服器,該伺服器上的所有資料庫也會一併刪除且無法復原。 您無法還原已刪除的伺服器。 但是,如果您已為資料庫設定長期保留,則不會刪除 LTR 備份。 然後,您可以使用這些備份,將相同訂用帳戶中不同伺服器上的資料庫還原到 LTR 備份建立的時間點。 若要深入瞭解,請檢閱 還原長期備份

長期保留

針對SQL Database,您可以在Azure Blob 儲存體中設定最多 10 年的完整 LTR 備份。 設定 LTR 原則之後,每週都會自動將完整備份複製到不同的儲存體容器。

為了符合各種合規性需求,您可以針對每週、每月和/或每年完整備份選取不同的保留期限。 頻率取決於原則。 例如,設定 W=0, M=1 會每月建立 LTR 複本。 如需 LTR 的詳細資訊,請參閱 長期保留。 超大規模資料庫服務層級中的資料庫目前不支援長期保留。

更新現有資料庫的備份儲存體備援,只會將變更套用至未來建立的後續備份,而不是針對現有的備份。 資料庫的所有現有 LTR 備份都會繼續位於現有的儲存體 Blob 中。 系統會根據設定的備份儲存體備援來複寫新的備份。

儲存體耗用量取決於選取的頻率和 LTR 備份的保留期間。 您可以使用 LTR 定價計算機來估算 LTR 儲存體的成本。

備份儲存體成本

備份儲存體的價格會有所不同,視 您購買模型 (DTU 或虛擬核心) 、選擇的備份儲存體備援選項和區域而定。 備份儲存體會根據每個月耗用的 GB 來收費,費率與所有備份相同。

備份儲存體備援會以下列方式影響備份成本:

  • Locally redundant price = published price
  • Zone-redundant price = published price x 1.25
  • Geo-redundant price = published price x 2

如需定價,請參閱Azure SQL 資料庫定價頁面。

注意

Azure 發票只會顯示過多的備份儲存體耗用量,而不是整個備份儲存體耗用量。 例如,在假設的案例中,如果您已布建 4 TB 的資料儲存體,您將取得 4 TB 的可用備份儲存空間。 如果您使用總計 5.8 TB 的備份儲存空間,Azure 發票只會顯示 1.8 TB,因為您只需支付已使用的超額備份儲存體費用。

DTU 模型

在 DTU 模型中,資料庫和彈性集區的備份儲存體不會額外收費。 備份儲存體的價格是資料庫或集區價格的一部分。

虛擬核心模型

Azure SQL Database 會計算所有備份檔案的總可計費備份儲存體作為累計值。 每小時都會向 Azure 計費管線報告此值。 管線會匯總此每小時使用量,以在每個月結束時取得備份儲存體耗用量。

如果刪除了資料庫,備份儲存體耗用量將會逐漸降低,因為較舊的備份會達到年限並且刪除。 由於差異備份與記錄備份需要有更早的備份才能還原,因此會每週將這三種類型的備份一起清除。 刪除所有備份之後,計費就會停止。

超大規模資料庫會以不同的方式計算備份儲存體成本。 如需詳細資訊,請參閱 超大規模資料庫備份儲存體成本

對於單一資料庫,備份儲存體數量等於資料庫最大資料儲存體大小的 100%,不需額外費用。 下列方程式用來計算計費備份儲存體使用量總計:

Total billable backup storage size = (size of full backups + size of differential backups + size of log backups) – maximum data storage

針對彈性集區,備份儲存體數量等於 100% 的集區儲存體大小上限,不需額外費用。 針對集區資料庫,可計費備份儲存體的總大小會在集區層級匯總,並計算如下:

Total billable backup storage size = (total size of all full backups + total size of all differential backups + total size of all log backups) - maximum pool data storage

根據您已使用的備份儲存體備援率,每月計費的備份儲存體總費用是以 GB 為單位。 此備份儲存體耗用量取決於個別資料庫的工作負載和大小、彈性集區和受控實例。 經過大量修改的資料庫具有較大的差異和記錄備份,因為這些備份的大小與變更的資料量成正比。 因此,這類資料庫會有較高的備份費用。

作為簡化的範例,假設資料庫累積了 744 GB 的備份儲存體,而且此數量在整個月份會維持不變,因為資料庫完全閒置。 若要將此累計儲存體耗用量轉換為每小時使用量,請將它除以 744.0 (每個月 31 天 24 小時) 。 SQL Database會向 Azure 計費管線回報,資料庫每小時會以固定費率取用 1 GB 的 PITR 備份。 Azure 帳單會彙總此耗用量,並顯示整個月的使用量為 744 GB。 成本會以您區域中每月 GB 的費率為基礎。

以下是另一個範例。 假設相同的閒置資料庫在當月中間的保留期從 7 天增加到 14 天。 這項增加會導致備份儲存體總計加倍成為 1,488 GB。 SQL Database 會報告 1 到 372 個小時 (上半月) 有 1 GB 的使用量。 報告 373 到 744 個小時 (下半月) 有 2 GB 的使用量。 此使用量會匯總為每月 1,116 GB 的最終帳單。

實際的備份計費案例更為複雜。 由於資料庫中的變更速率取決於工作負載,而且隨著時間而變動,因此每個差異和記錄備份的大小也會有所不同。 備份儲存體的每小時耗用量會據以變動。

每個差異備份也包含自從上次完整備份之後,資料庫中所做的所有變更。 因此,所有差異備份的總大小都會在一周內逐漸增加。 然後,它會在一組較舊的完整、差異和記錄備份過期之後大幅下降。

例如,假設大量寫入活動,例如索引重建,會在完整備份完成之後執行。 接著會包含索引重建所做的修改:

  • 在重建期間所建立的交易記錄備份中。
  • 在下一個差異備份中。
  • 在每個差異備份中,直到發生下一次完整備份為止。

在較大型資料庫中的最後一個案例中,如果差異備份太大,服務中的優化會建立完整備份,而不是差異備份。 這樣會減少所有差異備份的大小,直到下次完整備份。

您可以監視每個備份類型的總備份儲存體耗用量, (完整、差異、交易記錄) ,如 監視耗用量中所述。

監視成本

若要瞭解備份儲存體成本,請移至Azure 入口網站中的[成本管理 + 計費]。 選取 [成本管理],然後選取 [ 成本分析]。 選取 [ 範圍] 所需的訂用帳戶,然後篩選您感興趣的時段和服務,如下所示:

  1. 新增 [服務名稱] 的篩選條件。

  2. 在下拉式清單中,選取單一資料庫或彈性資料庫集區的 sql Database

  3. 為 [計量子類別] 新增其他篩選條件。

  4. 若要監視 PITR 備份成本,請在下拉式清單中,針對單一資料庫或彈性資料庫集區選取 單一/彈性集區 pitr 備份儲存體 。 只有在備份儲存體耗用量存在時,才會顯示計量。

    若要監視 LTR 備份成本,請在下拉式清單中,選取單一資料庫或彈性資料庫集區的 ltr 備份儲存體 。 只有在備份儲存體耗用量存在時,才會顯示計量。

儲存體計算子類別也可能與您感興趣,但它們與備份儲存體成本無關。

顯示備份儲存體成本分析的螢幕擷取畫面。

重要

只有目前使用中的計數器才能看到計量。 如果計數器無法使用,則可能是目前未使用類別目錄。 例如,未耗用儲存體的資源看不到儲存體計數器。 如果沒有 PITR 或 LTR 備份儲存體耗用量,將不會顯示這些計量。

如需詳細資訊,請參閱 Azure SQL Database 成本管理

加密的備份

如果您的資料庫使用 TDE 加密,則備份會在靜止時自動加密 (包括 LTR 備份)。 Azure SQL 中所有新的資料庫預設都會設定為啟用 TDE。 如需 TDE 的詳細資訊,請參閱使用 SQL Database 進行透明資料加密

備份完整性

Azure SQL 工程小組會持續自動測試自動資料庫備份的還原。 進行時間點還原時,資料庫也會收到使用 DBCC CHECKDB 的完整性檢查。

在完整性檢查期間發現的任何問題,都會對工程小組產生警示。 如需詳細資訊,請參閱SQL Database 中的資料完整性

系統會使用 CHECKSUM 選項來執行所有資料庫備份,以提供額外的備份完整性。

法規遵循

當您將資料庫從以 DTU 為基礎的服務層級,移轉至以虛擬核心為基礎的服務層級時,系統會保留時間點復原保留期,確保不會危害您應用程式的資料復原原則。 如果預設保留不符合合規性需求,您可以變更 PITR 保留期間。 如需詳細資訊,請參閱變更時間點復原備份保留期間

注意

本文提供關於如何從裝置或服務刪除個人資料的步驟,並且可以用來支援遵循 GDPR 的義務。 如需 GDPR 的一般資訊,請參閱 Microsoft 信任中心的 GDPR 區段服務信任入口網站的 GDPR 區段

使用 Azure 原則來強制執行備份儲存體備援

如果您有資料落地需求,要求您將所有資料保留在單一 Azure 區域中,您可以使用 Azure 原則 來強制執行 SQL 資料庫的區域備援或本地備援備份。

Azure 原則是一項服務,可讓您用來建立、指派和管理將規則套用至 Azure 資源的原則。 Azure 原則可協助您符合公司標準和服務等級協定的這些資源。 如需詳細資訊,請參閱 Azure 原則概觀

內建備份儲存體備援原則

若要在組織層級強制執行資料落地需求,您可以使用Azure 入口網站或Azure PowerShell將原則指派給訂用帳戶。 例如,如果您指派下列內建原則,訂用帳戶中的使用者將無法透過Azure 入口網站或Azure PowerShell建立具有異地備援備份儲存體的資料庫:SQL Database應避免使用 GRS 備份備援。

如需SQL Database內建原則定義的完整清單,請檢閱原則參考

重要

當您透過 T-SQL 建立資料庫時,不會強制執行 Azure 原則。 若要在使用 T-SQL 建立資料庫時指定資料落地, 請使用 LOCAL 或 ZONE 作為 CREATE DATABASE 語句中BACKUP_STORAGE_REDUNDANCY參數的輸入

後續步驟