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.exe 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 SQL Server Management Studio (SSMS) come descritto in Usare SSMS in Windows per connettersi a SQL Server in Linux

Nota

Se si esegue la migrazione di un database da un'istanza di SQL Server a un'altra, usare Backup e 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 of 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.

    Screenshot of SQL Server Management Studio again.

  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.exe.

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>