Share via


Exporter et importer une base de données sur Linux avec SSMS ou SqlPackage.exe sur Windows

S’applique à :SQL Server - Linux

Cet article explique comment utiliser SQL Server Management Studio (SSMS) et SqlPackage.exe pour exporter et importer une base de données sur SQL Server sur Linux. SSMS et SqlPackage.exe sont des applications Windows. Utilisez donc cette technique quand vous disposez d’une machine Windows capable de se connecter à une instance distante sur Linux.

Vous devez toujours installer et utiliser la version la plus récente de SQL Server Management Studio (SSMS), comme décrit dans Utiliser SSMS sur Windows pour se connecter à SQL Server sur Linux.

Remarque

Si vous migrez une base de données d’une instance SQL Server vers une autre, il est recommandé d’utiliser Sauvegarder et restaurer.

Exporter une base de données avec SSMS

  1. Démarrez SSMS en tapant Microsoft SQL Server Management Studio dans la zone de recherche Windows, puis sélectionnez l’application de bureau.

    Screenshot of SQL Server Management Studio.

  2. Connectez-vous à votre base de données source dans l’Explorateur d’objets. La base de données source peut se trouver dans Microsoft SQL Server en local ou dans le cloud, sur Linux, Windows ou Docker, ainsi que dans Azure SQL Database ou Azure Synapse Analytics.

  3. Cliquez avec le bouton de droite sur la base de données source dans l'Explorateur d’objets, pointez sur Tâches, puis cliquez sur Exporter une application de la couche Données...

  4. Dans l’Assistant exportation, sélectionnez Suivant, puis dans l'onglet Paramètres, configurez l’exportation pour enregistrer le fichier BACPAC dans un emplacement de disque local ou dans un blob Azure.

  5. Par défaut, tous les objets de la base de données sont exportés. Sélectionnez l’onglet Avancé et sélectionnez les objets de base de données que vous souhaitez exporter.

  6. Sélectionnez Suivant, puis Terminer.

Le fichier .bacpac a été créé avec succès à l’emplacement que vous avez choisi et vous êtes prêt à l’importer dans une base de données cible.

Importer une base de données avec SSMS

  1. Démarrez SSMS en tapant Microsoft SQL Server Management Studio dans la zone de recherche Windows, puis sélectionnez l’application de bureau.

    Screenshot of SQL Server Management Studio again.

  2. Connectez-vous à votre serveur cible dans l’Explorateur d’objets. La serveur cible peut être Microsoft SQL Server en local ou dans le cloud, sur Linux, Windows ou Docker, ainsi qu’Azure SQL Database ou Azure Synapse Analytics.

  3. Cliquez avec le bouton de droite sur le dossier Bases de données dans l'Explorateur d’objets, puis cliquez sur Importer l’application de la couche Données...

  4. Pour créer la base de données sur votre serveur cible, spécifiez un fichier BACPAC à partir de votre disque local ou sélectionnez le compte de stockage Azure et le conteneur dans lequel vous avez téléchargé votre fichier BACPAC.

  5. Fournissez le nouveau nom de base de données pour la base de données. Si vous importez une base de données sur Azure SQL Database, définissez l’édition de Microsoft Azure SQL Database (niveau de service), la taille maximale de la base de données et l’objectif du service (niveau de performance).

  6. Sélectionnez Suivant, puis Terminer pour importer le fichier BACPAC dans une nouvelle base de données sur votre serveur cible.

Le fichier .bacpac est importé pour créer une nouvelle base de données dans le serveur cible que vous avez spécifié.

Option de ligne de commande SqlPackage

Il est également possible d’utiliser l’outil en ligne de commande SQL Server Data Tools (SSDT), SqlPackage.exe, pour exporter et importer des fichiers BACPAC.

L’exemple de commande suivant exporte un fichier BACPAC :

SqlPackage.exe /a:Export /ssn:tcp:<your_server> /sdn:<your_database> /su:<username> /sp:<password> /tf:<path_to_bacpac>

Utilisez la commande suivante pour importer le schéma de base de données et les données utilisateur à partir d’un fichier .bacpac :

SqlPackage.exe /a:Import /tsn:tcp:<your_server> /tdn:<your_database> /tu:<username> /tp:<password> /sf:<path_to_bacpac>