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

SQL Server 2016 :Sauvegarder une base de données

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 de SQL Server Management Studio.

Ici, je vais montrer comment créer une sauvegarde à l'aide de l'interface graphique du système de gestion SQL Server, puis en utilisant Transact-SQL, puis enfin, avec SQL Server Powershell.

Créer une sauvegarde via l'interface graphique

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

    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.

  2. Vérifiez les paramètres de sauvegarde

    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 OK pour créer la sauvegarde.

    Vous pouvez modifier la base de données ici si vous avez accidentellement sélectionné la mauvaise à l'étape précédente.

  3. Sauvegarde terminée

    Vous recevrez un message lorsque la sauvegarde sera terminée.

    Cliquez sur OK pour fermer le message et la boîte de dialogue.

    Le fichier de sauvegarde sera désormais situé à l'emplacement spécifié.

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

  • Vous pouvez effectuer la même sauvegarde que ci-dessus en utilisant 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.

    Exemple de code

    Vous trouverez ci-dessous un exemple de script de sauvegarde simple qui spécifie la base de données à sauvegarder et l'emplacement vers lequel la sauvegarder.

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

    BACKUP DATABASE Music  
    TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';

    Vous pouvez voir la syntaxe complète pour le BACKUP déclaration sur le site Web de Microsoft.

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

SQL Server 2016 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.

  1. Ouvrir PowerShell

    Faites un clic droit sur la base de données et sélectionnez Démarrer Powershell .

  2. Exécutez la commande de sauvegarde

    Entrez la commande pour créer la sauvegarde et appuyez sur Entrée (ou Retour , selon votre clavier).

    La sauvegarde s'exécutera immédiatement.

    Exemple de code

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

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

    Backup-SqlDatabase -ServerInstance MyServer -Database Music

    Vous pouvez également spécifier un emplacement

    Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'

    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 avez exécuté tous les exemples ci-dessus exactement tels qu'ils sont, vous avez peut-être remarqué qu'à chaque fois que vous l'exécutez, la taille du fichier de sauvegarde augmente.

En effet, chaque sauvegarde successive s'ajoute au fichier existant.

Il le fait parce que nous utilisons le même nom de fichier et que nous n'avons 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 , 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.

Enregistrement des fichiers de sauvegarde

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.