Azure SQL 受控執行個體中的自動備份

適用于:Azure SQL 受控執行個體

本文說明Azure SQL 受控執行個體的自動備份功能。

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

什麼是資料庫備份?

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

Azure SQL 受控執行個體中的資料庫會使用SQL Server引擎技術來備份和還原資料。

備份頻率

Azure SQL 受控執行個體建立:

交易記錄備份頻率是根據計算大小與資料庫活動數量而定。 在您還原資料庫時,服務會判斷需要還原的完整、差異及交易記錄備份。

[備份儲存體備援]

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

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

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

您可以在建立實例時設定備份儲存體備援,並在稍後於實例層級進行更新。 您對現有實例所做的變更僅適用于未來的備份。 更新現有實例的備份儲存體備援之後,最多可能需要 24 小時才能套用變更。 備份儲存體備援所做的變更僅適用于短期備份。 長期保留原則會在建立原則時繼承短期備份的備援選項。 即使短期備份的備援選項後續變更,長期備份的備援選項仍會保存。

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

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

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

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

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

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

    結果如下:

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

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

  • 異地區域備援儲存體 (GZRS) :結合可用性區域間備援所提供的高可用性,並保護異地複寫所提供的區域性中斷。 GZRS 帳戶中的資料會複製到主要區域中的三個 Azure 可用性區域。 資料也會複寫至次要地理區域,以防範區域性災害。 在該區域中,您也有三個同步複本,這些複本會以非同步方式從主要區域複製到次要區域。

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

警告

  • 資料庫更新為使用本地備援或區域備援儲存體時,就會立即停用異地還原
  • 儲存體備援圖表會顯示多個可用性區域 (multi-az) 的區域。 不過,有些區域只提供單一可用性區域,且不支援 ZRS 或 GZRS。

備份使用量

您可以使用這些備份來︰

  • 使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 REST API,將現有的資料庫還原到保留期間內的過去時間點。 此作業會在與原始資料庫相同的實例上建立新的資料庫,或相同訂用帳戶和區域中的不同實例。 它會使用不同的名稱來避免覆寫原始資料庫。

    還原完成後,您可以刪除原始資料庫。 或者,您可以 重新命名 原始資料庫,並將還原的資料庫重新命名為原始資料庫名稱。

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

  • 將資料庫還原到另一個地理區域。 異地還原可讓您在無法存取您主要區域中的資料庫或備份時,從地理災害中復原。 它會在任何 Azure 區域中的任何現有受控實例上建立新的資料庫。

    重要

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

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

還原功能和功能

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

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

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

** 預設會將所有 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 受控執行個體
從Azure Blob 儲存體還原資料庫
SQL 受控執行個體

備份排程

第一次完整備份會在建立或還原新資料庫或備份備援變更之後立即排程。 此備份通常會在 30 分鐘內完成,但資料庫很大時可能需要較長的時間。

針對新的資料庫,備份速度很快。 但是,還原的資料庫備份時間可能會有所不同,這取決於資料庫的大小。 例如,在還原的資料庫或資料庫複本上,初始備份可能需要較長的時間,通常會大於新的資料庫。

第一次完整備份之後,所有進一步的備份都會自動排程和管理。 所有資料庫備份的確切時間取決於SQL 受管理執行個體服務,因為它會平衡整體系統工作負載。 您無法變更備份作業的排程或加以停用。

重要

對於新的、還原或複製的資料庫,當建立初始完整備份之後的初始交易記錄備份時,時間點還原功能就會變成可用。

備份儲存體耗用量

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

Azure SQL 受控執行個體備份排程每週包含一個完整備份。 若要在整個保留期間內提供 PITR,系統必須儲存額外完整、差異和交易記錄備份,超過設定的保留期間一周。

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

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

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

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

重要

資料庫的備份會保留以提供 PITR,即使資料庫已刪除也一樣。 雖然刪除和重新建立資料庫可能會節省儲存體和計算成本,但可能會增加備份儲存體成本。 原因是服務會在每次刪除時保留每個已刪除資料庫的備份。 若要降低備份成本,您可以將保留期間變更為 0 天,但只有已刪除的資料庫才能使用。

微調備份儲存體耗用量

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

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

備份保留

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

短期保留

針對所有新的、還原和複製的資料庫,Azure SQL 受控執行個體保留足夠的備份,以允許過去 7 天內的 PITR 預設。 服務會採用一般完整、差異和記錄備份,以確保資料庫可還原至針對資料庫或受控實例定義的保留期間內的任何時間點。

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

您可以在 1 到 35 天內,變更每個作用中資料庫的 備份保留期限 。 如 備份儲存體耗用量中所述,儲存以啟用 PITR 的備份可能比保留期間還舊。

