Återställa en databas från en säkerhetskopia i Azure SQL Database
gäller för:Azure SQL Database
Den här artikeln innehåller steg för att återställa alla databaser från en säkerhetskopia i Azure SQL Database, inklusive Hyperskala-databaser.
Överblick
Automatiserade databassäkerhetskopior skydda dina databaser mot användar- och programfel, oavsiktlig borttagning av databaser och långvariga avbrott. Den här inbyggda funktionen är tillgänglig för alla tjänstnivåer och beräkningsstorlekar. Följande alternativ är tillgängliga för databasåterställning via automatiserade säkerhetskopieringar:
- Skapa en ny databas på samma server, återställd till en specifik tidpunkt inom kvarhållningsperioden med återställning till en specifik tidpunkt.
- Skapa en databas på samma server, återställ till borttagningstiden för en borttagen databas.
- Skapa en ny databas på valfri server i samma region, återställd till tidpunkten för en nyligen gjord säkerhetskopia med långtidsbevarande återställning eller geo-återställning.
- Skapa en ny databas på valfri server i någon annan region, återställd till den senaste punkten av replikerade säkerhetskopior med geo-återställning.
Om du har konfigurerat långsiktig kvarhållning (LTR)kan du också skapa en ny databas från valfri långsiktig kvarhållningssäkerhetskopia på valfri server.
Viktig
- Du kan inte skriva över en befintlig databas under återställningen.
- Databasåterställningsåtgärder återställer inte taggarna för den ursprungliga databasen.
När du använder standard- eller Premium-tjänstnivån i DTU-köpmodellen kan databasåterställningen medföra en extra lagringskostnad. Den extra kostnaden inträffar när den återställde databasens maximala storlek är större än mängden lagringsutrymme som ingår i måldatabasens tjänstnivå och tjänstmål.
Prisinformation om extra lagring finns på prissidan för SQL Database. Om den faktiska mängden använt utrymme är mindre än mängden lagringsutrymme som ingår kan du undvika den här extra kostnaden genom att ange den maximala databasstorleken till det inkluderade beloppet.
Återställningstid
Flera faktorer påverkar återställningstiden för att återställa en databas via automatiserade säkerhetskopieringar av databaser:
- Databasens storlek
- Databasens beräkningsstorlek
- Antalet transaktionsloggar som ingår
- Mängden aktivitet som måste spelas upp igen för att återställa till återställningspunkten
- Nätverksbandbredden om återställningen är till en annan region
- Antalet samtidiga återställningsbegäranden som bearbetas i målregionen
För en stor eller mycket aktiv databas kan återställningen ta flera timmar. Ett långvarigt avbrott i en region kan orsaka ett stort antal geoåterställningsförfrågningar för katastrofåterställning. När det finns många begäranden kan återställningstiden för enskilda databaser öka. De flesta databasåterställningar slutförs på mindre än 12 timmar.
För en enskild prenumeration har du följande begränsningar för antalet samtidiga återställningsbegäranden. Dessa begränsningar gäller för alla kombinationer av återställningar vid en viss tidpunkt, geoåterställningar och säkerhetskopior från långsiktig kvarhållning.
Distributionsalternativ | Max antal samtidiga begäranden som bearbetas | Max antal samtidiga begäranden som skickas |
---|---|---|
Enkel databas (per prenumeration) | 30 | 100 |
Elastisk pool (per pool) | 4 | 2 000 |
Behörigheter
Om du vill återställa med hjälp av automatiserade säkerhetskopior måste du vara antingen:
- En medlem i rollen Contributor eller SQL Server Contributor i prenumerationen eller resursgruppen som innehåller den logiska servern
- Prenumerationen eller resursgruppens ägare
Mer information finns i Azure RBAC: Inbyggda roller.
Du kan återställa med hjälp av Azure-portalen, PowerShell eller REST-API:et. Du kan inte använda Transact-SQL.
Återställning till en specifik tidpunkt
Du kan återställa valfri databas till en tidigare tidpunkt inom kvarhållningsperioden. Återställningsbegäran kan ange valfri tjänstnivå eller beräkningsstorlek för den återställde databasen. När du återställer en databas till en elastisk pool kontrollerar du att du har tillräckligt med resurser i poolen för att hantera databasen.
När återställningen är klar skapar den en ny databas på samma server som den ursprungliga databasen. Den återställde databasen debiteras enligt normala priser baserat på tjänstnivån och beräkningsstorleken. Du debiteras inte förrän databasåterställningen är klar.
Du återställer vanligtvis en databas till en tidigare punkt i återställningssyfte. 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.
Viktig
- Du kan utföra en återställning av en databas till en viss tidpunkt på samma server. Återställning vid en specifik tidpunkt över servrar, prenumerationer och geografiska områden stöds för närvarande inte. Information om hur du återställer en databas till en annan region med geo-replikerade säkerhetskopior finns i "Geo-restore".
- Du kan inte utföra en återställning till en viss tidpunkt av en geo-sekundär databasen. Du kan bara göra det på en primär databas.
- Parametern
BackupFrequency
stöds inte för Hyperskala-databaser. - Databasåterställningsåtgärder är resursintensiva och kan kräva en tjänstnivå på S3 eller senare för återställningsdatabasen (mål). När återställningen är klar kan databasen eller den elastiska poolen skalas ned om det behövs.
Databasersättning
Om du vill att den återställde databasen ska ersätta den ursprungliga databasen bör du ange den ursprungliga databasens beräkningsstorlek och tjänstnivå. Du kan sedan byta namn på den ursprungliga databasen och ge den återställde databasen det ursprungliga namnet med hjälp av kommandot ALTER DATABASE i T-SQL.
dataåterställning
Om du planerar att hämta data från den återställda databasen för att återställa från ett användar- eller programfel måste du skriva och köra ett dataåterställningsskript som extraherar data från den återställda databasen och gäller för den ursprungliga databasen. Återställningsåtgärden kan ta lång tid att slutföra, men återställningsdatabasen visas i databaslistan under hela återställningsprocessen.
Om du tar bort databasen under återställningen avbryts återställningsåtgärden. Du debiteras inte för databasen som inte slutförde återställningen.
Om du vill återställa en databas till en viss tidpunkt med hjälp av Azure-portalen öppnar du översiktssidan för databasen och väljer Återställ i verktygsfältet för att öppna sidan Skapa SQL Database – Återställ databas:
På sidan Skapa SQL Database – Återställ databas anger du källan för säkerhetskopieringen och väljer sedan den tidpunkt då en ny databas skapas. Eftersom den valda databasen ska återställas till den aktuella servern är källdatabasen och målservern nedtonade.
Återställning av långsiktiga säkerhetskopior
Om du vill utföra en återställningsåtgärd på en långsiktig säkerhetskopia kan du använda Azure-portalen, Azure CLI, Azure PowerShell eller REST-API:et. Mer information finns i Återställa en långsiktig säkerhetskopia.
Om du vill återställa en långsiktig säkerhetskopia med hjälp av Azure-portalen går du till den logiska servern. Välj Säkerhetskopieringar under Data Managementoch välj sedan Hantera under Tillgängliga LTR-säkerhetskopior för databasen som du försöker återställa.
Återställa borttagen databas
Du kan återställa en borttagen databas till borttagningstiden eller en tidigare tidpunkt på samma server med hjälp av Azure-portalen, Azure CLI, Azure PowerShell och REST-API:et.
Viktig
Om du tar bort en server tas även alla dess databaser och deras PITR-säkerhetskopior bort. Du kan inte återställa en borttagen server och du kan inte återställa de borttagna databaserna från PITR-säkerhetskopior.
Om du hade konfigurerat LTR-säkerhetskopior för dessa databaser kan du använda dessa säkerhetskopior för att återställa databaserna till en annan server. Om den logiska servern har tagits bort använder du Azure CLI- eller PowerShell-kommandon för att visa och återställa LTR-säkerhetskopior.
Om du vill återställa en borttagen databas till borttagningstiden med hjälp av Azure-portalen öppnar du serverns översiktssida och väljer Borttagna databaser. Välj en borttagen databas som du vill återställa och ange sedan namnet på den nya databasen som ska skapas med data som återställs från säkerhetskopian.
Tips
Det kan ta flera minuter innan nyligen borttagna databaser visas på sidan Borttagna databaser i Azure-portalen eller när du vill visa borttagna databaser programmatiskt.
Geo-återställning
Du kan använda geo-återställning för att återställa en borttagen databas med hjälp av Azure-portalen, Azure CLI, Azure PowerShell och REST-API:et.
Viktig
- Geo-återställning är endast tillgängligt för databaser som konfigurerats med geo-redundant lagring av säkerhetskopiering. Om du för närvarande inte använder geo-replikerade säkerhetskopior för en databas kan du ändra detta genom att konfigurera redundans för säkerhetskopieringslagring.
- Du kan endast utföra geo-återställning på databaser som finns i samma prenumeration.
Geo-återställning använder geo-replikerade säkerhetskopior som källa. Du kan återställa en databas på valfri logisk server i valfri Azure-region från de senaste geo-replikerade säkerhetskopiorna. Du kan begära en geo-återställning även om ett avbrott har gjort databasen eller hela regionen otillgänglig.
Geo-återställning är standardåterställningsalternativet när databasen inte är tillgänglig på grund av en incident i värdregionen. Du kan återställa databasen till en server i alla andra regioner.
Det finns en fördröjning mellan när en säkerhetskopia görs och när den geo-replikeras till en Azure-blob i en annan region. Därför kan den återställde databasen vara upp till en timme bakom den ursprungliga databasen. Följande bild visar en databasåterställning från den senaste tillgängliga säkerhetskopieringen i en annan region.
Från Azure-portalen skapar du en ny enkel databas och väljer en tillgänglig geo-återställningssäkerhetskopia. Den nyligen skapade databasen innehåller geo-återställd säkerhetskopieringsdata.
Gör så här för att geo-återställa en enskild databas från Azure-portalen i den region och server som du väljer:
- Öppna fönstret Skapa SQL Database i Azure-portalen. På fliken Grundläggande anger du nödvändig information.
- Välj Ytterligare inställningar.
- För Använd befintliga data, välj Backup.
- Välj en säkerhetskopia från listan över tillgängliga geo-återställningskopior.
Slutför processen med att skapa en databas från säkerhetskopian. När du skapar en databas i Azure SQL Database innehåller den den återställda geoåterställningskopian.
Överväganden vid geoåterställning
Mer information om hur du använder geoåterställning finns i Återställning med geoåterställning.
Anteckning
Detaljerad information om återställning efter ett driftavbrott finns i hanteringsguide för katastrofåterställning och i checklistan för hög tillgänglighet och katastrofåterställning.
*Geo-restore* är den mest grundläggande katastrofåterställningslösningen som finns i SQL Database. Den förlitar sig på automatiskt skapade geo-replikerade säkerhetskopior med ett mål för återställningspunkt (RPO) på upp till 1 timme och ett uppskattat mål för återställningstid (RTO) på upp till 12 timmar. Det garanterar inte att målregionen har kapacitet att återställa dina databaser efter ett regionalt avbrott, eftersom det är troligt att efterfrågan ökar kraftigt. Om ditt program använder relativt små databaser och inte är verksamhetskritiskt är geoåterställning en lämplig lösning för haveriberedskap.
För affärskritiska program som kräver stora databaser och måste säkerställa affärskontinuitet använder du redundansgrupper. Den funktionen erbjuder ett mycket lägre RPO och RTO, och kapaciteten garanteras alltid.
Mer information om alternativ för affärskontinuitet finns i Översikt över affärskontinuitet.
Not
Om du planerar att använda geo-återställning som en katastrofåterställningslösning rekommenderar vi att du utför regelbundna övningar för att verifiera applikationens tolerans mot förlust av nya dataändringar, tillsammans med alla operativa aspekter av återställningsproceduren.
Återställa databasen till en annan server
Du kan använda följande metoder för att återställa en databas till en annan server: