Dela via


Säkerhetskopiera en transaktionslogg

gäller för:SQL Server

Den här artikeln beskriver hur du säkerhetskopierar en transaktionslogg i SQL Server med hjälp av SQL Server Management Studio, Azure Data Studio, Transact-SQL eller PowerShell.

Begränsningar

Uttalandet BACKUP tillåts inte i en explicit eller implicit transaktion. En explicit transaktion är en transaktion där du uttryckligen definierar både början och slutet av transaktionen.

Säkerhetskopieringar av transaktionsloggar för master systemdatabas stöds inte.

Rekommendationer

Om en databas använder antingen den fullständiga eller massloggade återställningsmodellenmåste du säkerhetskopiera transaktionsloggen tillräckligt regelbundet för att skydda dina data och förhindra att transaktionsloggen fyller. Detta trunkerar loggen och stöder återställning av databasen till en viss tidpunkt.

Som standard lägger varje lyckad säkerhetskopiering till en post i SQL Server-felloggen och i systemhändelseloggen. Om du säkerhetskopierar loggen ofta ackumuleras dessa lyckade meddelanden snabbt, vilket resulterar i enorma felloggar, vilket gör det svårt att hitta andra meddelanden. I sådana fall kan du utelämna dessa loggposter med hjälp av spårningsflagga 3226. Om inget av dina skript är beroende av dessa poster kan du läsa Spårningsflaggor (Transact-SQL).

Behörigheter

Sök efter rätt behörigheter innan du börjar, både på instansnivå och lagringsnivå.

Behörigheter för databasmotorn

De BACKUP DATABASE- och BACKUP LOG behörigheter som krävs beviljas som standard till medlemmar i sysadmin fast serverroll samt db_owner- och db_backupoperator fasta databasroller.

Behörigheter för säkerhetskopieringsenheter

Ägarskaps- och behörighetsproblem på säkerhetskopieringsenhetens fysiska fil kan störa en säkerhetskopieringsåtgärd. Det operativsystemkonto under vilket SQL Server-tjänsten körs måste kunna läsa från och skriva till enheten. Behörighetsproblem på säkerhetskopieringsenhetens fysiska fil är inte uppenbara för dig förrän du försöker komma åt den fysiska resursen när du försöker säkerhetskopiera eller återställa.

Not

sp_addumpdevice, som lägger till en post för en säkerhetskopieringsenhet i systemtabellerna, kontrollerar inte behörigheter för filåtkomst.

Använda SQL Server Management Studio

Notera

