Cvičení – zotavení dat obnovením databáze Azure SQL

Dokončeno

Zkušební obnovení jsou klíčovou součástí jakékoli strategie zotavení po havárii.

Chcete se seznámit s postupem obnovení zálohované databáze k určitému bodu v čase pro případ, že to bude nezbytné. Chcete také zjistit, jak dlouho trvá operace obnovení. Tímto způsobem můžete tuto dobu naplánovat ve svých doprovodných materiálech pro vaši organizaci.

Pojďme provést obnovení z automatizovaných záloh azure SQL Database.

Potvrzení, že jsou zálohy aktivní

Dokončení prvního úspěšného zálohování může trvat až 15 minut. Než budeme v tomto cvičení pokračovat, musíme se ujistit, že zálohování probíhá.

  1. Spuštěním následujícího příkazu PowerShellu v Azure Cloud Shellu nastavte proměnnou na hodnotu instance SQL Serveru:

    $sqlserver=Get-AzSqlServer
    
  2. Pomocí tohoto příkazu ověřte, že průběžné zálohování běží:

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

    Pokud jsou vaše zálohy spuštěné, měli byste získat výstup podobný následujícímu kódu. Pokud příkaz nevrátí žádnou hodnotu, zálohování ještě nebylo spuštěno. Spusťte tento příkaz znovu za několik minut.

    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        :
    

    RestorePointType je CONTINUOUS, což znamená, že zálohování probíhá automaticky. EarliestRestoreDate označuje časové razítko první zálohy. Se spuštěným zálohováním můžeme pokračovat v tomto cvičení.

Odstranění tabulky z databáze

Pojďme začít simulací chybné úpravy databáze.

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Všechny prostředky, vyberte erpserver-NNNN, vyberte databáze SQL a pak vyberte databázi sql-erp-db.

  2. Vyberte Editor dotazů (Preview) a přihlaste se pomocí uživatele dbadmin a hesla, které jste zadali pro tento účet.

  3. Pojďme odstranit tabulku Person (Osoba), kterou jsme vytvořili dříve. V okně nového dotazu spusťte tento příkaz.

    DROP TABLE Person
    
  4. Pokud chcete zkontrolovat tabulky v databázi, vyberte Nový dotaz. Potom v okně Dotazu 2 spusťte tento příkaz, který zobrazí seznam všech tabulek v databázi:

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

    Neměly by se vrátit žádné výsledky, protože jsme tabulku Person (Osoba) odstranili.

    Screenshot that shows no results returned after querying for the tables in the database.

Spuštění obnovení k určitému bodu v čase

Tabulka Person (Osoba) byla omylem odstraněna. Pojďme teď databázi obnovit do jejího předchozího stavu.

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Všechny prostředky a potom databázi sql-erp-db.

  2. V horní části stránky Přehled vyberte Obnovit.

  3. Vyplňte kartu Základy na stránce Obnovit databázi s těmito hodnotami a pak vyberte Zkontrolovat a vytvořit.

    Nastavení Hodnota
    Vybrat zdroj Point-in-time
    Název databáze sql-erp-db-xxxxx
    Bod obnovení Vyberte čas před 10 minutami, předtím než jste tabulku Person (Osoba) odstranili.
    Server erpserver-xxxxx
    Chcete používat elastický fond SQL? No
    Výpočty + úložiště Default value
    Redundance úložiště zálohování Místně redundantní úložiště zálohování

    Screenshot that shows the restore database page with the Review + create button selected.

  4. Vyberte Vytvořit. Dokončení obnovení databáze trvá několik minut.

Zobrazení obnovené databáze

Obnovená databáze by měla obsahovat tabulku Person (Osoba). Můžete to ověřit na portálu.

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Všechny prostředky a potom databázi sql-erp-db-restored.

  2. Vyberte Editor dotazů (Preview) a přihlaste se pomocí uživatele dbadmin a hesla, které jste zadali pro tento účet.

  3. Pokud chcete zkontrolovat tabulky v databázi, spusťte v okně Dotazu 1 tento příkaz:

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

    Teď byste měli vidět tabulku Person (Osoba).

    Screenshot showing results after querying for the tables in the database.

  4. Spuštěním tohoto příkazu ověřte, že jsou data v tabulce:

    SELECT * FROM Person
    

    Měli byste vidět data, která jste zadali dříve.

    Screenshot showing confirmed results after querying for the tables in the database.

Teď jste se dozvěděli, jak můžete databázi obnovit, pokud se s daty stane něco nezamýšleného. Seznámili jste se s postupem obnovení. Teď můžete vaší organizaci ujistit, že jste správně definovali postupy zálohování a obnovení.