從 Azure SQL 資料庫中的備份還原資料庫

適用于:Azure SQL資料庫

本文提供從 Azure SQL Database 備份復原任何資料庫的步驟,包括超大規模資料庫。 如需Azure SQL 受控執行個體,請參閱在 Azure SQL 受控執行個體 中從備份還原資料庫

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

  • 在相同的伺服器上建立新的資料庫,並復原到保留期間內的指定時間點。
  • 在相同的伺服器上建立資料庫,並復原到已刪除資料庫的刪除時間。
  • 在相同區域中的任何伺服器上建立新的資料庫,並復原到最近備份的時間。
  • 在任何其他區域中的任何伺服器上建立新的資料庫,並復原到最新複寫的備份點。

如果您設定 長期保留 (LTR) ,您也可以在任何伺服器上從任何長期保留備份建立新的資料庫。

重要

  • 在還原期間,您無法覆寫現有的資料庫。
  • 資料庫還原作業不會還原原始資料庫的標記。

當您在 DTU 購買模型中使用標準或進階服務層級時,您的資料庫還原可能會產生額外的儲存體成本。 當還原資料庫的大小上限大於目標資料庫服務層級和服務目標中包含的儲存體數量時,就會產生額外的成本。

如需有關額外儲存體的價格詳細資訊,請參閱 SQL Database 價格頁面。 如果實際的已使用空間量小於已包含的儲存體數量,您可以將資料庫大小上限設定為已包含的數量,以避免此額外成本。

復原時間

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

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

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

針對單一訂用帳戶,您有下列並行還原要求數目的限制。 這些限制適用於時間點還原、異地還原和從長期保留備份還原的任何組合。

部署選項 正在處理的並行要求的最大數目 正在提交的並行要求的最大數目
單一資料庫 (每個訂閱) 30 100
彈性集區 (每個集區) 4 2,000

權限

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

  • 包含邏輯伺服器的訂用帳戶或資源群組中參與者角色的成員或SQL Server參與者角色
  • 訂用帳戶或資源群組擁有者

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

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

時間點還原

您可以將任何資料庫還原到其保留期間內的較早時間點。 還原要求可以指定還原資料庫的任何服務層級或計算大小。 當您將資料庫還原到彈性集區時,請確定集區中有足夠的資源來容納資料庫。

還原完成時,它會在與原始資料庫相同的伺服器上建立新的資料庫。 還原的資料庫會根據其服務層級和計算大小依一般費率計費。 在完成資料庫還原之前,不會產生任何費用。

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

重要

  • 您只能在相同的伺服器上執行還原。 時間點還原不支援跨伺服器還原。
  • 您無法在異地次要資料庫上執行還原時間點。 您只能在主要資料庫上執行此動作。
  • 超大規模資料庫不支援 參數 BackupFrequency
  • 資料庫還原作業需要大量資源,而且可能需要 S3 或更新版本的服務層級,以還原 (目標) 資料庫。 還原完成後,資料庫或彈性集區可能會視需要相應減少。
  • 資料庫取代

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

  • 資料復原

    如果您打算從還原的資料庫擷取資料,以從使用者或應用程式錯誤復原,您需要撰寫和執行從還原的資料庫擷取資料並套用至原始資料庫的資料復原腳本。 雖然還原作業可能需要很長的時間才能完成,但在還原過程中,還原資料庫會顯示在資料庫清單中。

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

若要使用 Azure 入口網站來將資料庫復原至某個時間點,請開啟資料庫概觀頁面,然後選取工具列上的 [還原]。 選擇備份來源,然後選取將建立新資料庫的時間點備份點。

SQL Database的資料庫還原選項螢幕擷取畫面。

長期備份還原

若要在長期備份上執行還原作業,您可以使用Azure 入口網站、Azure CLI、Azure PowerShell或 REST API。 如需詳細資訊,請參閱 還原長期備份。 長期保留不適用於超大規模資料庫。

若要使用 Azure 入口網站 復原長期備份,請移至您的邏輯伺服器。 選取 [設定] 下的 [備份],然後針對您嘗試還原的資料庫選取 [可用 LTR 備份] 底下的 [管理]。

顯示可用長期保留備份之Azure 入口網站的螢幕擷取畫面。

還原已刪除的資料庫

您可以使用Azure 入口網站、Azure CLI、Azure PowerShell和 Rest API,將已刪除的資料庫還原至相同伺服器上的刪除時間或較早的時間點。

重要

如果您刪除伺服器,也會刪除其所有資料庫,而且無法復原。 您無法還原已刪除的伺服器。

若要使用Azure 入口網站將已刪除的資料庫復原到刪除時間,請開啟伺服器的概觀頁面,然後選取 [已刪除的資料庫]。 選取您要還原的已刪除資料庫,然後輸入將在備份還原資料時所建立之新資料庫的名稱。

顯示如何還原已刪除資料庫的Azure 入口網站螢幕擷取畫面。

提示

最近刪除的資料庫可能需要幾分鐘的時間才會出現在Azure 入口網站的 [已刪除的資料庫] 頁面上,或當您想要以程式設計方式顯示已刪除的資料庫時。

異地復原

您可以使用異地還原來還原已刪除的資料庫,方法是使用 Azure 入口網站、Azure CLI、Azure PowerShell 和 Rest API。

重要

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

異地還原會使用異地複寫備份作為來源。 您可以從最新的異地複寫備份,還原任何 Azure 區域中任何 邏輯伺服器上的 資料庫。 即使資料庫中斷或整個區域無法存取,您還是可以要求異地還原。

當您的資料庫因為裝載區域中的事件而無法使用時,異地還原是預設復原選項。 您可以將資料庫還原至任何其他區域中的伺服器。

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

異地還原的圖例。

從Azure 入口網站,您可以建立新的單一資料庫,然後選取可用的異地還原備份。 新建立的資料庫包含異地還原備份資料。

若要從 Azure 入口網站在您選擇的區域和伺服器中,對單一資料庫進行異地還原,請遵循這些步驟:

  1. 從 [儀表板],選取 [新增]>[建立 SQL Database]。 在 [基本] 索引標籤上,輸入必要資訊。
  2. 選取 [其他設定]
  3. 針對 [使用現有的資料],請選取 [備份]。
  4. 請從可用異地還原備份清單中選取備份。

顯示建立資料庫選項之Azure 入口網站的螢幕擷取畫面。

完成從備份建立資料庫的程式。 當您在 Azure SQL Database 中建立資料庫時,其會包含已還原的異地還原備份。

異地還原的考量

如需使用異地還原來從中斷復原的詳細資訊,請參閱從中斷復原

異地還原是SQL Database中提供的最基本災害復原解決方案。 它依賴自動建立的異地複寫備份,其中包含最多 1 小時的復原點目標 (RPO) ,以及最多 12 小時的預估復原時間目標 (RTO) 。 其不保證在區域中斷之後,該目標區域將會擁有還原資料庫的容量,因為需求可能會明顯增加。 如果您的應用程式使用相對較小的資料庫,而且對企業而言並不重要,則異地還原是適當的災害復原解決方案。

對於需要大型資料庫且必須確保商務持續性的商業關鍵性應用程式,請使用 自動容錯移轉群組。 此功能提供較低的 RPO 和 RTO,而且一律保證容量。

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

注意

如果您打算使用異地還原作為災害復原解決方案,建議您定期進行演練,以驗證對最近資料修改的任何遺失的應用程式容錯,以及復原程式的所有作業層面。

下一步