sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man säkerhetskopierar en SQL Server-databas med T-SQL

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';

  1. java.lang.ClassNotFoundException:org.postgresql.Driver

  2. VLDBs i 20-åren:Du kommer att behöva en större ...

  3. hur man kontrollerar att databasen är konsekvent efter ofullständig återställning

  4. SQL Server ORDER BY datum och nollvärden sist