Stegen i det här avsnittet gäller även för Azure Data Studio.

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

  2. Expandera Databaseroch välj antingen en användardatabas eller expandera systemdatabaser och välj en systemdatabas, beroende på databasen.

  3. Högerklicka på databasen, peka på Åtgärderoch välj sedan Säkerhetskopiera. Dialogrutan Säkerhetskopiera databas visas.

  4. Kontrollera databasnamnet i listrutan Database. Du kan också välja en annan databas i listan.

  5. Kontrollera att återställningsmodellen antingen är FULL eller BULK_LOGGED.

  6. I listrutan Säkerhetskopieringstyp väljer du Transaktionslogg.

  7. (valfritt) Välj Säkerhetskopiera endast kopia för att skapa en säkerhetskopia. En säkerhetskopiering med endast kopiering är en SQL Server-säkerhetskopia som är oberoende av sekvensen med konventionella SQL Server-säkerhetskopior, se säkerhetskopieringar med endast kopiering.

    Not

    När alternativet Differentiell har valts kan du inte skapa en säkerhetskopia med endast kopiering.

  8. Acceptera antingen standardnamnet för säkerhetskopieringsuppsättningen som föreslås i textrutan Namn eller ange ett annat namn för säkerhetskopieringsuppsättningen.

  9. (valfritt) I textrutan Beskrivning anger du en beskrivning av säkerhetskopieringsuppsättningen.

  10. Ange när säkerhetskopieringsuppsättningen ska upphöra att gälla:

    • Om du vill att säkerhetskopieringsuppsättningen ska upphöra att gälla efter ett visst antal dagar väljer du Efter (standardalternativet) och anger antalet dagar efter att uppsättningen har skapats som uppsättningen upphör att gälla. Det här värdet kan vara mellan 0 och 99999 dagar. värdet 0 dagar innebär att säkerhetskopieringsuppsättningen aldrig upphör att gälla.

      Standardvärdet anges i alternativet Standardlagring av säkerhetskopieringsmedia (i dagar) i dialogrutan Serveregenskaper (databasinställningar sidan). Om du vill komma åt den här dialogrutan högerklickar du på servernamnet i Object Explorer och väljer egenskaper. välj sedan sidan Databasinställningar.

    • Om du vill att säkerhetskopieringsuppsättningen ska upphöra att gälla ett visst datum väljer du och anger det datum då uppsättningen upphör att gälla.

  11. Välj typ av säkerhetskopieringsmål genom att välja Disk, URLeller Band. Om du vill välja sökvägar för upp till 64 disk- eller bandenheter som innehåller en enda medieuppsättning väljer du Lägg till. De valda sökvägarna visas i listboxen Backup till.

    Om du vill ta bort ett mål för säkerhetskopiering väljer du det och väljer Ta bort. Om du vill visa innehållet i ett mål för säkerhetskopiering väljer du det och väljer Innehåll.

  12. Om du vill visa eller välja avancerade alternativ väljer du Alternativ i fönstret Välj en sida.

  13. Välj ett alternativet Skriv över media genom att välja något av följande:

    • Säkerhetskopiera till befintlig medieuppsättning

      För det här alternativet väljer du antingen Lägg till i den befintliga säkerhetskopieringsuppsättningen eller Skriva över alla befintliga säkerhetskopieringsuppsättningar, se Media Sets, Media Families och Backup Sets (SQL Server).

      • (valfritt) Välj Kontrollera mediauppsättningens namn och förfallodatum för säkerhetskopieringsuppsättningen för att säkerhetskopieringsåtgärden ska verifiera datum och tid när medieuppsättningen och säkerhetskopieringsuppsättningen upphör att gälla.

      • (valfritt) Ange ett namn i textrutan Media Set-namn. Om inget namn anges skapas en medieuppsättning med ett tomt namn. Om du anger ett mediauppsättningsnamn kontrolleras mediet (band eller disk) för att se om det faktiska namnet matchar det namn som du anger här.

      Om du lämnar medienamnet tomt och markerar kryssrutan för att kontrollera det mot mediet, uppnår du framgång om även medienamnet på mediet är tomt.

    • Säkerhetskopiera till en ny medieuppsättning och radera alla befintliga säkerhetskopieringsuppsättningar

      För det här alternativet anger du ett namn i textrutan Nytt medieuppsättningsnamn och valfritt kan du också beskriva medieuppsättningen i textrutan Ny medieuppsättning, se Media Sets, Media Families och Backup Sets (SQL Server).

  14. I avsnittet Reliability kan du valfritt kontrollera:

  15. I avsnittet Transaktionslogg:

    • För rutinmässiga loggsäkerhetskopior behåller du standardvalet Trunkera transaktionsloggen genom att ta bort inaktiva poster.

    • Om du vill säkerhetskopiera loggens svans (den aktiva loggen) kontrollerar du Säkerhetskopiera loggens svans och lämnar databasen i återställningstillståndet.

      En säkerhetskopia av tail-log görs efter ett fel vid säkerhetskopiering av loggens svans för att förhindra arbetsförlust. Säkerhetskopiera den aktiva loggen (en säkerhetskopia av tail-log) både efter ett fel, innan du börjar återställa databasen eller när du växlar över till en sekundär databas. Att välja det här alternativet motsvarar att ange NORECOVERY-alternativet i instruktionen BACKUP LOG i Transact-SQL.

      Mer information om säkerhetskopieringar av tail-logg finns under Säkerhetskopieringar av tail-logg (SQL Server).

  16. Om du säkerhetskopierar till en bandenhet (enligt beskrivningen i avsnittet Mål på sidan Allmänt) är alternativet Ta bort bandet efter säkerhetskopiering aktivt. Om du väljer det här alternativet aktiveras Spola tillbaka bandet innan tas bort.

  17. Huruvida en säkerhetskopia som standard komprimeras beror på värdet för serverkonfigurationsalternativet standardinställning för säkerhetskopieringskomprimering. Oavsett den aktuella standardinställningen på servernivå kan du dock komprimera en säkerhetskopia genom att kontrollera Komprimera säkerhetskopiering, och du kan förhindra komprimering genom att kontrollera Komprimera inte säkerhetskopieringen.

    Backup-komprimering stöds på SQL Server 2008 (10.0.x) Enterprise och senare versioner och SQL Server 2016 (13.x) Standard med Service Pack 1 och senare versioner.

    Om du vill visa den aktuella standardinställningen för säkerhetskopieringskomprimering läser du Visa eller Konfigurera standardinställningen för säkerhetskopieringskomprimering (serverkonfigurationsalternativ).

    Om du vill kryptera säkerhetskopieringsfilen markerar du kryssrutan Kryptera säkerhetskopiering. Välj en krypteringsalgoritm som ska användas för att kryptera säkerhetskopieringsfilen och ange ett certifikat eller en asymmetrisk nyckel. De tillgängliga algoritmerna för kryptering är:

    • AES 128
    • AES 192
    • AES 256
    • Trippel DES

Använd Transact-SQL

Kör KOMMANDOT BACKUP LOG för att säkerhetskopiera transaktionsloggen med följande information:

  • Namnet på databasen som transaktionsloggen som du vill säkerhetskopiera tillhör.
  • Den säkerhetskopieringsenhet där säkerhetskopieringen av transaktionsloggen skrivs.

Viktig

I det här exemplet används databasen AdventureWorks2022, som använder den enkla återställningsmodellen. För att tillåta loggsäkerhetskopior angavs databasen att använda den fullständiga återställningsmodellen innan en fullständig databassäkerhetskopia gjordes.

Mer information finns i Visa eller ändra återställningsmodellen för en databas (SQL Server).

I det här exemplet skapas en säkerhetskopia av transaktionsloggen för AdventureWorks2022-databasen till den tidigare skapade namngivna säkerhetskopieringsenheten MyAdvWorks_FullRM_log1.

BACKUP LOG AdventureWorks2022
   TO MyAdvWorks_FullRM_log1;
GO

Använda PowerShell

Konfigurera och använda SQL Server PowerShell-providern. Använd cmdleten Backup-SqlDatabase och ange Log för värdet för parametern -BackupAction.

I följande exempel skapas en loggsäkerhetskopia av <myDatabase>-databasen till standardplatsen för säkerhetskopiering av serverinstansen Computer\Instance.

Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Log