從 Azure SQL 受控執行個體中的備份還原資料庫

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

本文提供在 Azure SQL 受控執行個體中從備份復原資料庫的步驟。 針對 Azure SQL 資料庫,請參閱從 Azure SQL 資料庫中的備份還原資料庫

概觀

自動資料庫備份可在發生使用者和應用程式錯誤、意外刪除資料庫和長時間中斷時協助保護您的資料庫。 所有服務層級和計算大小都可以取得此內建功能。 下列選項可透過自動資料庫備份進行的資料庫復原使用:

  • 在相同的受控執行個體上建立新的資料庫,並復原到保留期間內的指定時間點。
  • 在相同的受控執行個體或不同的受控執行個體上建立新的資料庫,並復原到保留期間內的指定時間點。
  • 在相同的受控執行個體或不同的受控執行個體上建立資料庫,並復原到已刪除資料庫的刪除時間。
  • 在相同訂用帳戶中的任何受控執行個體或相同租使用者和相同區域中的不同訂用帳戶上建立新的資料庫,並復原到最近備份的點。

如果您已設定長期保留 (LTR),您也可以從任何執行個體上的任何長期保留備份建立新資料庫。

重要

在還原期間,您無法覆寫現有的資料庫。

復原時間

數個因素會影響透過自動資料庫備份來還原資料庫的復原時間:

  • 資料庫的大小
  • 資料庫的計算大小
  • 相關的交易記錄數目
  • 需要重新執行以復原到還原點的活動數目
  • 還原到不同區域的網路頻寬
  • 在目標區域中處理的並行還原要求數目

針對大型及/或頻繁使用的資料庫,還原可能需要數小時。 區域中的中斷延長可能會導致大量異地還原要求以進行災害復原。 當有許多要求時,則該區域中個別資料庫的復原時間可能會增加。 大多數資料庫還原都會在 12 小時內完成。

提示

對於正在進行中的資料庫還原,會優先執行 Azure SQL 受控執行個體系統更新。 如果 SQL 受控執行個體有系統更新,則所有擱置的還原都會暫停,然後在套用更新之後繼續執行。 此系統行為可能會延長還原的時間,尤其會對長時間執行的還原造成影響。

若要達到資料庫還原的可預測時間,請考慮設定維護時段,以允許在特定日期和時間排程系統更新。 也考慮在排程的維護時段之外執行資料庫還原。

權限

若要使用自動備份進行復原,您必須是:

  • 訂用帳戶中的 SQL Server 參與者角色,或是 SQL 受控執行個體參與者角色 (視復原目的地而定) 的成員
  • 訂用帳戶擁有者

如需詳細資訊,請參閱 Azure RBAC:內建角色

您可以使用 Azure 入口網站、PowerShell 或 REST API 來進行復原。 您無法使用 Transact-SQL。

時間點還原

您可以要將資料庫還原到更早的時間點。 要求可以針對還原的資料庫指定任何服務層級或計算大小。 請確定在您要還原資料庫的目標執行個體上有足夠的資源。

當還原完成時,這會在目標執行個體上建立新的資料庫,無論是相同的執行個體還是不同的執行個體。 還原的資料庫會根據其服務層級和計算大小依一般費率計費。 在完成資料庫還原之前,不會產生任何費用。

基於復原目的,您通常會將資料庫還原到較早的時間點。 您可以將還原的資料庫視為原始資料庫的替代品,或將其做為資料來源來更新原始資料庫。

重要

