Exportar e importar uma base de dados no Linux com SSMS ou SqlPackage.exe no Windows

Aplica-se a:SQL Server em Linux

Este artigo mostra como usar o SQL Server Management Studio (SSMS) e o SqlPackage para exportar e importar uma base de dados no SQL Server no Linux. SSMS e SqlPackage.exe são aplicativos do Windows, portanto, use essa técnica quando tiver uma máquina Windows que possa se conectar 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. O banco de dados de origem pode estar no Microsoft SQL Server em execução local ou na nuvem, no Linux, Windows ou Docker e no Banco 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 de 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 a guia Avançado e escolha os objetos de banco de dados que deseja 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 servidor de destino pode ser o Microsoft SQL Server em execução no local ou na nuvem, no Linux, Windows ou Docker e o Banco de Dados SQL do Azure ou o 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.

Opção de linha de comando SqlPackage

Também é possível usar a ferramenta de linha de comando SSDT (SQL Server Data Tools), SqlPackage, para exportar e importar arquivos BACPAC.

O comando de exemplo a seguir exporta um arquivo BACPAC:

SqlPackage.exe /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.exe /a:Import /tsn:tcp:<your_server> /tdn:<your_database> /tu:<username> /tp:<password> /sf:<path_to_bacpac>