練習 - 透過還原 Azure SQL 資料庫來復原資料

已完成

試驗還原是任何嚴重損壞修復策略的重要元件。

您需要熟悉在必要時,將已備份的資料庫還原至特定時間點的步驟。 您也需要調查還原作業需要多久時間。 如此一來,您可以在貴組織的指引中規劃此時間。

讓我們將會從自動化的 Azure SQL Database 備份執行還原。

確認備份為作用中

最長可能需要 15 分鐘的時間,才能完成第一次成功的備份。 我們必須先確定備份正在執行,再繼續進行練習。

  1. 在 Azure Cloud Shell 中,執行下列 PowerShell 命令,將變數設為您 SQL Server 執行個體的值:

    $sqlserver=Get-AzSqlServer
    
  2. 使用此指令驗證連續備份是否正在執行:

    Get-AzSqlDatabaseRestorePoint `
        -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
        -DatabaseName sql-erp-db `
        -ServerName $sqlserver.ServerName
    

    如果您的備份正在執行,則應該會看到類似下列程式碼的輸出。 如果命令未傳回任何值,則表示備份尚未開始。 請在幾分鐘後重新執行此命令。

    ResourceGroupName        : <rgn>[sandbox resource group name]</rgn>
    ServerName               : erpserver-53903
    DatabaseName             : sql-erp-db
    Location                 : East US
    RestorePointType         : CONTINUOUS
    RestorePointCreationDate :
    EarliestRestoreDate      : 9/24/19 4:21:21 PM
    RestorePointLabel        :
    

    RestorePointTypeCONTINUOUS,表示備份會自動進行。 EarliestRestoreDate 表示第一次備份的時間戳記。 備份準備就緒後,讓我們繼續進行練習。

從資料庫卸載資料表

讓我們從模擬錯誤的資料庫修改開始著手。

  1. 在 [Azure 入口網站] 功能表上,或從 [首頁] 頁面中,依序選取 [所有資源]、[erpserver-NNNN]、[SQL 資料庫],然後選取 [sql-erp-db] 資料庫。

  2. 選取 [查詢編輯器 (預覽)],然後使用 dbadmin 使用者和您為此帳戶指定的密碼登入。

  3. 讓我們卸載先前建立的 Person 資料表。 在新的查詢視窗中,執行此命令。

    DROP TABLE Person
    
  4. 若要檢查資料庫中的資料表,請選取 [新增查詢]。 接著,在 [查詢 2] 視窗中,執行此命令以列出資料庫中的所有資料表:

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables t
    ORDER BY schema_name, table_name;
    

    您應該會看到傳回「沒有結果」,因為我們刪除了 Person 資料表。

    顯示查詢資料庫中資料表之後未傳回結果的螢幕擷取畫面。

執行還原時間點

已誤刪 Person 資料表。 現在,讓我們將資料庫還原到先前的狀態。

  1. 在 [Azure 入口網站] 功能表上,或從 [首頁] 頁面,選取 [所有資源],然後選取 sql-erp-db 資料庫。

  2. 在 [概觀] 頁面頂端,選取 [還原]

  3. 使用這些值完成 [還原資料庫] 頁面上的 [基本資料] 索引標籤,然後選取 [檢閱 + 建立]

    設定
    選取來源 時間點
    資料庫名稱 sql-erp-db-xxxxx
    還原點 在卸載 Person 資料表之前,請選取 10 分鐘前的時間
    伺服器 erpserver-xxxxx
    想使用 SQL 彈性集區嗎? No
    計算 + 儲存體 預設值
    [備份儲存體備援] 本機備援備份儲存體

    顯示 [還用資料庫] 頁面的螢幕擷取畫面,其中已選取 [檢閱 + 建立] 按鈕。

  4. 選取 建立。 資料庫還原需要幾分鐘的時間才能完成。

檢視還原的資料庫

還原的資料庫應該包含 Person 資料表。 您可以在入口網站中進行檢查。

  1. 在 [Azure 入口網站] 功能表上,或從 [首頁] 頁面,選取 [所有資源],然後選取 [sql-erp-db-restored] 資料庫。

  2. 選取 [查詢編輯器 (預覽)],然後使用 dbadmin 使用者和您為此帳戶指定的密碼登入。

  3. 若要檢查資料庫中的資料表,請在 [查詢 1] 視窗中執行此命令:

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables t
    ORDER BY schema_name, table_name;
    

    現在應該會顯示 Person 資料表。

    顯示查詢資料庫中的資料表之後,結果的螢幕擷取畫面。

  4. 執行此命令以確認資料位於資料表中:

    SELECT * FROM Person
    

    您應該會看到您先前輸入的資料。

    顯示查詢資料庫中的資料表之後,已確認結果的螢幕擷取畫面。

您現在已了解如何在資料發生非預期狀況時還原資料庫。 您已熟悉還原程序。 您現在可以向貴組織確保您已正確定義您的備份及還原程序。