Övning – Återställa data genom att återställa en Azure SQL-databas
Teståterställningar är en viktig komponent i alla haveriberedskapsstrategier.
Du vill bekanta dig med stegen för att återställa en säkerhetskopierad databas till en viss tidpunkt om det blir nödvändigt. Du vill också undersöka hur lång tid en återställningsåtgärd tar, en viktig del av beräkningen av RTO (Recovery Time Objection). Du kan planera för den här tiden i din vägledning för din organisation.
Du kan behandla den återställde databasen som en ersättning för den ursprungliga databasen eller använda den som en datakälla för att uppdatera den ursprungliga databasen. Även om du kan skriva över och ersätta en databas i en SQL Server-instans eller Azure SQL Managed Instance kan du inte skriva över en Azure SQL Database med en återställning.
Nu ska vi utföra en återställning från automatiserade Azure SQL Database-säkerhetskopior.
Bekräfta att säkerhetskopior är aktiva
Dricks
Det kan ta upp till 15 minuter efter att databasen har skapats för den första lyckade säkerhetskopieringen att slutföras.
Nu ska vi titta på de säkerhetskopior som Azure SQL tar åt oss, automatiskt.
I Azure Cloud Shell kör du följande PowerShell-kommando för att ange en variabel till värdet för din SQL Server-instans:
$sqlserver=Get-AzSqlServer
Visa tillgängliga återställningspunkter, baserat på säkerhetskopior, med PowerShell-cmdleten
Get-AzSqlDatabaseRestorePoint
:Get-AzSqlDatabaseRestorePoint ` -ResourceGroupName <rgn>[sandbox resource group name]</rgn> ` -DatabaseName sql-erp-db ` -ServerName $sqlserver.ServerName
Du bör få utdata som liknar följande kod. Om kommandot inte returnerar något värde har en säkerhetskopiering inte startats än. Kör kommandot igen efter några minuter.
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
ärCONTINUOUS
, vilket anger att säkerhetskopieringar sker automatiskt.EarliestRestoreDate
anger tidsstämpeln för den första säkerhetskopian. Med säkerhetskopior på plats kan vi fortsätta med övningen.
Ta bort en tabell från databasen
Vi börjar med att simulera en oavsiktlig databasändring.
Vi använder T-SQL-frågeredigeraren inbyggd i Azure Portal. Välj Frågeredigeraren (förhandsversion) och logga sedan in med dbadmin-användaren och lösenordet som du angav för det här kontot. Följande T-SQL-kommandon fungerar också i SQL Server Management Studio, mssql-tillägget för Visual Studio Code eller andra T-SQL-frågeverktyg.
Nu släpper vi tabellen
Person
som vi skapade tidigare. Kör det här kommandot i ett nytt frågefönster. Observera tiden på klockan.DROP TABLE Person
Om du vill kontrollera tabellerna i databasen väljer du Ny fråga. Kör sedan det här kommandot i fönstret Fråga 2 för att visa en lista över alla tabeller i databasen:
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;
Inga resultat returneras eftersom vi har tagit bort tabellen
Person
.
Skapa en återställning till tidpunkt
Tabellen Person
togs bort av misstag. Nu ska vi återställa databasen till det tidigare tillståndet.
I menyn i Azure-portalen eller på sidan Start väljer du Alla resurser och sedan databasen sql-erp-db.
Högst upp på sidan Översikt väljer du Återställ.
Slutför fliken Grundläggande på sidan Återställ databas med dessa värden och välj sedan Granska + skapa. Här anger du ett nytt databasnamn för den återställde versionen av databasen.
Inställning Värde Välj källa Tidpunkt Databasnamn sql-erp-db-restored
Återställningspunkt Välj en tid innan du tappade Person
tabellen, kanske för 10 minuter sedan.Server erpserver-xxxxx Vill du använda elastisk SQL-pool? Nej Beräkning och lagring Standardvärde Redundans för säkerhetskopieringslagring Lokalt redundant lagring av säkerhetskopiering Välj Skapa. Det tar flera minuter att slutföra databasåterställningen.
Visa den återställda databasen
Den återställde databasen innehåller Person
tabellen.
I menyn Azure Portal eller på startsidan väljer du Alla resurser och sedan
sql-erp-db-restored
databasen.Välj Frågeredigeraren (förhandsversion) och logga sedan in med dbadmin-användaren och lösenordet som du angav för det här kontot.
Kontrollera tabellerna i databasen genom att köra följande kommando i fönstret Fråga 1 :
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;
Databasen har återställts till det tillstånd den var, inklusive
Person
tabellen.Bekräfta att data finns i tabellen genom att köra det här kommandot:
SELECT * FROM Person;
Du bör se data som du angav tidigare.
Nu har du lärt dig hur du kan återställa en databas om något oavsiktligt händer med data. Du har bekantat dig med återställningsprocessen. Nu kan du försäkra din organisation om att du har definierat säkerhetskopierings- och återställningsprocedurerna korrekt.