Cvičení – zotavení dat obnovením databáze Azure SQL
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.
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
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
jeCONTINUOUS
, 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.
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.
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.
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
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
.
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.
V nabídce webu Azure Portal nebo na domovské stránce vyberte Všechny prostředky a potom databázi sql-erp-db.
V horní části stránky Přehled vyberte Obnovit.
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í Vyberte Vytvořit. Dokončení obnovení databáze trvá několik minut.
Zobrazení obnovené databáze
Obnovená databáze obsahuje Person
tabulku.
V nabídce webu Azure Portal nebo na domovské stránce vyberte Všechny prostředky a pak databázi
sql-erp-db-restored
.Vyberte Editor dotazů (Preview) a přihlaste se pomocí uživatele dbadmin a hesla, které jste zadali pro tento účet.
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.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.
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í.