Exportar e importar uma base de dados em Linux com SSMS ou SqlPackage

Aplica-se a:SQL Server em Linux

Este artigo mostra como usar o SQL Server Management Studio (SSMS) ou o SqlPackage para exportar e importar uma base de dados no SQL Server em Linux. O SSMS é uma aplicação para Windows. SqlPackage corre no Windows, macOS e Linux. Para usar SSMS, precisas de uma máquina Windows que se ligue a uma instância remota do SQL Server no Linux.

Você sempre deve instalar e usar a versão mais recente do SSMS, conforme descrito em Usar SQL Server Management Studio no Windows para gerenciar o SQL Server no Linux.

Para informações sobre a migração de uma base de dados de uma instância SQL Server para outra, veja Migrar uma base de dados SQL Server de Windows para Linux usando backup e restauro.

Exportar um banco de dados com o SSMS

  1. Inicie o SSMS escrevendo Microsoft SQL Server Management Studio na caixa de pesquisa Windows e depois selecione a aplicação de ambiente de trabalho.

    Captura de ecrã do ícone da aplicação SQL Server Management Studio nos resultados de pesquisa Windows.

  2. Liga-te à tua base de dados de origem no Object Explorer. A base de dados de origem pode ser alojada no Microsoft SQL Server a correr em Linux, Windows ou num contentor Docker, seja on-premises ou na cloud. Pode também estar no Base de Dados SQL do Azure ou no Azure Synapse Analytics.

  3. Clique com o botão direito na base de dados de origem no Object Explorer, aponte para Tarefas e selecione Exportar Aplicação em Nível de Dados...

  4. No assistente de exportação, selecione Next e, depois, no separador Settings, configure a exportação para guardar o ficheiro BACPAC numa localização local do disco ou num blob Azure.

  5. Por padrão, todos os objetos no banco de dados são exportados. Selecione o separador Avançado e escolha os objetos da base de dados que pretende exportar.

  6. Selecione Avançar e, em seguida, selecione Concluir.

O arquivo .bacpac é criado com êxito no local escolhido e você está pronto para importá-lo para um banco de dados de destino.

Importar um banco de dados com o SSMS

  1. Inicie o SSMS escrevendo Microsoft SQL Server Management Studio na caixa de pesquisa Windows e depois selecione a aplicação de ambiente de trabalho.

    Captura de ecrã do ícone da aplicação SQL Server Management Studio nos resultados de pesquisa Windows.

  2. Liga-te ao teu servidor de destino no Object Explorer. O objetivo pode ser o Microsoft SQL Server a correr em Linux, Windows ou num contentor Docker, seja on-premises ou na cloud. Também pode ser Base de Dados SQL do Azure ou Azure Synapse Analytics.

  3. Clique com o botão direito na pasta Databases na Object Explorer e selecione Importar Data tier Application...

  4. Para criar o banco de dados em seu servidor de destino, especifique um arquivo BACPAC do disco local ou selecione a conta de armazenamento do Azure e o contêiner para o qual você carregou seu arquivo BACPAC.

  5. Forneça o novo nome do banco de dados para o banco de dados. Se estiver a importar uma base de dados no Base de Dados SQL do Azure, defina a Edição do Microsoft Base de Dados SQL do Azure (nível de serviço), o Tamanho máximo da base de dados e o Objetivo de Serviço (nível de desempenho).

  6. Selecione Próximo e, em seguida, selecione Concluir para importar o arquivo BACPAC para um novo banco de dados no servidor de destino.

O arquivo .bacpac é importado para criar um novo banco de dados no servidor de destino especificado.

Utilitário de linha de comando SqlPackage

Também pode usar a utilidade de linha de comandos SqlPackage para exportar e importar ficheiros BACPAC.

O comando de exemplo a seguir exporta um arquivo BACPAC:

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

Use o seguinte comando para importar o esquema do banco de dados e os dados do usuário de um arquivo .bacpac:

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