Skapa en differentiell databasbackup (SQL Server)

gäller för:SQL Server

Den här artikeln beskriver hur man skapar en differentiell databasbackup i SQL Server med SQL Server Management Studio, Transact-SQL eller PowerShell.

För en översikt av backupkoncept och uppgifter, se Backup overview (SQL Server).

Förutsättningar

En differentiell databasbackup kräver en tidigare fullständig databasbackup. Om databasen inte har någon, ta en fullständig databasbackup först. Mer information finns i Skapa en fullständig säkerhetskopia av databasen.

Rekommendationer

Eftersom differentiella backups ökar i storlek över tid kan återställning av en differentialbackup avsevärt förlänga tiden för att återställa en databas. Ta en ny full backup med bestämda intervaller för att etablera en ny differentialbas.

Till exempel kan du ta en veckovis fullständig databasbackup, följt av dagliga differentierade säkerhetskopior under veckan.

Limitations

Du kan inte använda uttalandet BACKUP i en explicit eller implicit transaktion.

behörigheter

BACKUP DATABASE och BACKUP LOG-behörigheter är som standard tilldelade medlemmar i den fasta serverrollen sysadmin samt de fasta databasrollerna db_owner och db_backupoperator.

SQL Server-tjänstekontot måste ha läs- och skrivbehörigheter på backupenhetens fysiska fil. Ägarskaps- eller behörighetsproblem på den filen förhindrar säkerhetskopierings- och återställningsoperationer, och uppstår endast när säkerhetskopierings- eller återställningsoperationen körs.

Till exempel validerar den systemlagrade proceduren sp_addumpdevice, som lägger till en post för en säkerhetskopieringsenhet i systemtabellerna, inte filåtkomst.

Använd SQL Server Management Studio

  1. I Object Explorer, koppla till Database Engine och expandera sedan serverträdet.

  2. Expandera Databaser och välj sedan en användardatabas. Eller expandera Systemdatabaser och välj en systemdatabas.

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

  4. I rullgardinsmenyn för databasen , verifiera databasens namn. Valfritt, välj en annan databas.

    Du kan utföra en differentiell säkerhetskopia med vilken återställningsmodell som helst (fullständig, bulkloggad eller enkel).

  5. I rullgardinsmenyn Backup-typ , välj Differential.

    Viktig

    När du väljer Differential, se till att kryssrutan för endast kopia av backup är borttagen. Du kan inte skapa en differentiell säkerhetskopia utifrån en fullständig säkerhetskopia av typen copy-only. Mer information finns i kopieringsbara säkerhetskopior.

  6. För säkerhetskopieringskomponenten, välj Databas.

  7. I textrutan Namn , acceptera standardnamnet på backupuppsättningen eller ange ett nytt.

  8. Eventuellt, ange en beskrivning i textrutan Beskrivning .

  9. Ange när backup-setet går ut:

    • För att låta säkerhetskopieringsuppsättningen upphöra att gälla efter ett visst antal dagar väljer du Efter (standardalternativet) och anger antal dagar. Värdena varierar från 0 till 99999. Ett värde på 0 betyder att backup-setet aldrig går ut.

      Standardvärdet sätts i alternativet Default backup media retention (in days) på sidan Databasinställningar i dialogrutan Serveregenskaper . För att öppna den, högerklicka på servernamnet i Object Explorer, välj Egenskaper och välj sedan sidan Databasinställningar.

    • För att låta säkerhetskopieringsuppsättningen upphöra att gälla på ett visst datum väljer du Aktiverad och anger sedan datumet.

  10. För backup-destinationen, välj Disk eller URL. För att lägga till upp till 64 diskstationer för en enda medieuppsättning, välj Add. De valda sökvägarna visas i listrutan 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.

    Not

    För mer information om säkerhetskopiering till URL, se SQL Server-säkerhetskopiering till URL för Azure Blob Storage.

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

  12. För Overwrite Media, välj ett av följande alternativ:

    • Backup till den befintliga medieuppsättningen

      Välj antingen Lägg till den befintliga backup-uppsättningen eller Skriv över alla befintliga backup-uppsättningar. Du kan också markera kryssrutan Kontrollera namn på medieuppsättning och utgångsdatum för säkerhetskopieringsuppsättning och ange ett namn i textrutan Namn på medieuppsättning.

      Om du inte anger ett namn skapar SQL Server mediamängden med ett tomt namn. Om du anger ett namn kontrollerar SQL Server mediet för att bekräfta att namnet stämmer.

      Om du lämnar medienamnet tomt och markerar kryssrutan, lyckas krysset endast om namnet på mediet också är tomt.

    • Säkerhetskopiera till ett nytt medieset och radera alla befintliga säkerhetskopior

      Skriv in ett namn i textrutan för namn på nytt mediepaket . Beskriv eventuellt medieuppsättningen i textrutan för beskrivning av nya medieset .

  13. I avsnittet Tillförlitlighet , välj valfritt:

  14. SQL Server stöder säkerhetskopieringskomprimering. Som standard komprimerar SQL Server säkerhetskopior baserat på backup-compression default serverkonfigurationsalternativet. Oavsett servernivåstandard, välj Komprimera backup för att komprimera backupen, eller välj Komprimera inte säkerhetskopiering för att förhindra komprimering.

    Information om hur du visar den aktuella standardinställningen för säkerhetskopieringskomprimering finns i Serverkonfiguration: standard för säkerhetskopieringskomprimering. För mer information om backup-komprimering, se Backup-komprimering (SQL Server).

