Partilhar 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 estiver definido como DESATIVADO. O artigo de instruções usa uma máquina virtual do Azure para executar SqlPackage para executar a operação de importação ou exportação.

A configuração Permitir que os serviços e recursos do Azure acessem esse servidor está visível no portal do Azure no menu Segurança no menu de recursos, Rede, na seção Exceções . Para obter mais informações sobre essa configuração, consulte Banco de Dados SQL do Azure e Controles de acesso à rede do Azure Synapse Analytics.

Entre no portal do Azure

Inicie sessão no portal Azure.

Criar a máquina virtual do Azure

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

Este modelo permite implantar uma máquina virtual simples do Windows usando algumas opções diferentes para a versão do Windows, usando a versão corrigida mais recente. 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

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 à sua máquina virtual usando uma conexão de área de trabalho remota.

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

  2. Selecione Conectar.

    Um formulário de arquivo de Protocolo de Área de Trabalho Remota (arquivo .rdp) aparece com o endereço IP público e o número da porta da máquina virtual.

    Captura de ecrã do portal do Azure, ligar à máquina virtual, com a opção de download do RDP destacada.

    Observação

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

  3. Selecione Baixar arquivo RDP.

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

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

  6. Quando solicitado, selecione Conectar.

  7. Digite o nome de usuário e a senha especificados ao criar a máquina virtual e escolha OK.

  8. Poderá receber um aviso de certificado durante o processo de início de sessão. 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 IP no nível do 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 banco de dados é aberta, mostrando o nome do servidor totalmente qualificado (por exemplo: sql-svr.database.windows.net) e fornece opções para configuração adicional.

    Captura de ecrã do portal do Azure, página de descrição geral da base de dados, com o nome do servidor realçado.

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

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

  4. Na página Rede , na guia Acesso público , na seção Configurações do firewall , selecione Adicionar o endereço IPv4 do cliente. Isso adiciona o endereço IP público da máquina virtual a uma nova regra de firewall IP no nível do servidor. Uma regra de firewall 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 Guardar. Uma regra de firewall IP ao nível do servidor é criada para o endereço IP público da sua máquina virtual, permitindo a abertura da porta 1433 no servidor.

Exportar um banco de dados usando 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 é fornecido com as versões mais recentes do SQL Server Management Studio e do SQL Server Data Tools, ou você pode baixar a versão mais recente do SqlPackage.

Para obter mais informações e etapas para criar um arquivo BACPAC, consulte Exportar para um arquivo BACPAC.

Recomendamos o uso do utilitário SqlPackage para dimensionamento e desempenho na maioria dos ambientes de produção. Para obter um blog da Equipe de Consultoria ao Cliente do SQL Server sobre como migrar usando arquivos BACPAC, consulte 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 SqlPackage com Autenticação Universal do Ative 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 SqlPackage

Para importar um banco de dados do SQL Server usando o utilitário de linha de comando SqlPackage , consulte Importar parâmetros e propriedades. O SqlPackage tem o SQL Server Management Studio e o SQL Server Data Tools mais recentes. Você também pode baixar a versão mais recente do SqlPackage.

Para dimensionamento e desempenho, recomendamos usar SqlPackage na maioria dos ambientes de produção em vez de usar o portal do Azure. Para consultar um artigo do blog da Equipe de Consultoria para Clientes do SQL Server sobre a migração usando BACPAC arquivos, veja Migrando do SQL Server para o Banco de Dados SQL do Azure usando Arquivos BACPAC.

O comando SqlPackage a seguir importa o AdventureWorks2022 banco de dados do armazenamento local para um Banco de Dados SQL do Azure. Ele cria um novo 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 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 deve ter a porta 1433 aberta.

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

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

Considerações sobre desempenho

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

Para obter o melhor desempenho, tente 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 SLO (Service Level Objetive, objetivo de nível de serviço) do banco de dados para lidar melhor com a carga de trabalho de exportação (principalmente E/S de leitura). Se o banco de dados atualmente for GP_Gen5_4, talvez uma camada Business Critical ajude na carga de trabalho de leitura.
  3. Certifique-se de que existem índices agrupados, 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 máquinas virtuais devem ter SSD com tamanho adequado para gerar artefatos temporários antes de serem carregados para o armazenamento de blob.
  6. As VMs devem ter configuração de núcleo e memória adequada para o banco de dados específico.

Armazene 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 os Arquivos do Azure. O SqlPackage opera com o sistema de arquivos para que ele possa acessar os Arquivos do Azure diretamente.

Para reduzir custos, use os Blobs do Azure, que custam menos do que um compartilhamento de arquivos premium do Azure. No entanto, ele requer 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 leva mais tempo.

Para carregar ou baixar arquivos BACPAC, consulte Transferir dados com armazenamento AzCopy e Blob e Transferir dados com AzCopy e armazenamento de arquivos.

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