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 está definido como DESATIVADO no servidor. O fluxo de trabalho usa uma máquina virtual do Azure para executar SqlPackage para executar a operação de importação ou exportação.

Inicie sessão no portal do Azure

Inicie sessão no portal do 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 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.

Ligar à 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 implementação, vá para o recurso de máquina virtual.

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

  2. Selecione Ligar.

    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.

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

  3. Selecione Transferir Ficheiro RDP.

    Nota

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

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

  5. Para ligar à sua VM, abra o ficheiro RDP transferido.

  6. Quando solicitado, selecione Conectar. Num Mac, precisa de um cliente RDP como este Cliente de Ambiente de Trabalho Remoto a partir da Mac App Store.

  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 informações adicionais, consulte SqlPackage.

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

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 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 banco de dados é aberta, mostrando o nome do servidor totalmente qualificado (como servername.database.windows.net) e fornece opções para configuração adicional.

  2. Copie esse nome de servidor totalmente qualificado para usar ao se conectar ao seu 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 para o servidor é 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 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 no nível do servidor é criada para o endereço IP público da máquina virtual que abre a porta 1433 no servidor.

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

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.

Recomendamos o uso do utilitário SqlPackage para dimensionamento e desempenho na maioria dos ambientes de produção. Para saber mais sobre a migração com ficheiros BACPAC num blogue da Equipa de Aconselhamento ao Cliente do SQL Server, consulte Migrating from SQL Server to Azure SQL Database using BACPAC Files (Migrar a partir do SQL Server para a Base de Dados SQL do Azure com Ficheiros 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 obter um blog da Equipe de Consultoria ao Cliente do SQL Server sobre como migrar usando arquivos, consulte Migrando do SQL Server para o Banco de Dados SQL do Azure usando BACPAC 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 tAzure 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 de 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, você pode tentar as seguintes estratégias:

  1. Confirme que nenhuma outra carga de trabalho está em execução na base 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 estiver GP_Gen5_4 no momento, talvez uma camada Crítica para os Negócios ajude na carga de trabalho de leitura.
  3. Confirme que existem índices em cluster, particularmente 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 serem carregadas para o armazenamento de blobs.
  6. As VMs devem ter configuração de núcleo e memória adequada para o banco de dados específico.

Armazene o importado ou exportado. Arquivo BACPAC

O . 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, será necessário copiar 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 descarregar . 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.

Próximos passos