如果您刪除資料庫,系統會以與其特定保留期間的線上資料庫相同的方式來保留備份。 不過,對於已刪除的資料庫,保留期間會從 1-35 天更新為 0-35 天,以便手動刪除備份。 如果您需要保留備份超過 35 天的短期保留期限上限,您可以啟用 長期保留

重要

如果您刪除受控執行個體,則該受控執行個體上的所有資料庫也會一併刪除且無法復原。 您無法還原已刪除的受控執行個體。 但是,如果您已為受控實例設定長期保留,則不會刪除 LTR 備份。 然後,您可以使用這些備份,將資料庫還原至相同訂用帳戶中的不同受控實例,以取得 LTR 備份的時間點。 若要深入瞭解,請檢閱 還原長期備份

長期保留

使用 SQL 受管理執行個體,您可以在Azure Blob 儲存體中設定最多 10 年的完整 LTR 備份。 設定 LTR 原則之後,每週都會自動將完整備份複製到不同的儲存體容器。

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

AZURE SQL 受控執行個體中的 LTR 備份儲存體備援繼承自 STR 在定義 LTR 原則時所使用的備份儲存體備援。 即使 STR 備份儲存體備援在未來有所變更,您也無法變更它。

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

備份儲存體成本

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

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

備份儲存體的價格會有所不同。 這取決於您選擇的備份儲存體備援選項和您的區域。 備份儲存體會根據每個月耗用的 GB 來收費,所有備份的費率相同。

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

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

如需定價,請檢閱Azure SQL 受控執行個體定價頁面。

注意

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

針對受控實例,可計費備份儲存體的總大小會在實例層級匯總,並計算如下:

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

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

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

以下是另一個範例。 假設相同的閒置資料庫在當月中間的保留期從 7 天增加到 14 天。 這項增加會導致備份儲存體總計加倍成為 1,488 GB。 SQL 受管理執行個體會報告 1 到 372 小時 1 到 372 的使用量, (月份的前半部) 。 報告 373 到 744 個小時 (下半月) 有 2 GB 的使用量。 此使用量會匯總為每月 1,116 GB 的最終帳單。 保留成本不會立即增加。 它們會每天逐漸增加,因為備份會成長到達到 14 天的最大保留期間為止。

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

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

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

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

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

監視成本

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

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

  2. 在下拉式清單中,選取 受控實例的 sql 受控實例

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

  4. 若要監視 PITR 備份成本,請在下拉式清單中選取 受控實例 pitr 備份儲存體。 只有在備份儲存體耗用量存在時,才會顯示計量。

    若要監視 LTR 備份成本,請在下拉式清單中選取 sql 受控實例 - ltr 備份儲存體。 只有在備份儲存體耗用量存在時,才會顯示計量。

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

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

重要

計量僅適用于目前使用中的計數器。 如果無法使用計數器,則可能是目前未使用類別目錄。 例如,沒有部署受控實例的客戶不會有受控實例計數器。 同樣地,不會對未耗用儲存體的資源顯示儲存體計數器。 如果沒有 PITR 或 LTR 備份儲存體耗用量,則不會顯示這些計量。

加密的備份

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

備份完整性

系統會使用 CHECKSUM 選項來執行所有資料庫備份,以提供額外的備份完整性。 Azure SQL工程小組自動測試自動化資料庫備份目前不適用於Azure SQL 受控執行個體。 在工作負載周圍SQL 受管理執行個體,排程資料庫上的測試備份還原和 DBCC CHECKDB。

雖然系統不會驗證備份的完整性,但備份仍會內建保護,如果備份服務發生問題,則會對 Microsoft 發出警示。 此外,如果備份發生問題,Microsoft 支援您,例如未進行完整備份、備份服務停滯、記錄備份已不在 SLA 中,或備份硬體或軟體損毀。

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

如果您有資料落地需求,要求您將所有資料保留在單一 Azure 區域中,您可以使用 Azure 原則,為 SQL 受控實例強制執列區域備援或本地備援備份。

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

內建備份儲存體備援原則

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

如需SQL 受管理執行個體內建原則定義的完整清單,請檢閱原則參考

重要

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

法規遵循

如果預設保留不符合合規性需求,您可以變更 PITR 保留期間。 如需詳細資訊,請參閱變更時間點復原備份保留期間

注意

變更自動備份設定一文提供如何從裝置或服務中刪除個人資料的步驟,並可用來支援 GDPR 下的責任。 如需 GDPR 的一般資訊,請參閱 Microsoft 信任中心的 GDPR 區段服務信任入口網站的 GDPR 區段

下一步