Dela via


Återställa en databassäkerhetskopia med hjälp av SSMS

gäller för:SQL Server

Den här artikeln beskriver hur du återställer en fullständig databassäkerhetskopia med SQL Server Management Studio.

Begränsningar och restriktioner

Innan du kan återställa en databas under den fullständiga eller massloggade återställningsmodellen kan du behöva säkerhetskopiera den aktiva transaktionsloggen (kallas slutet av loggen. Mer information finns i Säkerhetskopiera en transaktionslogg (SQL Server).

När du återställer en databas från en annan instans bör du överväga informationen från Hantera metadata när du gör en databas tillgänglig på en annan serverinstans (SQL Server).

För att återställa en krypterad databas behöver du åtkomst till certifikatet eller den asymmetriska nyckel som används för att kryptera databasen. Utan certifikatet eller den asymmetriska nyckeln kan du inte återställa databasen. Spara certifikatet som används för att kryptera databaskrypteringsnyckeln så länge du behöver spara säkerhetskopian. Mer information finns i SQL Server-certifikat och asymmetriska nycklar.

Om du återställer en äldre versionsdatabas till en nyare version av SQL Server uppgraderas den databasen automatiskt till den nya versionen. Detta förhindrar att databasen används med en äldre version av databasmotorn. Detta gäller dock uppgradering av metadata och påverkar inte databaskompatibilitetsnivå. Om kompatibilitetsnivån för en användardatabas är 100 eller högre före uppgraderingen förblir den densamma efter uppgraderingen. Om kompatibilitetsnivån är 90 före uppgraderingen anges kompatibilitetsnivån i den uppgraderade databasen till 100, vilket är den lägsta kompatibilitetsnivån som stöds i SQL Server 2016 (13.x) och större. Mer information finns i ALTER DATABASE Compatibility Level (Transact-SQL).

Vanligtvis blir databasen tillgänglig omedelbart. Men om en SQL Server 2005-databas (9.x) har fulltextindex importerar, återställer eller återskapar uppgraderingsprocessen indexen, beroende på inställningen för Full-Text Upgrade Option serveregenskap. Om du anger uppgraderingsalternativet till Importera eller Återskapakommer fulltextindexen inte att vara tillgängliga under uppgraderingen. Beroende på hur mycket data som indexeras kan det ta flera timmar att importera. ombyggnad tar upp till 10 gånger längre tid.

När du ställer in uppgraderingsalternativet på Importera, om en fulltextkatalog inte är tillgänglig återskapas de associerade fulltextindexen. Information om hur du visar eller ändrar inställningen för egenskapen Full-Text Uppgraderingsalternativ finns i Hantera och övervaka Full-Text Sök efter en serverinstans.

Information om SQL Server-återställning från Azure Blob Storage finns i SÄKERHETSKOPIERing och återställning av SQL Server med Microsoft Azure Blob Storage.

Exempel

A. Återställa en fullständig databassäkerhetskopia

  1. I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar sedan den instansen.

  2. Högerklicka på databaser och välj Återställ databas...

  3. På sidan Allmänt använder du avsnittet Source för att ange källan och platsen för säkerhetskopieringsuppsättningarna som ska återställas. Välj något av följande alternativ:

    • Databas

      Välj den databas som ska återställas från listrutan. Listan innehåller endast databaser som har säkerhetskopierats enligt msdb säkerhetskopieringshistorik.

      Not

      Om säkerhetskopieringen tas från en annan server kommer målservern inte att ha informationen om säkerhetskopieringshistoriken för den angivna databasen. I det här fallet väljer du Enhet för att manuellt ange den fil eller enhet som ska återställas.

    • Enhet

      Välj knappen bläddra (...) för att öppna dialogrutan Välj säkerhetskopieringsenheter.

      • Dialogrutan Välj säkerhetskopieringsenheter

        Typ av säkerhetskopieringsmedia
        Välj en medietyp i listrutan Backup-medietyp. Obs! Alternativet Band visas bara om en bandenhet är monterad på datorn och alternativet Säkerhetskopieringsenhet visas, endast om det finns minst en säkerhetskopieringsenhet.

        Lägg till
        Beroende på vilken typ av media du väljer i listrutan Säkerhetskopieringsmedia öppnas någon av följande dialogrutor genom att klicka på Lägg till. (Om listan i Backup-mediet listrutan är full är knappen Lägg till inte tillgänglig.)

        Medietyp Dialogruta Beskrivning
        Fil Leta upp reservfil I den här dialogrutan kan du välja en lokal fil från trädet eller ange en fjärrfil med dess fullständigt kvalificerade unc-namn (Universal Naming Convention). Mer information finns i Backup Devices (SQL Server).
        Enhet Välj för säkerhetskopieringsenhet I den här dialogrutan kan du välja från en lista över de logiska säkerhetskopieringsenheter som definierats på serverinstansen.
        Band Välj säkerhetskopieringsband I den här dialogrutan kan du välja från en lista över de bandenheter som är fysiskt anslutna till datorn som kör instansen av SQL Server.
        URL Välj en plats för säkerhetskopieringsfil I den här dialogrutan kan du välja en befintlig SQL Server-autentiseringsuppgift/Azure Storage-container, lägga till en ny Azure Storage-container med en signatur för delad åtkomst eller generera en signatur för delad åtkomst och SQL Server-autentiseringsuppgifter för en befintlig lagringscontainer. Se även Anslut till en Microsoft Azure-prenumeration
        S3 URL Välj plats för S3-säkerhetskopieringsfil I den här dialogrutan anger du den virtuella värd-URL:en och hemligt nyckel-ID och åtkomstnyckel-ID för S3-kompatibelt objektlagring. Mer information finns i säkerhetskopiering och återställning av SQL Server med S3-kompatibel objektlagring.

        Ta bort Tar bort en eller flera markerade filer, band eller logiska säkerhetskopieringsenheter.

        Innehåll Visar medieinnehållet i en vald fil, band eller logisk säkerhetskopieringsenhet. Den här knappen kanske inte fungerar om medietypen är URL-.

        Backup media Listar det valda mediet.

        När du har lagt till de enheter som du vill använda i listrutan Säkerhetskopieringsmedia väljer du OK för att återgå till sidan Allmänt.

      I listrutan Källa: Enhet: Databas väljer du namnet på databasen som ska återställas.

      Not

      Den här listan är endast tillgänglig när Enhet har valts. Endast databaser som har säkerhetskopior på den valda enheten är tillgängliga.

  4. I avsnittet Mål fylls rutan Database automatiskt i med namnet på databasen som ska återställas. Om du vill ändra namnet på databasen anger du det nya namnet i rutan Database.

  5. I rutan Återställ till lämnar du standardinställningen som Till den senaste säkerhetskopiering som gjordes eller väljer tidslinje för att komma åt dialogrutan Tidslinje för säkerhetskopiering för att manuellt välja en tidpunkt för att stoppa återställningsåtgärden. Mer information om hur du väljer en viss tidpunkt finns i tidslinje för säkerhetskopiering.

  6. I Säkerhetskopieringsuppsättningar för att återställa rutnätet väljer du de säkerhetskopior som ska återställas. Det här rutnätet visar de säkerhetskopior som är tillgängliga för den angivna platsen. Som standard föreslås en återställningsplan. Om du vill åsidosätta den föreslagna återställningsplanen kan du ändra valen i rutnätet. Säkerhetskopior som är beroende av återställning av en tidigare säkerhetskopia avmarkeras automatiskt när den tidigare säkerhetskopieringen avmarkeras. Information om kolumnerna i Backup-uppsättningar för att återställa rutnät finns i Återställ databas (allmän sida).

  7. Du kan också välja Filer i panelen Välj en sida för att komma åt dialogrutan Filer. Härifrån kan du återställa databasen till en ny plats genom att ange ett nytt återställningsmål för varje fil i Återställ databasfilerna som rutnät. Mer information om det här rutnätet finns i Restore Database (Files Page).

  8. Om du vill visa eller välja de avancerade alternativen på sidan Alternativ går du till Återställningsalternativ panelen och väljer något av följande alternativ, om det är lämpligt för din situation:

    1. MED alternativ (krävs inte):

      • Skriv över den befintliga databasen (MED ERSÄTTNING)

      • Bevara replikeringsinställningarna (WITH KEEP_REPLICATION)

      • Begränsa åtkomsten till den återställde databasen (WITH RESTRICTED_USER)

    2. Välj ett alternativ för rutan Återställningsläge. Den här rutan bestämmer databasens tillstånd efter återställningsåtgärden.

      • RESTORE WITH RECOVERY är standardbeteendet som gör att databasen är redo att användas genom att återställa de ogenomförda transaktionerna. Inga ytterligare transaktionsloggar kan återställas. Välj det här alternativet om du återställer alla nödvändiga säkerhetskopior nu.

      • RESTORE med NORECOVERY vilket gör att databasen är overksam och rullar inte tillbaka de icke-godkända transaktionerna. Ytterligare transaktionsloggar kan återställas. Databasen kan inte användas förrän den har återställts.

      • RESTORE WITH STANDBY som lämnar databasen i skrivskyddat läge. Den återställer ogenomförda transaktioner, men sparar ångra-åtgärderna i en väntelägesfil så att återställningseffekterna kan återställas.

    3. Gör säkerhetskopior av tail-log innan du återställer. Alla återställningsscenarier kräver inte en säkerhetskopia av slutloggen. Mer information finns i scenarier som kräver en Tail-Log säkerhetskopiering från Tail-Log Backups (SQL Server).

    4. Återställningsåtgärder kan misslyckas om det finns aktiva anslutningar till databasen. Kontrollera alternativet Stäng befintliga anslutningar för att säkerställa att alla aktiva anslutningar mellan Management Studio och databasen är stängda. Den här kryssrutan ställer in databasen i enanvändarläge före återställningsåtgärderna och ställer in databasen i läget för flera användare när den är klar.

    5. Välj Fråga innan du återställer varje säkerhetskopia om du vill bli tillfrågad varje gång du gör en återställning. Detta är inte nödvändigt om inte databasen är stor och du vill övervaka status för återställningsåtgärden.

    Mer information om dessa återställningsalternativ finns i Återställ databas (alternativsida).

  9. Välj OK.

B. Återställa en tidigare disksäkerhetskopia över en befintlig databas

I följande exempel återställs en tidigare disksäkerhetskopia av Sales och skriver över den befintliga Sales databasen.

  1. I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar sedan den instansen.

  2. Högerklicka på databaser och välj Återställ databas...

  3. På sidan Allmänt väljer du Device under avsnittet Source .

  4. Välj knappen bläddra (...) för att öppna dialogrutan Välj säkerhetskopieringsenheter. Välj Lägg till och gå till din säkerhetskopia. Välj OK när du har valt disksäkerhetskopiorna.

  5. Välj OK för att återgå till sidan Allmänt.

  6. Välj Alternativ i fönstret Välj en sida.

  7. Under avsnittet Återställningsalternativ markerar du Skriv över den befintliga databasen (WITH REPLACE).

    Not

    Om du inte kontrollerar det här alternativet kan det resultera i följande felmeddelande: "System.Data.SqlClient.SqlError: Säkerhetskopieringsuppsättningen innehåller en säkerhetskopia av en annan databas än den befintliga databasen "Sales" . (Microsoft.SqlServer.SmoExtended)"

  8. I avsnittet säkerhetskopia av tail-log avmarkerar du Gör säkerhetskopiering av tail-log innan du återställer.

    Notera

    Alla återställningsscenarier kräver inte en säkerhetskopia av slutloggen. Du behöver inte en säkerhetskopia av slutloggen om återställningspunkten finns i en tidigare loggsäkerhetskopia. Dessutom är en säkerhetskopia av slutloggen onödig om du flyttar eller ersätter (skriver över) en databas och inte behöver återställa den till en tidpunkt efter den senaste säkerhetskopieringen. Mer information finns i Tail-Log Backups (SQL Server).

    Det här alternativet är inte tillgängligt för databaser i SIMPLE-återställningsmodellen.

  9. Under avsnittet Server-anslutningar kontrollerar du Stäng befintliga anslutningar till måldatabasen.

    Notera

    Om du inte kontrollerar det här alternativet kan följande felmeddelande visas: "System.Data.SqlClient.SqlError: Det gick inte att hämta exklusiv åtkomst eftersom databasen används. (Microsoft.SqlServer.SmoExtended)"

  10. Välj OK.

C. Återställa en tidigare disksäkerhetskopia med ett nytt databasnamn där den ursprungliga databasen fortfarande finns

I följande exempel återställs en tidigare disksäkerhetskopia av Sales och skapar en ny databas kallad SalesTest. Den ursprungliga databasen, Sales, finns fortfarande på servern.

  1. I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar sedan den instansen.

  2. Högerklicka på databaser och välj Återställ databas...

  3. På sidan Allmänt väljer du Device under avsnittet Source .

  4. Välj knappen bläddra (...) för att öppna dialogrutan Välj säkerhetskopieringsenheter. Välj Lägg till och gå till din säkerhetskopia. Välj OK när du har valt disksäkerhetskopiorna.

  5. Välj OK för att återgå till sidan Allmänt.

  6. I avsnittet Mål fylls rutan Database automatiskt i med namnet på databasen som ska återställas. Om du vill ändra namnet på databasen anger du det nya namnet i rutan Database.

  7. Välj Alternativ i fönstret Välj en sida.

  8. Under avsnittet Säkerhetskopia av tail-log avmarkerar du "Ta säkerhetskopia av tail-log innan du återställer".

    Viktig

    Om du inte avmarkerar det här alternativet kommer den befintliga databasen Salesatt ändras till återställningstillståndet.

  9. Välj OK.

    Notis

    Om du får följande felmeddelande: "System.Data.SqlClient.SqlError: Loggens svans för databasen "Sales" har inte säkerhetskopierats. Använd BACKUP LOG WITH NORECOVERY för att säkerhetskopiera loggen om den innehåller arbete som du inte vill förlora. Använd satsen WITH REPLACE eller WITH STOPAT i RESTORE-instruktionen för att bara skriva över innehållet i loggen. (Microsoft.SqlServer.SmoExtended)". Då angav du förmodligen inte det nya databasnamnet från steg 6 ovan. Återställning förhindrar normalt att en databas skrivs över av misstag med en annan databas. Om databasen som anges i en RESTORE-instruktion redan finns på den aktuella servern och den angivna databasfamiljens GUID skiljer sig från databasfamiljens GUID som registrerats i säkerhetskopian återställs inte databasen. Detta är ett viktigt skydd.

D. Återställa till en specifik tidpunkt

I följande exempel återställs en databas till dess tillstånd från och med 1:23:17 PMMay 30, 2016 och visar en återställningsåtgärd som omfattar flera loggsäkerhetskopior. Databasen finns för närvarande inte på servern.

  1. I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar sedan den instansen.
  2. Högerklicka på databaser och välj Återställ databas...
  3. På sidan Allmänt väljer du Device under avsnittet Source .
  4. Välj knappen bläddra (...) för att öppna dialogrutan Välj säkerhetskopieringsenheter. Välj Lägg till och gå till din fullständiga säkerhetskopia och alla relevanta säkerhetskopior av transaktionsloggar. Välj OK när du har valt disksäkerhetskopiorna.
  5. Välj OK för att återgå till sidan Allmänt.
  6. I avsnittet Mål väljer du tidslinje för att komma åt dialogrutan Tidslinje för säkerhetskopiering för att manuellt välja en tidpunkt för att stoppa återställningsåtgärden.
  7. Välj Specifik datum och tid.
  8. Ändra tidslinjeintervallet till timme i listrutan (valfritt).
  9. Flytta skjutreglaget till önskad tid.
  10. Välj OK för att återgå till sidan Allmänt.
  11. Välj OK.

E. Återställa en säkerhetskopia från Microsoft Azure Storage-tjänsten

Vanliga steg

De två exemplen nedan utför en återställning av Sales från en säkerhetskopia som finns i Microsoft Azure Storage-tjänsten. Lagringskontonamnet är mystorageaccount. Containern heter myfirstcontainer. För korthet visas de första sex stegen här en gång och alla exempel börjar på steg 7.

  1. I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar sedan den instansen.
  2. Högerklicka på Databaser och välj Återställ databas....
  3. På sidan Allmänt väljer du Device under avsnittet Source .
  4. Välj knappen Bläddra (...) för att öppna dialogrutan Välj säkerhetskopieringsenheter.
  5. Välj URL från Säkerhetskopieringsmediatyp rullgardinsmenyn.
  6. Välj Lägg till så öppnas dialogrutan Välj en plats för säkerhetskopieringsfil.

E1. Återställ en randig säkerhetskopia över en befintlig databas och det finns en signatur för delad åtkomst

En lagrad åtkomstprincip har skapats med läs-, skriv-, borttagnings- och listrättigheter. En signatur för delad åtkomst som är associerad med den lagrade åtkomstprincipen skapades för containern https://mystorageaccount.blob.core.windows.net/myfirstcontainer. Stegen är mestadels desamma om det redan finns en SQL Server-autentiseringsuppgift. Databasen Sales finns för närvarande på servern. Säkerhetskopieringsfilerna är Sales_stripe1of2_20160601.bak och Sales_stripe2of2_20160601.bak.

  1. Välj https://mystorageaccount.blob.core.windows.net/myfirstcontainer från Azure Storage-container: listruta om SQL Server-autentiseringsuppgifterna redan finns, ange annars containerns namn manuellt https://mystorageaccount.blob.core.windows.net/myfirstcontainer.
  2. Ange signaturen för delad åtkomst i rutan signatur för delad åtkomst: RTF.
  3. Välj OK så öppnas dialogrutan Hitta säkerhetskopieringsfil i Microsoft Azure.
  4. Expandera Containers och navigera till https://mystorageaccount.blob.core.windows.net/myfirstcontainer.
  5. Håll ctrl och välj filer Sales_stripe1of2_20160601.bak och Sales_stripe2of2_20160601.bak.
  6. Välj OK.
  7. Välj OK för att återgå till sidan Allmänt.
  8. Välj Alternativ i fönstret Välj en sida.
  9. Under avsnittet Återställ alternativen väljer du Skriv över den befintliga databasen (REPLACE).
  10. I avsnittet säkerhetskopia av tail-log avmarkerar du Gör säkerhetskopiering av tail-log innan du återställer.
  11. Under avsnittet Server-anslutningar kontrollerar du Stäng befintliga anslutningar till måldatabasen.
  12. Välj OK.

E2. Det finns ingen signatur för delad åtkomst

I det här exemplet finns Sales-databasen för närvarande inte på servern.

  1. Välj Lägg till så öppnas dialogrutan Anslut till en Microsoft-prenumeration.
  2. Slutför dialogrutan Anslut till en Microsoft-prenumeration och välj sedan OK för att returnera dialogrutan Välj en plats för säkerhetskopieringsfil. Mer information finns i Anslut till en Microsoft Azure-prenumeration.
  3. Välj OK i dialogrutan Välj en plats för säkerhetskopieringsfil och dialogrutan Leta upp säkerhetskopieringsfil i Microsoft Azure öppnas.
  4. Utvidga Containers och navigera till https://mystorageaccount.blob.core.windows.net/myfirstcontainer.
  5. Välj säkerhetskopieringsfilen och välj sedan OK.
  6. Välj OK för att återgå till sidan Allmänt.
  7. Välj OK.

F. Återställa lokal säkerhetskopiering till Microsoft Azure Storage (URL)

Sales-databasen återställs till Microsoft Azure Storage-containern https://mystorageaccount.blob.core.windows.net/myfirstcontainer från en säkerhetskopia som finns på E:\MSSQL\BAK. SQL Server-autentiseringsuppgifterna för Azure-containern har redan skapats. Det måste redan finnas en SQL Server-autentiseringsuppgift för målcontainern eftersom den inte kan skapas via uppgiften Återställ. Den Sales databasen finns för närvarande inte på servern.

  1. I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar sedan den instansen.
  2. Högerklicka på Databaser och välj Återställ databas....
  3. På sidan Allmänt väljer du Device under avsnittet Source .
  4. Välj knappen bläddra (...) för att öppna dialogrutan Välj säkerhetskopieringsenheter.
  5. Välj Fil från Backupmedietyp: listruta.
  6. Välj Lägg till så öppnas dialogrutan Leta upp säkerhetskopieringsfil.
  7. Gå till E:\MSSQL\BAK, välj säkerhetskopian och välj sedan OK.
  8. Välj OK för att återgå till sidan Allmänt.
  9. Välj Filer i fönstret Välj en sida.
  10. Markera kryssrutan Flytta alla filer till mappen.
  11. Ange behållaren https://mystorageaccount.blob.core.windows.net/myfirstcontaineri textrutorna för mappen Datafilsmapp: och mappen Loggfilsmapp:.
  12. Välj OK.

G. Återställa lokal säkerhetskopiering från S3-kompatibel objektlagring (S3-URL)

Exemplet nedan utför en återställning av Sales från en säkerhetskopia som finns i S3-kompatibel objektlagring.
S3-URL:en har formatet s3://<endpoint>:<port>/<bucket>/ och säkerhetskopieringsfilen heter Sales.bak. ID:t för hemlig nyckel och åtkomstnyckeln har hämtats från S3-providern. Den Sales databasen finns för närvarande inte på servern.

  1. I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar sedan den instansen.
  2. Högerklicka på Databaser och välj Återställ databas....
  3. På sidan Allmänt väljer du Device under avsnittet Source .
  4. Välj knappen bläddra (...) för att öppna dialogrutan Välj säkerhetskopieringsenheter.
  5. Välj S3-URL från medietypen Backup: listrutan.
  6. Välj Lägg till för att öppna dialogrutan Välj plats för S3-säkerhetskopieringsfil.
  7. Ange platsen för S3-URL:ens säkerhetskopieringsfil och hemlighetsnyckeln och åtkomstnyckeln.
  8. Välj OK.
  9. Välj OK för att återgå till sidan Allmänt.
  10. Välj OK.

Se även