您無法在異地次要資料庫上執行還原時間點。 您只能在主要資料庫上執行此動作。

  • 資料庫取代

    如果您想要使用已還原的資料庫作為原始資料庫的取代項目,則應該指定原始資料庫的計算大小和服務層級。 您可以重新命名原始資料庫,然後使用 T-SQL 中的 ALTER DATABASE 命令提供原始名稱給還原的資料庫。

  • 資料復原

    如果您打算從已還原的資料庫中擷取資料,以從使用者或應用程式錯誤中復原,則需要撰寫並執行資料復原指令碼,以從已還原的資料庫中擷取資料並套用至原始資料庫。 雖然還原作業可能要花很長的時間才能完成,但還原中的資料庫在整個還原程序中都會顯示在資料庫清單上。

    如果您在還原期間刪除資料庫,則將會取消還原作業。 您不需要支付未完成還原的資料庫費用。

若要使用 Azure 入口網站將 SQL 受控執行個體中的資料庫復原到某個時間點,您可以移至入口網站中的資料庫,然後選擇 [還原]。 或者,您可以開啟目標 SQL 受控執行個體概觀頁面,然後選取工具列上的 [+ 新增資料庫] 以開啟 [建立 Azure SQL 受控資料庫] 頁面。

Azure 入口網站中 SQL 受控執行個體概觀窗格的螢幕擷取畫面:顯示新增選取的新資料庫。

在 [基本] 索引標籤上提供目標受控執行個體詳細資料,然後從 [資料來源] 索引標籤中選擇備份類型。

Azure 入口網站的螢幕擷取畫面:顯示 [建立 Azure SQL 受控資料庫] 頁面的 [資料來源] 索引標籤,並已選取時間點還原。

如需詳細資訊,請檢閱還原時間點一文。

還原已刪除的資料庫

您可以在相同受控執行個體,或與來源執行個體不同的執行個體,將已刪除的資料庫還原到刪除時間或較早的時間點。 相同訂用帳戶中的目標執行個體,或來源執行個體的不同訂用帳戶中的執行個體。 您可以藉由從備份建立新資料庫,來還原已刪除的資料庫。

重要

您無法還原已刪除的受控執行個體。 如果您刪除受控執行個體,其所有資料庫也會遭到刪除,而且無法還原到刪除時間,或之前的時間點。 如果您設定了長期保留 (LTR),您仍能將資料庫從已刪除的執行個體還原至另一個執行個體,並還原至建立 LTR 備份的時間點。

若要使用 Azure 入口網站復原資料庫,請開啟受控執行個體的概觀頁面,然後選取 [備份]。 選擇顯示 [已刪除] 的備份,然後選取您要復原的已刪除備份旁的 [還原],以開啟 [建立 Azure SQL 受控資料庫] 頁面。 在 [基本] 索引標籤上提供目標受控執行個體詳細資料,以及在 [資料來源] 索引標籤上提供來源受控執行個體詳細資料。在 [其他設定] 索引標籤上設定保留設定。

SQL 受控執行個體的 Azure 入口網站備份頁面螢幕擷取畫面,其中顯示已刪除的資料庫,然後選取 [還原] 動作。

提示

在 Azure 入口網站的 [已刪除的資料庫] 頁面上,或您想要透過命令列顯示已刪除的資料庫時,最近刪除的資料庫可能需要幾分鐘的時間才會出現。

異地復原

重要

  • 異地還原僅適用於已設定了異地備援備份儲存體的受控執行個體。 如果您目前未針對資料庫使用異地複寫備份,您可以設定備份儲存體備援來變更此備份。
  • 您僅可以在位於相同訂用帳戶的受控執行個體上執行異地還原。

當您的資料庫因為裝載區域中的事件而無法使用時,異地還原是預設復原選項。 您可以將資料庫還原至任何其他區域中的執行個體。 您可以透過最新的異地複寫備份,在任何 Azure 區域中的任何受控執行個體上還原資料庫。 使用異地複寫備份作為來源進行異地還原。 即使中斷導致資料庫或資料中心無法存取,您仍然可以要求異地還原。

在建立備份時以及對它進行異地複寫到不同區域中的 Azure Blob 之間會有延遲。 因此,還原後的資料庫可能落後原始資料庫最多一個小時。 下列圖解顯示從另一個區域中的上次可用備份來還原資料庫。

為了進行異地還原,跨區域還原資料庫的圖例。

從 Azure 入口網站,您可以將異地複寫備份還原至現有的執行個體,或建立新的受控執行個體,然後選取可用的異地還原備份。 新建立的資料庫包含異地還原備份資料。

若要還原至現有的執行個體,請遵循還原時間點中的步驟,並確定選擇適當的來源和目標執行個體,將您的資料庫還原至預定的執行個體。

若要使用 Azure 入口網站異地還原至新的執行個體,請遵循下列步驟:

  1. 移至新的 Azure SQL 受控執行個體。
  2. 選取 [新增資料庫]。
  3. 輸入資料庫名稱。
  4. 在 [資料來源] 下,選擇適當的備份類型,然後提供資料來源的詳細資料。
  5. 請從可用異地還原備份清單中選取備份。

完成建立執行個體資料庫的程式之後,這會包含還原的異地還原備份。

異地還原的考量

異地還原是 Azure SQL 受控執行個體中最基本的災害復原解決方案。 它依賴在次要 (配對) 區域中自動建立異地複寫備份。 以下是異地還原的一些考量:

  • 復原點目標 (RPO) 最多 1 小時。
  • 復原程序 (復原時間目標 - RTO) 通常需要少於 12 小時,但可能會根據資料庫大小和活動而有所不同,因此復原可能會超出此時間範圍。
  • 次要 (配對) 區域是主要區域的 Azure 儲存體設定。 您無法變更次要區域。
  • 由於填入新資料的延遲,新建立/還原的資料庫可能不會立即顯示為可在其他區域中還原。 如果客戶看不到新資料庫的備份,他們應該會預期最多 24 小時的等候期間。

請務必確認異地還原是適當的災害復原解決方案,適用於對業務而言並不重要的應用程式。 對於需要大型資料庫且必須確保商務持續性的業務關鍵應用程式,請使用容錯移轉群組。 該功能提供較低的 RPO 和 RTO,而且一律保證容量。

如需商務持續性選項的詳細資訊,請參閱商務持續性概觀

限制

使用備份和 Azure SQL 受控執行個體時,請考慮下列限制:

  • 資料庫異地還原只能執行至與來源 SQL 受控執行個體相同訂用帳戶中的執行個體。
  • 在Azure SQL 受控執行個體資料庫中取得的原生備份只能還原至 SQL Server 2022 (內部部署或在虛擬機器上),前提是來源SQL 受控執行個體已在 2022 年 11 月功能波中註冊。
  • Azure SQL 受控執行個體資料庫預設會以 TDE 加密。 來源資料庫使用客戶自控金鑰 (CMK) 作為TDE 保護器時,若要將資料庫還原至來源 SQL 受控執行個體以外的執行個體,目標執行個體必須能夠存取用於在 Azure Key Vault 加密來源資料庫 的相同金鑰,或必須在備份前停用來源資料庫上的 TDE 加密。
  • 您只能使用 sys.dm_exec_requestssys.dm_operation_status 動態管理檢視來追蹤還原程序的進度。
  • 在 Azure SQL 受控執行個體上啟用服務端點原則時,將服務端點原則放在子網路上可防止從不同子網路的執行個體中進行時間點還原 (PITR)。
  • 復原點目標 (RPO) 最多 1 小時。
  • 復原時間目標 (RTO) 約為 12 小時,但可能會因資料庫大小和活動而有所不同,可能超出此時間範圍。
  • 無法變更次要 (配對) 區域。
  • 由於填入新資料的延遲,新建立/還原的資料庫可能不會立即顯示為可在其他區域中還原。 新資料庫的備份最多可能需要 24 小時才會顯示。
  • 您可以平行還原的資料庫數目上限是每個單一訂用帳戶 200 個。 在某些情況下,可以藉由開啟支援票證來提高此限制。