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

Sauvegarder une base de données dans SQL Server 2017

SQL Server offre un moyen simple de créer une sauvegarde d'une base de données. Les sauvegardes peuvent être effectuées avec Transact-SQL, PowerShell ou via l'interface graphique.

Ici, je vais montrer comment créer une sauvegarde à l'aide de l'interface graphique de SQL Operations Studio (maintenant appelée Azure Data Studio), puis à l'aide de Transact-SQL, puis enfin, avec SQL Server Powershell.

Créer une sauvegarde via l'interface graphique SQLOPS/Azure Data Studio

  1. Ouvrir le tableau de bord de la base de données

    Dans le volet de gauche, cliquez avec le bouton droit sur la base de données que vous souhaitez sauvegarder et sélectionnez Gérer .

    Si vous utilisez SSMS, dans l'Explorateur d'objets, cliquez avec le bouton droit sur la base de données que vous souhaitez sauvegarder et sélectionnez Tâches> Sauvegarder... depuis le menu contextuel. Cela lancera la base de données de sauvegarde boîte de dialogue.

  2. Lancer la base de données de sauvegarde Boîte de dialogue

    Cliquez sur Sauvegarder bouton.

  3. Vérifiez les paramètres

    Cette boîte de dialogue vous donne la possibilité de modifier l'un des paramètres si nécessaire.

    Pour notre exemple, laissez-le aux paramètres par défaut et cliquez sur Sauvegarder pour créer la sauvegarde.

    Si vous avez des exigences de sauvegarde spécifiques, vous pouvez modifier le type de sauvegarde et/ou cliquer sur Configuration avancée pour régler les paramètres de configuration avancés.

  4. Sauvegarde terminée

    Une fois la sauvegarde terminée, un message s'affiche confirmant que la sauvegarde a réussi.

Sauvegarder une base de données à l'aide de Transact-SQL

Vous pouvez effectuer la même sauvegarde que ci-dessus en utilisant T-SQL.

Pour cela, ouvrez une nouvelle fenêtre de requête et exécutez une BACKUP déclaration.

La BACKUP accepte diverses options (tout comme l'option GUI), mais vous pouvez également exécuter une simple sauvegarde avec un minimum de code.

Vous trouverez ci-dessous un exemple de script de sauvegarde simple sur un système Linux ou Mac. Le script spécifie la base de données à sauvegarder et l'emplacement vers lequel la sauvegarder.

BACKUP DATABASE Music  
TO DISK = '/var/opt/mssql/data/Music.bak';

Sur un système Windows, le chemin utilisera des barres obliques inverses :

BACKUP DATABASE Music  
TO DISK = 'C:\Backups\Music.bak';

Après avoir exécuté ce code, le fichier de sauvegarde sera situé à l'emplacement spécifié.

Sauvegarder une base de données à l'aide de PowerShell

SQL Server 2017 prend en charge Windows PowerShell, qui est un shell de script, généralement utilisé pour automatiser les tâches d'administration et de déploiement.

Le langage PowerShell prend en charge une logique plus complexe que les scripts Transact-SQL, ce qui vous permet de créer des scripts plus sophistiqués pour vos sauvegardes et autres tâches.

Le code suivant créera une sauvegarde comme dans les exemples précédents. Remplacez simplement MyServer avec le nom de votre serveur.

Backup-SqlDatabase -ServerInstance MyServer -Database Music

Vous pouvez également spécifier un emplacement

Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'

Après avoir exécuté ce code, le fichier de sauvegarde sera situé à l'emplacement par défaut.

Vous pouvez également spécifier -BackupAction Database pour indiquer explicitement qu'il s'agit d'une sauvegarde complète. Cependant, il s'agit de l'option par défaut.

Vous pouvez voir la documentation complète de Backup-SqlDatabase commande sur le site Web de Microsoft.

Écrasement des fichiers de sauvegarde

Si vous effectuez plusieurs sauvegardes en utilisant le même nom de fichier pour le fichier de sauvegarde, vous remarquerez peut-être qu'à chaque fois que vous exécutez une sauvegarde, la taille du fichier de sauvegarde augmente.

En effet, chaque sauvegarde successive s'ajoute au fichier existant. Il le fait parce que vous utilisez le même nom de fichier et que vous n'avez pas explicitement spécifié que chaque sauvegarde doit écraser tout fichier existant.

Il existe une option qui vous permet d'écraser le fichier existant.

  • Utilisation de l'interface graphique SQLOPS , cliquez sur Configuration avancée et sous Sauvegarder sur le jeu de médias existant , sélectionnez Ecraser tous les jeux de sauvegarde existants .
  • Utilisation de l'interface graphique SSMS , cliquez sur Options multimédias dans le menu de gauche de la Sauvegarde de la base de données boîte de dialogue et sélectionnez Remplacer tous les jeux de sauvegarde existants dans le Écraser le média section.
  • Utiliser SQL ajouter WITH INIT à l'instruction SQL.
  • Utilisation de Powershell , ajoutez -Initialize à la commande.

Utiliser des noms de fichiers uniques

Cependant, c'est souvent une bonne idée de créer une sauvegarde complète avec un nom de fichier unique (incluant généralement la date dans le nom du fichier). Avoir un nom de fichier unique signifie que chaque sauvegarde sera un fichier séparé.

En outre, en fonction de la taille de votre base de données et de la quantité de nouvelles données qui y sont entrées, vous souhaiterez peut-être compléter vos sauvegardes complètes par des sauvegardes différentielles. Une sauvegarde différentielle capture uniquement les données qui ont été modifiées depuis la sauvegarde complète la plus récente.