Dela via


Återställa filer och filgrupper (SQL Server)

gäller för:SQL Server

Det här avsnittet beskriver hur du återställer filer och filgrupper i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.

i det här avsnittet

Innan du börjar

Begränsningar och restriktioner

  • Systemadministratören som återställer filer och filgrupper måste vara den enda person som för närvarande använder databasen som ska återställas.

  • ÅTERSTÄLLNING tillåts inte i en explicit eller implicit transaktion.

  • Under den enkla återställningsmodellen måste filen tillhöra en skrivskyddad filgrupp.

  • Innan du kan återställa filer under den fullständiga eller massloggade återställningsmodellen måste du säkerhetskopiera den aktiva transaktionsloggen (kallas loggens svans). Mer information finns i Säkerhetskopiera en transaktionslogg (SQL Server).

  • Om du vill återställa en databas som är krypterad måste du ha åtkomst till certifikatet eller den asymmetriska nyckel som användes för att kryptera databasen. Utan certifikatet eller den asymmetriska nyckeln kan databasen inte återställas. Därför måste certifikatet som används för att kryptera databaskrypteringsnyckeln behållas så länge säkerhetskopieringen behövs. Mer information finns i SQL Server-certifikat och asymmetriska nycklar.

Säkerhet

Behörigheter

Om databasen som återställs inte finns måste användaren ha behörigheten SKAPA DATABAS för att kunna köra RESTORE. Om databasen finns har medlemmar i de fasta serverrollerna sysadmin och dbcreator samt ägaren (dbo) av databasen återställningsbehörigheter som standard (för alternativet FROM DATABASE_SNAPSHOT finns databasen alltid).

ÅTERSTÄLLNINGsbehörigheter ges till roller där medlemskapsinformation alltid är lättillgänglig för servern. Eftersom medlemskap i fasta databasroller endast kan kontrolleras när databasen är tillgänglig och oskadad, vilket inte alltid är möjligt när RESTORE körs, har medlemmar i db_owner fast databasroll inte återställningsbehörighet.

Använda SQL Server Management Studio

Så här återställer du filer och filgrupper

  1. När du har anslutit till rätt instans av SQL Server Database Engine klickar du på servernamnet i Object Explorer för att expandera serverträdet.

  2. Expandera Databaser. Beroende på databasen väljer du antingen en användardatabas eller expanderar systemdatabaseroch väljer sedan en systemdatabas.

  3. Högerklicka på databasen, peka på Uppgifteroch klicka sedan på Återställ.

  4. Klicka på filer och filgrupper, som öppnar dialogrutan Återställ filer och filgrupper.

  5. På sidan Allmänt i listrutan Till databas anger du databasen som ska återställas. Du kan ange en ny databas eller välja en befintlig databas i listrutan. Listan innehåller alla databaser på servern, förutom systemdatabaserna master och tempdb.

  6. Om du vill ange källan och platsen för de säkerhetskopieringsuppsättningar som ska återställas klickar du på något av följande alternativ:

    • Från databas

      Ange ett databasnamn i listrutan. Den här listan innehåller endast databaser som har säkerhetskopierats enligt msdb säkerhetskopieringshistorik.

    • Från enhet

      Klicka på knappen Bläddra. I dialogrutan Ange enheter för säkerhetskopiering väljer du någon av de enhetstyper som visas i medietyp för säkerhetskopiering listrutan. Om du vill välja en eller flera enheter för listrutan Säkerhetskopieringsmedia klickar du på Lägg till.

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

  7. I rutnätet Välj de säkerhetskopieringsuppsättningar som ska återställas 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 en avmarkerad säkerhetskopia avmarkeras automatiskt.

    Kolumnhuvud Värden
    Återställ De markerade kryssrutorna anger vilka säkerhetskopieringsuppsättningar som ska återställas.
    Namn Namnet på säkerhetskopieringsuppsättningen.
    filtyp Anger typen av data i säkerhetskopian: Data, Logeller Filestream Data. Data som finns i tabeller finns i Data-filer. Transaktionsloggdata finns i Log-filer. Blob-data (Binary Large Object) som lagras i filsystemet finns i Filestream Data-filer.
    typ Typen av säkerhetskopiering som utförs: Fullständig, Differentielleller transaktionslogg.
    Server Namnet på den Database-Engine instans som utförde säkerhetskopieringsåtgärden.
    det logiska filnamnet Filens logiska namn.
    Databas Namnet på databasen som ingår i säkerhetskopieringsåtgärden.
    startdatum Datum och tid då säkerhetskopieringen påbörjades, som visas i den regionala inställningen för klienten.
    Slutdatum Datum och tid när säkerhetskopieringen har slutförts, som visas i den regionala inställningen för klienten.
    Storlek Storleken på säkerhetskopieringen i byte.
    användarnamn Namnet på den användare som utförde säkerhetskopieringen.
  8. Om du vill visa eller välja avancerade alternativ klickar du på Alternativ i Välj ett sidfönster.

  9. I panelen Återställningsalternativ kan du välja något av följande alternativ, om det är lämpligt för din situation.

    Återställ som filgrupp
    Anger att en hel filgrupp återställs.

    Skriva över den befintliga databasen
    Anger att återställningsåtgärden ska skriva över befintliga databaser och deras relaterade filer, även om det redan finns en annan databas eller fil med samma namn.

    Att välja det här alternativet motsvarar att använda alternativet ERSÄTT i en Transact-SQL RESTORE-instruktion.

    Fråga innan du återställer varje säkerhetskopia
    Ber dig om bekräftelse innan du återställer varje säkerhetskopieringsuppsättning.

    Det här alternativet är särskilt användbart när du måste byta band mot olika medieuppsättningar, till exempel när servern har en bandenhet.

    Begränsa åtkomsten till den återställde databasen
    Gör den återställda databasen endast tillgänglig för medlemmar i db_owner, dbcreatoreller sysadmin.

    Att välja det här alternativet är synonymt med att använda alternativet RESTRICTED_USER i en Transact-SQL RESTORE-instruktion.

  10. Du kan också återställa databasen till en ny plats genom att ange ett nytt återställningsmål för varje fil i Återställ databasfiler som rutnät.

    Kolumnhuvud Värden
    ursprungligt filnamn Den fullständiga sökvägen till en källsäkerhetskopieringsfil.
    filtyp Anger typen av data i säkerhetskopian: Data, Logeller Filestream Data. Data som finns i tabeller finns i Data-filer. Transaktionsloggdata finns i Log-filer. Blob-data (Binary Large Object) som lagras i filsystemet finns i Filestream Data-filer.
    Återställ som Den fullständiga sökvägen till den databasfil som ska återställas. Om du vill ange en ny återställningsfil klickar du på textrutan och redigerar den föreslagna sökvägen och filnamnet. Att ändra sökvägen eller filnamnet i kolumnen Återställ som motsvarar att använda alternativet FLYTTA i en Transact-SQL RESTORE-instruktion.
  11. Återställningspanelen avgör tillståndet för databasen efter återställningsoperationen.

