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í, klíčovou součástí výpočtu námitky doby obnovení (RTO). Tento čas si můžete naplánovat ve svých doprovodných materiálech pro vaši organizaci.

Obnovenou databázi můžete považovat za náhradu za původní databázi nebo ji použít jako zdroj dat k aktualizaci původní databáze. I když můžete přepsat a nahradit databázi v instanci SQL Serveru nebo azure SQL Managed Instance, nemůžete přepsat databázi Azure SQL Database obnovením.

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

Potvrzení, že jsou zálohy aktivní

Tip

Dokončení prvního úspěšného zálohování může trvat až 15 minut.

Pojďme se podívat na zálohy, které pro nás Azure SQL přebírá, automaticky.

  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í rutiny PowerShellu Get-AzSqlDatabaseRestorePoint zobrazte dostupné body obnovení na základě záloh:

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

    Měl by se zobrazit 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. Použijeme editor dotazů T-SQL integrovaný na webu Azure Portal. Vyberte Editor dotazů (Preview) a přihlaste se pomocí uživatele dbadmin a hesla, které jste zadali pro tento účet. Následující příkazy T-SQL by také fungovaly v sadě SQL Server Management Studio nebo rozšíření mssql pro Visual Studio Code nebo v jiných dotazovacích nástrojích T-SQL.

  3. Pojďme tabulku, kterou jsme vytvořili dříve, vypustit Person . V okně nového dotazu spusťte tento příkaz. Poznamenejte si čas na hodinách.

    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 AS t
    ORDER BY schema_name, table_name;
    

    Neměly by se zobrazit žádné výsledky , protože jsme tabulku odstranili Person .

    Snímek obrazovky, který po dotazování na tabulky v databázi nezobrazí žádné výsledky

Vytvoření obnovení k určitému bodu v čase

Tabulka Person 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. Tady zadáte nový název databáze pro obnovenou verzi databáze.

    Nastavení Hodnota
    Vybrat zdroj Point-in-time
    Název databáze sql-erp-db-restored
    Bod obnovení Vyberte čas před vyřazením Person tabulky, třeba před 10 minutami.
    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í

    Snímek obrazovky znázorňující stránku obnovit databázi s vybraným tlačítkem Zkontrolovat a vytvořit

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

Zobrazení obnovené databáze

Obnovená databáze obsahuje Person tabulku.

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Všechny prostředky a pak 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 AS t
    ORDER BY schema_name, table_name;
    

    Databáze byla obnovena do stavu, který Person byla, včetně tabulky.

    Snímek obrazovky znázorňující výsledky po dotazování na tabulky v databázi

  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.

    Snímek obrazovky zobrazující potvrzené výsledky po dotazování na tabulky v databázi

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í.