Läs på engelska

Dela via


Återställa filer och filgrupper över befintliga filer (SQL Server)

gäller för:SQL Server

Det här avsnittet beskriver hur du återställer filer och filgrupper över befintliga filer 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 filerna och filgrupperna 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.

  • 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 tilldelas återställningsbehörigheter som standard till medlemmar i sysadmin och dbcreator fördefinierade serverroller och ägaren (dbo) för databasen; databasen finns alltid för alternativet FROM DATABASE_SNAPSHOT.

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

Använda SQL Server Management Studio

Så här återställer du filer och filgrupper över befintliga filer

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

  2. Högerklicka på den databas som du vill använda, peka på Uppgifter, peka på Återställoch klicka sedan på Filer och filgrupper.

  3. 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.

  4. 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.

  5. 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.
    Logiskt filnamn 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.
  6. I fönstret Välj en sida klickar du på sidan Alternativ.

  7. I panelen Återställningsalternativ väljer du Skriv över den befintliga databasen (MED REPLACE). Återställningsåtgärden skriver över alla befintliga databaser och deras relaterade filer, även om det redan finns en annan databas eller fil med samma namn.

  8. Välj OK.

Använda Transact-SQL

Så här återställer du filer och filgrupper över befintliga filer

  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-klausulen för varje filgrupp som ska återställas.

    • Alternativet ERSÄTT för att ange att varje fil kan ersättas över befintliga filer med samma namn och plats.

      Varning

      Använd alternativet ERSÄTT försiktigt. Mer information finns i .

    • NORECOVERY-alternativet. 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.

    • "Använd 'NORECOVERY'-satsen om du har en annan säkerhetskopia av transaktionsloggen att tillämpa efter den aktuella; annars anger du 'RECOVERY'-satsen."

      Säkerhetskopiorna i transaktionsloggen, om de tillämpas, måste täcka den tid då filerna och filgrupperna säkerhetskopierades.

Exempel (Transact-SQL)

I följande exempel återställs filerna och filgrupperna för MyNwind-databasen och ersätter alla befintliga filer med samma namn. Två transaktionsloggar kommer också att användas för att återställa databasen till den aktuella tiden.

SQL
USE master;  
GO  
-- Restore the files and filegroups for MyNwind.  
RESTORE DATABASE MyNwind  
   FILE = 'MyNwind_data_1',  
   FILEGROUP = 'new_customers',  
   FILE = 'MyNwind_data_2',  
   FILEGROUP = 'first_qtr_sales'  
   FROM MyNwind_1  
   WITH NORECOVERY,  
   REPLACE;  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyNwind  
   FROM MyNwind_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyNwind  
   FROM MyNwind_log2  
   WITH RECOVERY;  
GO  

Se även

Återställa en databassäkerhetskopia med SSMS-
RESTORE (Transact-SQL)
Återställ filer och filgrupper (SQL Server)
Kopiera databaser med säkerhetskopiering och återställning