Esportare e importare un database in Linux con SSMS o SqlPackage.exe in Windows

Si applica a: SQL Server - Linux

Questo articolo illustra come usare SQL Server Management Studio (SSMS) e SqlPackage per esportare e importare un database in SQL Server in Linux. Poiché SSMS e SqlPackage.exe sono applicazioni Windows, usare questa tecnica se si ha un computer Windows in grado di connettersi a un'istanza di SQL Server in Linux remota.

È consigliabile installare e usare sempre la versione più recente di SSMS come descritto in Usare SQL Server Management Studio in Windows per gestire SQL Server in Linux.

Per maggiori informazioni riguardo la migrazione di un'istanza di SQL Server a un'altra, vedere Migrare un database SQL Server da Windows a Linux utilizzando il backup e il ripristino.

Esportare un database con SSMS

  1. Avviare SSMS digitando Microsoft SQL Server Management Studio nella casella di ricerca di Windows e quindi selezionare l'applicazione desktop.

    Screenshot di SQL Server Management Studio.

  2. Connettersi al database di origine in Esplora oggetti. Il database di origine può trovarsi in Microsoft SQL Server in esecuzione in locale o nel cloud, in Linux, Windows o Docker e nel database SQL di Azure o in Azure Synapse Analytics.

  3. Fare clic con il pulsante destro del mouse su Esplora oggetti, scegliere Tasks e selezionare Esporta l'applicazione livello dati...

  4. Nell'esportazione guidata selezionare Avanti e quindi nella scheda Impostazioni configurare l'esportazione in modo da salvare il file BACPAC in un percorso del disco locale o in un BLOB di Azure.

  5. Per impostazione predefinita, vengono esportati tutti gli oggetti nel database. Selezionare la scheda Avanzate e scegliere gli oggetti di database da esportare.

  6. Seleziona Avanti, quindi Fine.

Il file con estensione .bacpac è stato creato nel percorso scelto. È ora il momento di importarlo in un database di destinazione.

Importare un database con SSMS

  1. Avviare SSMS digitando Microsoft SQL Server Management Studio nella casella di ricerca di Windows e quindi selezionare l'applicazione desktop.

    Ulteriore screenshot di SQL Server Management Studio.

  2. Connettersi al server di destinazione in Esplora oggetti. Il server di destinazione può trovarsi in Microsoft SQL Server in esecuzione in locale o nel cloud, in Linux, Windows o Docker e nel database SQL di Azure o in Azure Synapse Analytics.

  3. Fare clic con il pulsante destro del mouse sulla cartella Database in Esplora oggetti e selezionare Importa applicazione livello dati...

  4. Per creare il database nel server di destinazione, specificare un file BACPAC dal disco locale o selezionare l'account di archiviazione di Azure e il contenitore in cui è stato caricato il file BACPAC.

  5. Specificare un nome per il nuovo database. Se si sta importando un database nel database SQL di Azure, impostare l'edizione del database SQL di Microsoft Azure (livello di servizio), le dimensioni massime del database e l'obiettivo di servizio (livello di prestazioni).

  6. Selezionare Avanti e quindi Fine per importare il file BACPAC in un nuovo database nel server di destinazione.

Il file .bacpac verrà importato per creare un nuovo database nel server di destinazione specificato.

Opzione della riga di comando SqlPackage

Per esportare e importare file BACPAC, è anche possibile usare l’utilità da riga di comando di SQL Server Data Tools (SSDT), SqlPackage.

Il comando di esempio seguente esporta un file BACPAC:

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

Usare il comando seguente per importare lo schema del database e i dati utente da un file con estensione .bacpac:

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