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

S’applique à :SQL Server sur Linux

Vous pouvez sauvegarder des bases de données SQL Server sur Linux de plusieurs manières. Sur un serveur Linux, vous pouvez vous connecter sqlcmd au SQL Server et sauvegarder des bases de données. Depuis Windows, vous pouvez vous connecter à SQL Server sur Linux et sauvegarder les bases de données avec l’interface utilisateur. La fonctionnalité de sauvegarde est la même sur toutes les plateformes. Par exemple, vous pouvez sauvegarder des bases de données localement, sur des disques distants, ou sauvegarder sur SQL Server vers une URL pour Stockage Blob Azure.

Important

SQL Server sur Linux ne supporte que la sauvegarde sur Stockage Blob Azure avec des blobs de blocs. Utiliser une clé de stockage pour sauvegarder et restaurer utilise un page blob, ce qui n’est pas pris en charge. Utilisez plutôt une signature d’accès partagé (SAS). 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 de SQL Server 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. Après avoir saisi le mot de passe, le shell renvoie 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).

Sauvegardez le journal des transactions

Si votre base de données est dans le modèle de récupération complet, vous pouvez également sauvegarder le journal des transactions pour des options de restauration plus détaillées. Dans l’exemple suivant, sqlcmd se connecte à l’instance de SQL Server locale et effectue une sauvegarde du journal des transactions.

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 demodb. Cette NORECOVERY option permet des restaurations supplémentaires des sauvegardes des fichiers journals. 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"

Tip

Si vous utilisez NORECOVERY accidentellement mais n’avez pas de sauvegardes de fichiers journals supplémentaires, exécutez la commande RESTORE DATABASE demodb sans paramètres supplémentaires. Cette commande 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 SQL Server Management Studio (SSMS) depuis un ordinateur Windows pour vous connecter à une base de données Linux et effectuer une sauvegarde via l’interface utilisateur.

Note

Installez la dernière version de SQL Server Management Studio (SSMS). Pour plus d'informations sur l'utilisation de SSMS, consultez Utiliser SQL Server Management Studio sur Windows pour la gestion de 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 Explorateur d'objets, faites un clic droit sur votre base de données, sélectionnez Tâches, puis sélectionnez Sauvegarder....

  3. Dans la boîte de dialogue Sauvegarde de la base de données, vérifiez les paramètres et 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 droit sur Bases de données et sélectionnez Restaurer les bases 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 ? Si vous le faites, non seulement vous aidez à améliorer notre documentation, mais vous obtenez également un crédit en tant que contributeur à la page.

Pour plus d’informations, consultez Modifier la documentation Microsoft Learn.