Sauvegarder et restaurer des bases de données SQL Server sur Linux

S’applique à :SQL Server - Linux

Vous pouvez effectuer des sauvegardes de bases de données à partir de SQL Server sur Linux avec de nombreuses options différentes. Sur un serveur Linux, vous pouvez utiliser sqlcmd pour vous connecter à SQL Server et effectuer des sauvegardes. À partir de Windows, vous pouvez vous connecter à SQL Server sur Linux et effectuer des sauvegardes avec l’interface utilisateur. La fonctionnalité de sauvegarde est la même sur toutes les plateformes. Vous pouvez par exemple sauvegarder les bases de données localement, sur des lecteurs distants ou dans Stockage Blob Microsoft Azure.

Important

SQL Server sur Linux prend en charge seulement la sauvegarde vers Stockage Blob Azure avec des objets blob de blocs. L’utilisation d’une clé de stockage pour la sauvegarde et la restauration entraîne l’utilisation d’un objet blob de pages, ce qui n’est pas pris en charge. Utilisez à la place une signature d’accès partagé. Pour plus d’informations sur les objets blob de blocs et les objets blob de pages, consultez Sauvegarde sur un objet blob de blocs et sur un objet blob de pages.

Sauvegarder une base de données

Dans l’exemple suivant, sqlcmd se connecte à l’instance locale et effectue une sauvegarde complète d'une base de données utilisateur appelée demodb.

sqlcmd -S localhost -U SA -Q "BACKUP DATABASE [demodb] TO DISK = N'/var/opt/mssql/data/demodb.bak' WITH NOFORMAT, NOINIT, NAME = 'demodb-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

Quand vous exécutez la commande, SQL Server vous invite à entrer un mot de passe. Une fois que vous avez entré le mot de passe, l’interpréteur de commandes retourne les résultats de la progression de la sauvegarde. Par exemple :

Password:
10 percent processed.
21 percent processed.
32 percent processed.
40 percent processed.
51 percent processed.
61 percent processed.
72 percent processed.
80 percent processed.
91 percent processed.
Processed 296 pages for database 'demodb', file 'demodb' on file 1.
100 percent processed.
Processed 2 pages for database 'demodb', file 'demodb_log' on file 1.
BACKUP DATABASE successfully processed 298 pages in 0.064 seconds (36.376 MB/sec).

Sauvegarder le journal des transactions

Si votre base de données est en mode de récupération complète, vous pouvez également effectuer des sauvegardes de fichier journal pour des options de restauration plus granulaires. Dans l’exemple suivant, sqlcmd se connecte à l’instance locale et effectue une sauvegarde de fichier journal.

sqlcmd -S localhost -U SA -Q "BACKUP LOG [demodb] TO DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'demodb_LogBackup', NOSKIP, NOREWIND, NOUNLOAD, STATS = 5"

Restaurer une base de données

Dans l’exemple suivant, sqlcmd se connecte à l’instance locale de SQL Server et restaure la base de données demobd. L’option NORECOVERY permet d’effectuer d’autres restaurations de sauvegardes de fichiers journaux. Si vous n’envisagez pas de restaurer des fichiers journaux supplémentaires, supprimez l’option NORECOVERY.

sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [demodb] FROM DISK = N'/var/opt/mssql/data/demodb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"

Conseil

Si vous utilisez accidentellement NORECOVERY mais que vous n’avez pas de sauvegardes de fichiers journaux supplémentaires, exécutez la commande RESTORE DATABASE demodb sans paramètres supplémentaires. Cela termine la restauration et laisse votre base de données opérationnelle.

Restaurer le journal des transactions

La commande suivante restaure la sauvegarde précédente de fichier journal.

sqlcmd -S localhost -U SA -Q "RESTORE LOG demodb FROM DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak'"

Sauvegarde et restauration avec SQL Server Management Studio (SSMS)

Vous pouvez utiliser SSMS à partir d’un ordinateur Windows pour vous connecter à une base de données Linux et effectuer une sauvegarde par le biais de l’interface utilisateur.

Notes

Utilisez la dernière version de SSMS pour vous connecter à SQL Server. Pour télécharger et installer la dernière version, consultez Télécharger SSMS. Pour plus d’informations sur l’utilisation de SSMS, consultez Utiliser SSMS pour gérer SQL Server sur Linux.

Les étapes suivantes vous guident dans la réalisation d’une sauvegarde avec SSMS.

  1. Démarrer SSMS et se connecter à votre SQL Server sur une instance Linux.

  2. Dans l’Explorateur d’objets, cliquez avec le bouton de droite sur votre base de données, cliquez sur Tâches, puis cliquez sur Sauvegarder....

  3. Dans la boîte de dialogue Sauvegarder la base de données, vérifiez les paramètres et les options, puis sélectionnez OK.

SQL Server termine la sauvegarde de la base de données.

Restauration avec SQL Server Management Studio (SSMS)

Les étapes suivantes vous guident tout au long de la restauration d’une base de données avec SSMS.

  1. Dans SSMS, cliquez avec le bouton droit sur Bases de données et sélectionnez Restaurer la base de données.

  2. Sous Source, sélectionnez Appareil :, puis sélectionnez les points de suspension (...).

  3. Recherchez votre fichier de sauvegarde de bases de données, puis sélectionnez OK.

  4. Sous Plan de restauration, vérifiez le fichier de sauvegarde et les paramètres. Sélectionnez OK.

  5. SQL Server restaure la base de données.

Contribuer à la documentation SQL

Saviez-vous que vous pouvez modifier le contenu SQL vous-même ? Dans ce cas, non seulement vous nous aidez à améliorer notre documentation, mais vous êtes également cité en tant que contributeur à la page.

Pour plus d’informations, consultez Guide pratique pour contribuer à la documentation SQL Server