Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment sauvegarder une base de données SQL Server à l'aide de T-SQL

Vous pouvez utiliser la BACKUP DATABASE de T-SQL pour sauvegarder n'importe quelle base de données SQL Server.

Cet article vous montre comment sauvegarder une base de données sur disque. Cela crée un fichier .bak qui peut être utilisé ultérieurement pour restaurer la base de données si nécessaire.

Créer une sauvegarde complète

Voici un exemple basique de création d'une sauvegarde complète d'une base de données SQL Server sur disque :

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

Cet exemple crée une sauvegarde complète de la base de données Movies dans un fichier sur le disque. Cet exemple utilise un emplacement sur le lecteur Z, mais le chemin peut être tout ce que vous voulez. La base de données doit être sauvegardée sur un lecteur différent de celui utilisé pour la base de données elle-même. De cette façon, en cas de panne de disque, vous ne perdez pas votre fichier de sauvegarde avec la base de données.

L'exemple suivant fait la même chose, mais cet exemple utilise la syntaxe de chemin de fichier Linux et Mac :

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

Créer une sauvegarde différentielle

Une fois que vous avez créé une sauvegarde complète, vous pouvez créer des sauvegardes différentielles. Une sauvegarde différentielle est une sauvegarde dans laquelle seules les parties de la base de données qui ont été modifiées depuis la création de la dernière sauvegarde complète de la base de données sont sauvegardées.

Les sauvegardes différentielles réduisent le temps nécessaire à la sauvegarde de la base de données (du fait que seules les modifications depuis la dernière sauvegarde complète sont sauvegardées).

Pour créer une sauvegarde différentielle, utilisez la même BACKUP DATABASE déclaration que vous utilisez pour créer la sauvegarde complète, sauf que cette fois ajoutez le WITH DIFFERENTIAL clause.

Voici un exemple :

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

L'exécution de cette instruction ajoutera la sauvegarde différentielle au fichier de sauvegarde d'origine qui contient la sauvegarde complète.

Sauvegarder le journal des transactions

Vous pouvez également sauvegarder le journal des transactions. Cela se fait avec le BACKUP LOG déclaration.

Voici un exemple :

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