sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan sikkerhedskopieres en SQL Server-database ved hjælp af T-SQL

Du kan bruge T-SQL BACKUP DATABASE sætning for at sikkerhedskopiere enhver SQL Server-database.

Denne artikel viser dig, hvordan du sikkerhedskopierer en database til disk. Dette opretter en .bak-fil, som kan bruges senere til at gendanne databasen, hvis det kræves.

Opret en fuld sikkerhedskopi

Her er et grundlæggende eksempel på at oprette en fuld sikkerhedskopi af en SQL Server-database til disk:

BACKUP DATABASE Movies  
TO DISK = 'Z:\mssql\backups\Movies.bak';

Dette eksempel opretter en fuld sikkerhedskopi af Movies-databasen til en fil på disk. Dette eksempel bruger en placering på Z-drevet, men stien kan være alt, hvad du vil. Databasen bør sikkerhedskopieres til et andet drev end det, der bruges til selve databasen. På den måde, hvis der er en diskfejl, mister du ikke din backup-fil sammen med databasen.

Følgende eksempel gør det samme, men dette eksempel bruger Linux- og Mac-filstisyntaks:

BACKUP DATABASE Movies  
TO DISK = '/var/opt/mssql/backups/Movies.bak';

Opret en differentiel sikkerhedskopi

Når du har oprettet en fuld sikkerhedskopi, kan du oprette differentielle sikkerhedskopier. En differentiel backup er en, hvor kun dele af databasen, der er ændret siden den sidste fulde database backup blev oprettet, sikkerhedskopieres.

Differentielle sikkerhedskopier reducerer den tid, det tager at sikkerhedskopiere databasen (på grund af det faktum, at kun ændringerne siden sidste fulde sikkerhedskopiering er sikkerhedskopieret).

For at oprette en differentiel backup skal du bruge den samme BACKUP DATABASE erklæring, som du bruger til at oprette den fulde sikkerhedskopi, bortset fra at denne gang tilføjer WITH DIFFERENTIAL klausul.

Her er et eksempel:

BACKUP DATABASE Movies  
TO DISK = 'Z:\mssql\backups\Movies.bak'
WITH DIFFERENTIAL;

Kørsel af denne erklæring vil den differentielle sikkerhedskopi tilføjes til den originale sikkerhedskopifil, der indeholder den fulde sikkerhedskopi.

Sikkerhedskopier transaktionsloggen

Du kan også tage backup af transaktionsloggen. Dette gøres med BACKUP LOG erklæring.

Her er et eksempel:

BACKUP LOG Movies  
TO DISK = 'Z:\mssql\backups\Movies_log.bak';

  1. MySQL-fejl 1264:værdi uden for rækkevidde for kolonne

  2. INDSÆT ... PÅ DUBLIKAT NØGLOPDATERING med HVOR?

  3. Opdatere en tabel ved hjælp af JOIN i SQL Server?

  4. Rails Resque-arbejdere fejler med PGError:Server lukkede forbindelsen uventet