Compartilhar 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 que os serviços e recursos do Azure acessem este servidor está definido como DESATIVADO. O artigo de instruções usa uma máquina virtual do Azure para executar o SqlPackage a fim de realizar a operação de importação ou exportação.

A configuração Permitir que os serviços e recursos do Azure acessem este servidor pode ser encontrada no portal do Azure em: Exceções > Sistema de rede > Segurança. Para obter mais informações sobre essa configuração, consulte Controles de acesso à rede do Banco de Dados SQL do Azure.

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 implanta uma VM de tamanho A2 no local do grupo de recursos e retorna o nome de domínio totalmente qualificado da VM.

Imagem mostrando um botão rotulado como

Para obter mais informações, incluindo um modelo de início rápido do Azure, consulte Implantar uma VM simples 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.

  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.

    Captura de tela do portal do Azure mostrando a conexão à VM com a opção download RDP realçada.

    Observação

    Há múltiplas maneiras de se conectar a uma VM. Este tutorial usa o protocolo de área de trabalho remota (RDP) para se conectar à VM, mas uma solução mais recente para usar o Azure Bastion é uma alternativa que funcionaria bem, se você tiver implantado o Bastion em seu ambiente. Você também pode usar o SSH para se conectar à sua VM.

  3. Selecione Baixar Arquivo RDP.

  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.

  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, consulte SqlPackage.

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

Primeiro, adicione o endereço IP público da máquina virtual ao firewall do servidor. As etapas a seguir criam uma regra de firewall de IP em nível de servidor para o endereço IP público da máquina virtual e habilitam a conectividade da 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 será aberta, mostrando o nome do servidor totalmente qualificado (por exemplo: sql-svr.database.windows.net) e fornecendo opções para configuração adicional.

    Captura de tela do portal do Azure, página de visão geral do banco de dados com o nome do servidor realçado.

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

  3. Selecione Definir firewall do servidor na barra de ferramentas.

  4. Na página Sistema de rede, na guia Acesso público, na seção Configurações de firewall, selecione Adicionar endereço IPv4 do cliente. Isso adiciona o endereço IP público de sua máquina virtual a uma nova regra de firewall de IP em nível de 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.

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.

Para obter mais informações e a etapa de criação de um arquivo BACPAC, consulte Exportar para um arquivo BACPAC.

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 ter 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, principalmente para bancos de dados grandes.

Para obter o melhor desempenho, experimente as seguintes estratégias:

  1. Verifique se nenhuma outra carga de trabalho está em execução no banco de dados. Criar uma cópia antes da exportação pode ser a melhor solução para garantir que nenhuma outra carga de trabalho esteja em execuçã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 Azure ou 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 exige 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 fazer upload ou download de arquivos BACPAC, consulte Transferir dados com o AzCopy e armazenamento de blobs e Transferir dados com o AzCopy e armazenamento de arquivos.

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