Du kan använda T-SQL BACKUP DATABASE
för att säkerhetskopiera valfri SQL Server-databas.
Den här artikeln visar hur du säkerhetskopierar en databas till disk. Detta skapar en .bak-fil som kan användas senare för att återställa databasen om det behövs.
Skapa en fullständig säkerhetskopia
Här är ett grundläggande exempel på hur du skapar en fullständig säkerhetskopia av en SQL Server-databas till disk:
BACKUP DATABASE Movies TO DISK = 'Z:\mssql\backups\Movies.bak';
Det här exemplet skapar en fullständig säkerhetskopia av Movies-databasen till en fil på disk. Det här exemplet använder en plats på Z-enheten, men sökvägen kan vara vad du vill. Databasen bör säkerhetskopieras till en annan enhet än den som används för själva databasen. På så sätt, om det finns ett diskfel, förlorar du inte din säkerhetskopia tillsammans med databasen.
Följande exempel gör samma sak, men det här exemplet använder Linux- och Mac-filsökvägssyntax:
BACKUP DATABASE Movies TO DISK = '/var/opt/mssql/backups/Movies.bak';
Skapa en differentiell säkerhetskopia
När du har skapat en fullständig säkerhetskopia kan du skapa differentiella säkerhetskopior. En differentiell säkerhetskopiering är en där endast delar av databasen som har ändrats sedan den senaste fullständiga säkerhetskopieringen av databasen skapades säkerhetskopieras.
Differentiella säkerhetskopieringar minskar tiden det tar att säkerhetskopiera databasen (beroende på att endast ändringarna sedan den senaste fullständiga säkerhetskopieringen säkerhetskopieras).
För att skapa en differentiell säkerhetskopia, använd samma BACKUP DATABASE
uttalande som du använder för att skapa den fullständiga säkerhetskopian, förutom att denna gång lägg till WITH DIFFERENTIAL
klausul.
Här är ett exempel:
BACKUP DATABASE Movies TO DISK = 'Z:\mssql\backups\Movies.bak' WITH DIFFERENTIAL;
Om du kör den här satsen läggs den differentiella säkerhetskopian till den ursprungliga säkerhetskopian som innehåller den fullständiga säkerhetskopian.
Säkerhetskopiera transaktionsloggen
Du kan också säkerhetskopiera transaktionsloggen. Detta görs med BACKUP LOG
uttalande.
Här är ett exempel:
BACKUP LOG Movies TO DISK = 'Z:\mssql\backups\Movies_log.bak';