Dela via


Återställa en databas i Azure SQL Managed Instance till en tidigare tidpunkt

Gäller för:Azure SQL Managed Instance

Du kan använda återställning till tidpunkt för att skapa en databas som är en kopia av en databas vid en viss tidpunkt. Den här artikeln beskriver hur du gör en återställning till tidpunkt av en databas i Azure SQL Managed Instance.

Kommentar

Skapa eller uppdatera v02.01.2022 har föråldrats. Från och med januari 2023 använder du ersättnings-API-anropet Skapa eller Uppdatera v5.0.2022 för alla databasåterställningsåtgärder.

Översikt

Återställning till tidpunkt är användbar i återställningsscenarier, till exempel för en incident som orsakas av fel eller fel, när data inte läses in korrekt eller om viktiga data tas bort. Du kan också använda den helt enkelt för att testa och granska databasdistributionen. Azure-säkerhetskopieringsfiler sparas i 7 till 35 dagar beroende på dina databasinställningar.

Du kan använda återställning till tidpunkt för att återställa en databas i följande scenarier:

  • Från en befintlig databas
  • Från en borttagen databas
  • Till samma hanterade instans eller till en annan hanterad instans
  • Till en hanterad instans i samma prenumeration eller till en hanterad instans i en annan prenumeration

I följande tabell visas återställningsscenarier för tidpunkt för SQL Managed Instance:

Scenario Azure Portal Azure CLI PowerShell
Återställa en befintlig databas till samma hanterade instans Ja Ja Ja
Återställa en befintlig databas till en annan hanterad instans Ja Ja Ja
Återställa en borttagen databas till samma hanterade instans Ja Ja Ja
Återställa en borttagen databas till en annan hanterad instans Ja Ja Ja
Återställa en befintlig databas till en hanterad instans i en annan prenumeration Ja Ja Ja
Återställa en borttagen databas till en hanterad instans i en annan prenumeration Ja Ja Ja

Behörigheter

Om du vill återställa en databas måste du antingen:

  • En medlem av rollen SQL Server-deltagare eller SQL Managed Instance-deltagare (beroende på återställningsmål) i prenumerationen
  • Prenumerationsägaren

Om du vill återställa databasen till en annan målprenumeration bör du även ha följande behörigheter om du inte har rollen SQL Managed Instance-deltagare :

  • Microsoft.Sql/managedInstances/databases/readBackups/action på sql-källhanterad instans.
  • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action på den sql-hanterade målinstansen.

Mer information finns i Azure RBAC: Inbyggda roller.

Begränsningar

Dessa begränsningar gäller för återställning till tidpunkt i SQL Managed Instance:

  • Du kan inte använda återställning till tidpunkt för att återställa en hel SQL Managed Instance-distribution. Använd endast återställning till tidpunkt för att göra en kopia av en databas som finns på SQL Managed Instance.

  • Begränsningar i återställning till tidpunkt beror på om du återställer databasen till en hanterad instans i samma prenumeration eller till en hanterad instans i en annan prenumeration.

  • När tjänstslutpunktsprinciper är aktiverade på Azure SQL Managed Instance förhindrar en tjänstslutpunktsprincip i ett undernät återställning till tidpunkt från instanser i olika undernät.

Varning

Tänk på lagringsstorleken för din hanterade instans. Beroende på storleken på de data som ska återställas kan lagringen för den hanterade instansen ta slut. Om du inte har tillräckligt med lagringsutrymme i den hanterade instansen för återställd data använder du en annan metod.

Återställa till samma prenumeration

Om du återställer från en hanterad instans till en annan hanterad instans i samma Azure-prenumeration måste båda hanterade instanserna finnas i samma region. För närvarande stöds inte återställning mellan regioner.

Återställa till en annan prenumeration

Det finns följande begränsningar när du återställer en återställningssäkerhetskopia till tidpunkt för prenumerationer:

  • Båda prenumerationerna måste finnas i samma region.
  • Båda prenumerationerna måste finnas i samma klientorganisation.
  • Prenumerationstypen måste vara antingen företagsavtal, Molnlösningsleverantör, Microsoft Certified Partner eller betala per användning.
  • Du kan bara använda återställningsåtgärden på den primära instansen.
  • Du kan bara återställa en säkerhetskopia från den primära regionen. Återställning av en databas från den geo-replikerade sekundära regionen stöds inte för återställning mellan prenumerationer.
  • Användaren som utför återställningsåtgärden måste antingen ha rolltilldelningen SQL Managed Instance-deltagare eller ha dessa explicita behörigheter:
    • Microsoft.Sql/managedInstances/databases/readBackups/action på sql-källhanterad instans.
    • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action på den sql-hanterade målinstansen.
  • Om du tar med din egen nyckel (BYOK) måste nyckeln finnas i båda prenumerationerna.

Återställa en befintlig databas

Du kan återställa en befintlig databas i samma prenumeration med hjälp av Azure-portalen, PowerShell eller Azure CLI. Om du återställer till en annan instans i samma prenumeration med hjälp av PowerShell eller Azure CLI måste du ange egenskaperna för SQL Managed Instance-målresursen. Databasen återställs som standard till samma instans.

