透過還原 Azure SQL 資料庫來復原資料
測試和驗證還原功能及程序是復原策略的重要部分。 您透過測試還原程序來驗證備份是否成功。 您也可以藉此熟悉復原資料庫時可用的程序和選項。 這有助於確保在需要時可快速且成功地復原資料。
讓我們來了解如何從自動資料庫備份還原 Azure SQL Server 資料庫。
您可以還原的內容
Azure SQL Database 中自動備份會依照您指定的排程,將資料庫複製到讀取權限異地備援儲存體 (RA-GRS) 帳戶中的 Blob。 如果您想要還原其中一個備份,則必須建立新資料庫以包含還原的資料。 您無法將資料庫還原至現有的資料庫。
您可以使用下列選項,在與 Azure SQL Database 建立備份的相同伺服器上,或在另一部伺服器上新建資料庫:
- 在同一部 SQL Database 伺服器上建立新的資料庫,並復原到保留期限內的指定時間點。
- 在復原到已刪除資料庫的刪除時間的相同 SQL Database 伺服器上建立資料庫。
- 在復原到最新備份點的相同區域的任何 SQL Database 伺服器上建立新的資料庫。
- 在任何其他區域中的任何 SQL Database 伺服器上建立新的資料庫,並復原到最新複寫的備份點。
還原的運作方式
為了完成還原,Azure 會將資料庫從儲存體帳戶還原到您指定的 Azure SQL Database 邏輯伺服器。 在還原時間點中,SQL Database 會將交易記錄套用至還原的資料庫,直到您選擇的時間。
此程序的長度會有很大的差異。 它取決於資料庫大小、交易記錄、網路頻寬和同時還原作業的數目。 大部分的還原作業會在 12 小時內完成。
要知道您的還原作業需要多久的時間,執行試驗還原是唯一的方法。 定期執行試驗還原是很好的做法,可計算還原時間並確保完整備份和還原策略如預期般運作。
執行還原時間點
您可以使用 Azure 入口網站、PowerShell 或 Azure CLI 來執行資料庫還原。 如果您要在原始 SQL Database 伺服器上執行還原時間點,您可以選擇:
- 資料庫取代:如果您想要用已還原的資料庫取代原始資料庫,請確定您指定的計算大小和服務層級與原始資料庫相同。 然後使用 T-SQL
ALTER DATABASE
命令來重新命名原始資料庫,並將原始名稱提供給還原的資料庫。 - 資料復原:如果您希望從還原的資料庫中擷取資料,以將錯誤數目降到最低,則不需要重新命名原始和還原的資料庫。 請改為使用 T-SQL 命令從還原的資料庫中擷取所需資料。 接著將資料插入到原始資料庫。
這兩個選項都是從儲存體還原資料庫備份開始。 若要在 Azure 入口網站中復原,請在資料庫概觀頁面上選取 [還原] 按鈕,然後指定還原時間。
在 PowerShell 中,請使用 Restore-AzSqlDatabase
Cmdlet 來執行還原。 在 Azure CLI 中,請使用 az sql db restore
命令。
還原已刪除的資料庫
如果錯誤地刪除了資料庫,您可以使用 Azure 入口網站或 PowerShell,將其從備份還原至刪除時間。
在入口網站中,移至資料庫伺服器的 [概觀] 頁面。 接著,在 [作業]Operations 區域中,選取 [已刪除的資料庫]。 您可以指定刪除的時間點,然後選取 [確定] 來進行復原。
執行異地還原
Azure SQL Database 會自動將已備份資料庫複寫到其他區域的資料中心。 如果原始區域中的資料庫無法使用 (例如由於資料中心中斷),您可以從這些複寫的備份複本之一還原。 您可以還原到 Azure SQL Database 進行備份的時間點。 最新備份可能不會完全複寫至您的區域,因此您可能會遺失一些最近的變更。
若要在 Azure 入口網站中執行異地還原,請將新的資料庫新增至 Azure SQL Database 伺服器,然後在 [選取來源] 下拉式清單中選取 [備份],然後選擇要還原的備份。