Låt databasen vara redo för användning genom att återställa de ej inkomna transaktionerna. Det går inte att återställa ytterligare transaktionsloggar. (ÅTERSTÄLL MED ÅTERHÄMTNING)
Återställer databasen. Det här är standardbeteendet. Välj endast det här alternativet om du återställer alla nödvändiga säkerhetskopior nu. Det här alternativet motsvarar att ange WITH RECOVERY i en Transact-SQL RESTORE-instruktion.

Låt databasen inte vara operativ och rulla inte tillbaka de icke-committerade transaktionerna. Ytterligare transaktionsloggar kan återställas. (ÅTERSTÄLL MED NORECOVERY)
Lämnar databasen i återställningsläge. För att återställa databasen måste du utföra en annan återställning med hjälp av föregående återställning med återställningsalternativet (se ovan). Det här alternativet motsvarar att ange WITH NORECOVERY i en Transact-SQL RESTORE-instruktion.

Om du väljer det här alternativet är alternativet Bevara replikeringsinställningar inte tillgängligt.

Lämna databasen i skrivskyddat läge. Återställ de ogenomförda transaktionerna, men spara återställningsåtgärden i en fil så att återställningseffekterna kan ångras. (ÅTERSTÄLL MED VÄNTELÄGE)
Lämnar databasen i vänteläge. Det här alternativet motsvarar att ange WITH STANDBY i en Transact-SQL RESTORE-instruktion.

Om du väljer det här alternativet måste du ange en väntelägesfil.

Återställ ångra fil
Ange ett namn på väntelägesfilen i textrutan Ångra återställningsfil. Det här alternativet krävs om du lämnar databasen i skrivskyddat läge (ÅTERSTÄLL MED STANDBY).

Använda Transact-SQL

Så här återställer du filer och filgrupper

  1. Kör instruktionen RESTORE DATABASE för att återställa filen och säkerhetskopieringen av filgruppen och ange:

    • Namnet på databasen som ska återställas.

    • Säkerhetskopieringsenheten där den fullständiga databassäkerhetskopian återställs.

    • FIL-satsen för varje fil som ska återställas.

    • FILEGROUP-satsen för varje filgrupp som ska återställas.

    • NORECOVERY-satsen. Om filerna inte har ändrats efter att säkerhetskopieringen har skapats anger du RECOVERY-satsen.

  2. Om filerna har ändrats efter att filsäkerhetskopian skapades kör du instruktionen RESTORE LOG för att tillämpa säkerhetskopieringen av transaktionsloggen och anger:

    • Namnet på databasen som transaktionsloggen ska tillämpas på.

    • Säkerhetskopieringsenheten där säkerhetskopieringen av transaktionsloggen återställs.

    • Ange NORECOVERY-satsen om du har en annan säkerhetskopia av transaktionsloggen som ska tillämpas efter den aktuella; annars, ange RECOVERY-satsen.

      Säkerhetskopiorna i transaktionsloggen, om de tillämpas, måste täcka den tid då filerna och filgrupperna säkerhetskopierades till slutet av loggen (såvida inte ALLA databasfiler återställs).

Exempel (Transact-SQL)

I det här exemplet återställs filerna och filgrupperna för MyDatabase-databasen. För att återställa databasen till den aktuella tiden tillämpas två transaktionsloggar.

USE master;  
GO  
-- Restore the files and filegroups for MyDatabase.  
RESTORE DATABASE MyDatabase  
   FILE = 'MyDatabase_data_1',  
   FILEGROUP = 'new_customers',  
   FILE = 'MyDatabase_data_2',  
   FILEGROUP = 'first_qtr_sales'  
   FROM MyDatabase_1  
   WITH NORECOVERY;  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log2  
   WITH RECOVERY;  
GO  

Se även

Återställa en databassäkerhetskopia med SSMS-
Säkerhetskopiera filer och filgrupper (SQL Server)
Skapa en fullständig databassäkerhetskopiering (SQL Server)
Säkerhetskopiera en transaktionslogg (SQL Server)
Återställa en säkerhetskopiering av transaktionslogg (SQL Server)
RESTORE (Transact-SQL)