Om du återställer till en annan prenumeration måste API-anropet Skapa eller Uppdatera v5.0.2022 som ligger till grund för återställningsåtgärden innehålla restorePointInTime, crossSubscriptionTargetManagedInstanceIdoch antingen crossSubscriptionSourceDatabaseId eller crossSubscriptionRestorableDroppedDatabaseId.

Om du vill återställa en befintlig databas kan du göra det genom att gå till databassidan i Azure-portalen och välja Återställ.

Du kan också återställa databasen genom att följa dessa steg:

  1. Logga in på Azure-portalen.

  2. Gå till sql-målhanterad instans där du planerar att återställa databasen till.

  3. På sidan Översikt väljer du + Ny databas för att öppna sidan Skapa Azure SQL Managed Database .

    Screenshot that shows the SQL Managed Instance overview pane in the Azure portal, with adding a new database selected.

  4. På fliken Grundinställningarsidan Skapa Azure SQL Managed Database anger du prenumerations- och resursgruppsinformation under Projektinformation. Under Databasinformation anger du sedan det nya namnet på den databas som du planerar att återställa. Bekräfta att rätt hanterad instans visas i listrutan. Välj sedan Nästa: Datakälla >

    Screenshot of the Azure portal that shows the Basics tab of the Create Azure SQL Managed Database page.

  5. På fliken Datakälla väljer du Återställning till tidpunkt under Använd befintliga data. Ange den prenumeration, resursgrupp och hanterade instans som innehåller källdatabasen. I listrutan Hanterad databas väljer du den databas som du vill återställa och väljer sedan den tidpunkt du vill återställa databasen från. Käll- och målinstansen kan vara samma eller två olika instanser. Välj Nästa: Ytterligare inställningar >

    Screenshot of the Azure portal that shows the data source tab of the Create Azure SQL Managed Database page, with point-in-time restore selected.

  6. På fliken Ytterligare inställningar kan du markera kryssrutan för att ärva kvarhållningsprincipen från källdatabasen, eller så kan du välja Konfigurera kvarhållning för att öppna sidan Konfigurera principer och ange önskade kvarhållningsprinciper för den återställda databasen. När du är klar väljer du Granska + skapa.

    Screenshot of the Azure portal that shows the additional settings tab of the Create Azure SQL Managed Database page.

  7. När verifieringen lyckas i Granska och skapa väljer du Skapa för att återställa databasen.

Den här åtgärden startar återställningsprocessen, som skapar en ny databas och fyller den med data från den ursprungliga databasen vid den angivna tidpunkten. Mer information om återställningsprocessen finns i Återställningstid.

Återställa en borttagen databas

Du kan återställa en borttagen databas med hjälp av Azure-portalen, Azure PowerShell eller Azure CLI.

Så här återställer du en borttagen hanterad databas med hjälp av Azure-portalen:

  1. Gå till din källhanterade instans i Azure-portalen.

  2. I den vänstra menyn under Datahantering väljer du Säkerhetskopieringar.

  3. Under Visa databaser väljer du Borttagen.

  4. Välj Återställ för databasen som ska återställas.

    Screenshot that shows available databases in the portal, with the Restore button highlighted to restore a deleted database.

  5. I Skapa Azure SQL Managed Database anger eller väljer du information för den hanterade målinstansen som databasen ska återställas till. Välj fliken Datakälla .

  6. I Datakälla anger eller väljer du information för källdatabasen. Välj fliken Ytterligare inställningar.

  7. I Ytterligare inställningar konfigurerar du kvarhållningsinställningar. Välj fliken Granska + skapa .

  8. I Granska + skapa väljer du Skapa för att återställa den borttagna databasen.

Skriv över en befintlig databas

Om du vill skriva över en befintlig databas måste du göra följande:

  1. Släpp den ursprungliga databas som du vill skriva över.
  2. Byt namn på databasen som återställts från tidpunkten till namnet på den databas som du tappade.

Ta bort den ursprungliga databasen

Du kan ta bort databasen med hjälp av Azure-portalen, PowerShell eller Azure CLI.

Ett annat alternativ för att ta bort databasen är att ansluta till din hanterade instans direkt i SQL Server Management Studio (SSMS) och sedan använda DROP kommandot Transact-SQL (T-SQL):

DROP DATABASE WorldWideImporters;

Använd någon av följande metoder för att ansluta till databasen i din hanterade instans:

  1. I Azure-portalen väljer du databasen i din hanterade instans.

  2. I kommandofältet väljer du Ta bort.

    Screenshot that shows how to delete a database by using the Azure portal.

Ändra det nya databasnamnet så att det matchar det ursprungliga databasnamnet

Använd SQL Server Management Studio (SSMS) för att ansluta direkt till din hanterade instans. Kör sedan följande T-SQL-fråga. Frågan ändrar namnet på den återställde databasen till namnet på den borttagna databas som du tänker skriva över.

ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;

Använd någon av följande metoder för att ansluta till databasen i din hanterade instans:

Nästa steg

Lär dig mer om automatiserade säkerhetskopieringar.