Nesta página, discutimos os seguintes métodos:
O método de migração ideal é influenciado pelo tempo de inatividade aceitável para um banco de dados específico e pelo tamanho dele. A técnica mais usada é o método de backup e restauração.
As seções a seguir explicam como migrar um banco de dados do SQL Server de um servidor baseado em Windows para um baseado em Linux.
Importar um banco de dados SQL para o Linux
Nesta seção, explicamos como exportar um banco de dados SQL de um SQL Server baseado em Windows e importá-lo para um SQL Server baseado em Linux usando o SQL Server Management Studio (SSMS).
Pré-requisitos
Para importar um banco de dados SQL para o Linux, você precisa do seguinte:
Máquina Windows com o seguinte:
- O SQL Server está instalado.
- O SSMS está instalado.
- O banco de dados SQL que você quer migrar está presente nesta máquina. Este tutorial usa um banco de dados de amostra AdventureWorks2022.
Máquina Linux com o SQL Server instalado.
Exportar um banco de dados SQL de um SQL Server baseado no Windows
Para exportar um banco de dados SQL de um SQL Server baseado no Windows, siga estas etapas:
- Na máquina Windows, crie uma pasta na unidade C: e nomeie
como
export
(c:\export
). - Abra o SSMS.
- Na janela "Conexão", digite "localhost" e clique em Conectar.
- No Pesquisador de Objetos, expanda Bancos de Dados.
Clique com o botão direito do mouse no banco de dados de destino, selecione Tarefas e clique em Exportar aplicativo de camada de dados.... O assistente "Exportar dados" é aberto.
No assistente "Exportar dados", selecione Próxima.
Na guia "Configurações", configure o assistente "Exportar dados" para salvar o arquivo de pacote de backup (BACPAC) (.bacpac) no disco local.
Especifique a pasta e o nome do arquivo, da seguinte forma:
c:\export\MigrationFile.bacpac
Clique em Próxima.
Revise as configurações especificadas e clique em Concluir para iniciar o processo de exportação. O arquivo .bacpac é criado com sucesso no local escolhido. Agora é possível importar para um SQL Server de destino.
Importar um banco de dados para um Linux
Para importar um banco de dados SQL para um SQL Server baseado em Linux, siga estas etapas:
- Abra o SSMS.
- Na janela "Conexão", insira o endereço IP do servidor de destino e clique em Conectar.
- Clique com o botão direito do mouse na pasta Bancos de dados no Pesquisador de Objetos e selecione Importar aplicativo de camada de dados....
Especifique o arquivo .bacpac criado no procedimento de exportação.
c:\export\MigrationFile.bacpac
Clique em Próxima.
Especifique AdventureWorks2022.
AdventureWorks2022
Verifique se o caminho dos dados e do registro mostra as configurações padrão da instância do Linux.
Clique em Próxima.
Revise as configurações de importação e clique em Concluir para iniciar a importação.
Clique em Fechar para fechar o assistente de importação. O banco de dados está pronto para conexões.
Migrar usando backup e restauração do SQL
É possível migrar um banco de dados do SQL Server no Windows para o SQL Server no Linux usando o recurso de backup e restauração. Esta seção fornece um guia detalhado para ajudar você a transferir seu banco de dados para o ambiente Linux usando esse método.
Pré-requisitos
Para migrar um banco de dados usando o método de backup e restauração, você precisa do seguinte:
Máquina Windows com o seguinte:
- O SQL Server está instalado.
- O SQL Server Management Studio (SSMS) instalado.
- Banco de dados a ser migrado. Este documento usa o banco de dados AdventureWorks2022.
Uma máquina Linux com o SQL Server instalado.
Fazer backup do banco de dados na máquina Windows
É possível fazer backup de um banco de dados em um arquivo com o Windows usando o SSMS da seguinte maneira:
- Abra o SSMS na máquina Windows.
- Na janela "Conexão", digite localhost.
- No Pesquisador de Objetos, expanda Bancos de Dados.
Clique com o botão direito do mouse no banco de dados de destino, selecione Tarefas e clique em Fazer backup....
Na janela "Fazer backup do banco de dados", verifique se o Tipo de backup está definido como Completo e se Fazer backup em está definido como Disco. Anote o nome e o local do arquivo de backup. Por exemplo, um backup de banco de dados no SQL Server 2022 tem um local padrão de C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup.
Clique em OK para iniciar o backup.
Copie o arquivo de backup para sua máquina Linux
Você pode usar um cliente do protocolo de cópia segura (SCP) para fazer upload do arquivo de backup na máquina Linux. O procedimento a seguir usa um cliente de linha de comando SCP. No entanto, também é possível usar o WinSCP ou o Git Bash Shell para fazer upload do arquivo.
Abra um novo prompt de comando na sua máquina Windows e navegue até o diretório que contém o arquivo de backup criado na seção Fazer backup do banco de dados na sua máquina Windows. Exemplo:
cd 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup\'
Use o comando
scp
para copiar o arquivo para a máquina Linux de destino. O exemplo a seguir usa o arquivoMigrationBackup.bak
criado anteriormente.scp MigrationBackup.bak sysadmin@
LINUX_INTERNAL_IP
:./Substitua LINUX_INTERNAL_IP pelo IP da sua máquina Linux.
Mover arquivo de backup
Para restaurar o banco de dados no SQL Server em uma máquina Linux, verifique se o arquivo de backup está no local padrão pertencente ao usuário mssql
, ou seja, /var/opt/mssql
.
Para mover o arquivo de backup para o diretório mssql
, siga estas etapas:
Na máquina Windows, conecte-se à máquina Linux de destino usando SSH.
ssh sysadmin@
LINUX_INTERNAL_IP
Substitua LINUX_INTERNAL_IP pelo IP da sua máquina Linux.
Crie um diretório de backup.
sudo mkdir -p /var/opt/mssql/backup
Mova o arquivo de backup para o diretório recém-criado.
sudo mv ~/MigrationBackup.bak /var/opt/mssql/backup
Restaurar o banco de dados
É possível restaurar o banco de dados em uma máquina Linux usando o SSMS com as seguintes etapas:
- Abra o SSMS na sua máquina Windows.
- Na janela "Conexão", insira o endereço IP ou o nome do host da máquina Linux.
- Especifique as informações de login e a senha.
Clique em Conectar.
No Pesquisador de Objetos, clique com o botão direito do mouse na pasta Bancos de Dados e selecione Restaurar Banco de Dados...
Na janela "Restaurar banco de dados", defina Origem como Dispositivo e clique em ... para abrir a caixa de diálogo de seleção de backup.
Na caixa de diálogo "Selecionar dispositivo de backup", clique em Adicionar.
No navegador de arquivos, clique no diretório \var\opt\mssql\backup e selecione o arquivo de backup enviado.
Clique em OK para aceitar a seleção e fechar a caixa de diálogo.
Revise a mídia de backup preenchida e clique em OK.
Antes de começar a restaurar seu banco de dados em uma máquina Linux, atualize o local dos arquivos restaurados na máquina Linux, porque o caminho do servidor Windows não existe no servidor Linux.
- No menu à esquerda, clique em Arquivos.
- Selecione Realocar todos os arquivos para a pasta para mover os arquivos restaurados para o diretório de dados padrão do SQL Server.
- Clique em OK para iniciar o processo de restauração.
Verifique a restauração listando todos os bancos de dados no servidor. O banco de dados restaurado vai aparecer na lista.
SELECT Name FROM sys.Databases GO
Execute outras consultas no banco de dados migrado.
USE AdventureWorks2022 SELECT top 100 * FROM [Person].[Person] GO