Remarks

  • Du kan använda Underhållsplansguiden för att skapa differentierade databasbackuper istället.

  • Alternativen i avsnittet Transaktionslogg är inaktiva såvida du inte säkerhetskopierar en transaktionslogg. Ange det här alternativet i avsnittet Säkerhetskopieringstyp på sidan Allmänt.

Använda Transact-SQL

Exekverar satsen BACKUP DATABASE för att skapa den differentiella databasbackupen. Specificera:

  • Namnet på databasen som ska säkerhetskopieras.

  • Den säkerhetskopieringsenhet där den fullständiga databassäkerhetskopian är skriven.

  • Klausulen DIFFERENTIAL att endast säkerhetskopiera de delar av databasen som ändrades efter den senaste fullständiga databasbackupen.

Använd följande syntax:

BACKUP DATABASE database_nameTO< backup_device>WITH DIFFERENTIAL

Exempel (Transact-SQL)

Kodexemplen i den här artikeln använder AdventureWorks2025- eller AdventureWorksDW2025-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.

-- Create a full database backup first.
BACKUP DATABASE AdventureWorks2025
    TO AdventureWorks2025_1
    WITH INIT;
GO

-- Time elapses.
-- Create a differential database backup, appending the backup
-- to the backup device containing the full database backup.
BACKUP DATABASE AdventureWorks2025
    TO AdventureWorks2025_1
    WITH DIFFERENTIAL;
GO

Remarks

För information om säkerhetskopiering till band, se BACKUP bandalternativ och exemplet Säkerhetskopiera till en bandenhet i Create a full database backup.

Not

Alternativet TAPE tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.

Använda PowerShell

Använd cmdleten Backup-SqlDatabase . För att specificera en differentiell databasbackup, använd parametern -Incremental tillsammans med -BackupAction Database.

Not

Detta exempel kräver modulen SqlServer . Mer information finns i SQL Server PowerShell-provider.

Exempel (PowerShell)

Följande exempel skapar en differentiell databasbackup av AdventureWorks2025 databasen till standardbackupplatsen för serverinstansen Computer\Instance. En fullständig databasbackup måste redan finnas.

Fullständiga syntaxexempel finns i Backup-SqlDatabase.

$credential = Get-Credential

Backup-SqlDatabase -ServerInstance Computer[\Instance] -Database AdventureWorks2025 -BackupAction Database -Incremental -Credential $credential