Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Quando você usa o serviço de importação/exportação, o processo pode levar mais tempo do que o esperado. Este artigo descreve as causas potenciais para esse atraso e métodos alternativos de solução alternativa.
Serviço de Importação/Exportação da Base de Dados SQL do Azure
O serviço de Importação/Exportação do Banco de Dados SQL do Azure é um serviço Web baseado em REST que é executado em todos os data centers do Azure. Esse serviço é chamado quando você usa a opção Importar ou Exportar um banco de dados para mover seu banco de dados no portal do Azure. O serviço fornece enfileiramento de solicitações gratuito e serviços de computação para executar importações e exportações entre o Banco de Dados SQL do Azure e o armazenamento de Blob do Azure.
As operações de importação e exportação não representam um backup de banco de dados físico tradicional, mas sim um backup lógico do banco de dados que usa um formato BACPAC especial. O formato BACPAC permite que você evite ter que usar um formato físico que pode variar entre versões do Microsoft SQL Server, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure.
O que causa atrasos no processo?
O serviço de Importação/Exportação do Banco de Dados SQL do Azure fornece um número limitado de máquinas virtuais (VMs) de computação por região para processar operações de importação e exportação. As VMs de computação são hospedadas por região para garantir que a importação ou exportação evite atrasos e cobranças de largura de banda entre regiões. Se forem feitas demasiadas solicitações ao mesmo tempo na mesma região, podem ocorrer atrasos significativos no processamento das operações. O tempo necessário para concluir as solicitações pode variar de alguns segundos a muitas horas.
Além disso, como o serviço de importação/exportação executa um backup lógico do banco de dados, o tempo para concluir depende mais do número de objetos no banco de dados do que um backup de banco de dados físico tradicional.
Observação
Depois que os recursos são atribuídos e uma solicitação começa a ser processada, o serviço cancela automaticamente a solicitação após dois dias.
Soluções recomendadas
Se suas exportações de banco de dados forem usadas apenas para recuperação de exclusão acidental de dados, todas as edições do Banco de Dados SQL do Azure fornecerão recursos de restauração de autoatendimento a partir de backups gerados pelo sistema. Mas se você precisar dessas exportações por outros motivos, e se precisar de um desempenho de importação/exportação consistentemente mais rápido ou previsível, considere as seguintes opções:
- Exporte para um arquivo BACPAC usando o utilitário SQLPackage.
- Exporte para um ficheiro BACPAC usando Visual Studio Code.
- Exporte para um arquivo BACPAC usando o SQL Server Management Studio (SSMS).
- Execute a importação ou exportação do BACPAC diretamente em seu código usando a API do Microsoft SQL Server Data-Tier Application Framework (DacFx). Para mais informações, consulte:
Coisas a considerar ao exportar ou importar um banco de dados
- Todos os métodos discutidos neste artigo consomem DTUs (Unidades de Transação de Base de Dados) ou cota de CPU, o que leva a uma restrição de desempenho pelo serviço de Base de Dados SQL do Azure. Você pode exibir as estatísticas de DTU para o banco de dados no portal do Azure. Se o banco de dados tiver atingido seus limites de recursos, atualize a camada de serviço para adicionar mais recursos.
- Idealmente, você deve executar aplicativos cliente (como o utilitário sqlpackage ou seu aplicativo DAC personalizado) a partir de uma VM na mesma região do banco de dados. Caso contrário, você pode enfrentar problemas de desempenho relacionados à latência da rede.
- A exportação de tabelas grandes sem índices clusterizados pode ser muito lenta ou até mesmo causar falhas. Esse comportamento ocorre porque a tabela não pode ser dividida e exportada em paralelo. Em vez disso, deve ser exportado numa única transação, o que causa um desempenho lento e uma potencial falha durante a exportação, especialmente para tabelas grandes.