Share via


Importar ou exportar um Banco de Dados SQL do Azure sem permitir que os serviços do Azure acessem o servidor

Aplica-se a:Banco de Dados SQL do Azure

Este artigo mostra como importar ou exportar um Banco de Dados SQL do Azure quando `Permitir serviços do Azure é definido como DESATIVADO no servidor. O fluxo de trabalho usa uma máquina virtual do Azure para executar o SqlPackage a fim de executar a operação de importação ou exportação.

Entre no Portal do Azure

Entre no portal do Azure.

Criar uma máquina virtual do Azure

Crie uma máquina virtual do Azure selecionando o botão Implantar no Azure.

Este modelo permite a implantação de uma máquina virtual simples do Windows usando algumas opções diferentes para a versão do Windows, usando a versão mais recente com patches. Isso implantará uma VM de tamanho A2 no local do grupo de recursos e retornará o nome de domínio totalmente qualificado da VM.

Image showing a button labeled

Para obter mais informações, consulte Implantação muito simples de uma VM do Windows.

Conectar-se à máquina virtual

As etapas a seguir mostram como se conectar à máquina virtual usando uma conexão remota de desktop.

  1. Após a conclusão da implantação, vá para o recurso da máquina virtual.

    Screenshot shows a virtual machine Overview page with a Connect button.

  2. Selecione Conectar.

    Um formulário de Protocolo RDP (arquivo .rdp) é exibido com o IP endereço IP público e o número da porta para a máquina virtual.

    Screenshot of Azure portal, connect to VM, with download RDP highlighted.

  3. Selecione Baixar Arquivo RDP.

    Observação

    Você também pode usa SSH para se conectar à VM.

  4. Feche o formulário Conectar-se à máquina virtual.

  5. Para se conectar à sua VM, abra o arquivo RDP baixado.

  6. Quando solicitado, selecione Conectar. Em um Mac, você precisa de um cliente RDP, como este Cliente de Área de Trabalho Remota da Mac App Store.

  7. Insira o nome de usuário e a senha especificados na criação da máquina virtual e escolha OK.

  8. Você pode receber um aviso de certificado durante o processo de entrada. Escolha Sim ou Continuar para prosseguir com a conexão.

Instalar SqlPackage

Baixe e instale a versão mais recente do SqlPackage.

Para obter mais informações, confira SqlPackage.

Criar uma regra de firewall para permitir que a VM acesse o banco de dados

Adicione o IP da máquina virtual ao firewall do servidor.

As etapas a seguir criam uma regra de firewall de IP no nível de servidor para o IP da máquina virtual e habilita a conectividade na máquina virtual.

  1. Selecione bancos de dados SQL no menu à esquerda e, em seguida, selecione seu banco de dados na página bancos de dados SQL. A página de visão geral do seu banco de dados é aberta, mostrando o nome do servidor totalmente qualificado (como servername.database.windows.net) e fornece opções para configurações adicionais.

  2. Copie esse nome do servidor totalmente qualificado para usar quando se conectar ao servidor e seus bancos de dados.

    Screenshot of the Azure portal, database overview page, with the server name highlighted.

  3. Selecione Definir firewall do servidor na barra de ferramentas. A página Configurações do firewall do servidor será aberta.

    Screenshot of the Azure portal, showing the firewall page, with server-level IP firewall rule highlighted.

  4. Escolha Adicionar IP do cliente na barra de ferramentas para adicionar seu IP da máquina virtual a uma nova regra de firewall de IP no nível do servidor. Uma regra de firewall de IP no nível do servidor pode abrir a porta 1433 para um único endereço IP ou um intervalo de endereços IP.

  5. Selecione Salvar. Uma regra de firewall de IP no nível do servidor é criada para o IP da sua máquina virtual abrindo a porta 1433 no servidor.

  6. Feche a página Configurações do Firewall.

Exportar um banco de dados usando o SqlPackage

Para exportar um Banco de Dados SQL do Azure usando o utilitário de linha de comando SqlPackage, consulte Exportar parâmetros e propriedades. O utilitário SqlPackage acompanha as versões mais recentes do SQL Server Management Studio e do SQL Server Data Tools ou é possível baixar a última versão mais recente do SqlPackage.

Recomendamos o uso do utilitário SqlPackage para escala e desempenho na maioria dos ambientes de produção. Para ler uma postagem de blog da Equipe de Consultoria ao Cliente do SQL Server sobre a migração usando arquivos BACPAC, confira Migrando do SQL Server para o Banco de Dados SQL do Azure usando arquivos BACPAC.

Este exemplo mostra como exportar um banco de dados usando o SqlPackage com a Autenticação Universal do Active Directory. Substitua por valores específicos do seu ambiente.

SqlPackage /a:Export /tf:testExport.bacpac /scs:"Data Source=<servername>.database.windows.net;Initial Catalog=MyDB;" /ua:True /tid:"apptest.onmicrosoft.com"

Importar um banco de dados usando o SqlPackage

Para importar um Banco de Dados do SQL Server usando o utilitário de linha de comando SqlPackage, confira Importar parâmetros e propriedades. O SqlPackage tem as versões mais recentes do SQL Server Management Studio e do SQL Server Data Tools. Também é possível baixar a versão mais recente do SqlPackage.

Para escala e desempenho, recomendamos usar o SqlPackage na maioria dos ambientes de produção em vez de usar no portal do Azure. Para ler uma postagem de blog da Equipe de Consultoria ao Cliente do SQL Server sobre a migração usando arquivos BACPAC, confira Migrando do SQL Server para o Banco de Dados SQL do Azure usando arquivos BACPAC.

O comando SqlPackage a seguir importa o banco de dados AdventureWorks2022 do armazenamento local para um Banco de Dados SQL do Azure. Ele cria um banco de dados chamado myMigratedDatabase com uma camada de serviço Premium e um objetivo de serviço P6. Altere esses valores conforme apropriado para o seu ambiente.

SqlPackage /a:import /tcs:"Data Source=<serverName>.database.windows.net;Initial Catalog=myMigratedDatabase>;User Id=<userId>;Password=<password>" /sf:AdventureWorks2022.bacpac /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P6

Importante

Para se conectar ao Banco de Dados SQL do Azure por trás de um firewall corporativo, o firewall precisa estar com a porta 1433 aberta.

Este exemplo mostra como importar um banco de dados usando o SqlPackage com a Autenticação Universal do Active Directory.

SqlPackage /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"

Considerações sobre o desempenho

As velocidades de exportação variam devido a muitos fatores (por exemplo, formato de dados) e, portanto, é impossível prever qual velocidade deve ser esperada. O SqlPackage pode levar um tempo considerável, especialmente para bancos de dados grandes.

Para obter o melhor desempenho, é possível experimentar as seguintes estratégias:

  1. Verifique se nenhuma outra carga de trabalho está em execução no banco de dados. Para garantir que não haja outras cargas de trabalho em execução, a melhor solução pode ser criar uma cópia antes da exportação.
  2. Aumente o objetivo de nível de serviço (SLO) do banco de dados para lidar melhor com a carga de trabalho de exportação (principalmente a leitura de E/S). Se o banco de dados for GP_Gen5_4, talvez uma camada Comercialmente Crítica ajudará com a carga de trabalho de leitura.
  3. Certifique-se de que haja índices clusterizados, especialmente para tabelas grandes.
  4. As máquinas virtuais (VMs) devem estar na mesma região que o banco de dados para ajudar a evitar restrições de rede.
  5. As VMs devem ter SSD com tamanho adequado para gerar artefatos temporários antes de carregar no armazenamento de blobs.
  6. As VMs devem ter configuração de núcleo e memória adequadas para o banco de dados específico.

Armazenar o arquivo .BACPAC importado ou exportado

O arquivo .BACPAC pode ser armazenado em Blobs do Azureou em Arquivos do Azure.

Para obter o melhor desempenho, use Arquivos do Azure. O SqlPackage opera com o sistema de arquivos para que possa acessar Arquivos do Azure diretamente.

Para reduzir o custo, use Blobs do Azure, que custam menos que um compartilhamento de arquivos premium do Azure. No entanto, ele exigirá que você copie o arquivo .BACPAC entre o blob e o sistema de arquivos local antes da operação de importação ou exportação. Como resultado, o processo levará mais tempo.

Para carregar ou baixar os arquivos .BACPAC, consulte Transferir dados com o AzCopye o armazenamento de blobs e Transferir dados com o AzCopy e o armazenamento de arquivos.

Dependendo do seu ambiente, talvez seja necessário Configurar redes virtuais e firewalls do Armazenamento do Azure.

Próximas etapas