Partilhar via


Importar ou exportar um Banco de Dados SQL do Azure usando o link privado

Aplica-se a: do Banco de Dados SQL do Azure

Este artigo explica como importar ou exportar um Banco de Dados SQL do Azure usando o Private Link com o portal do Azure ou o Azure PowerShell. Defina Permitir Acesso aos Serviços do Azure como Desativado no servidor lógico SQL do Azure.

Usando o Private Link, você pode executar operações de importação e exportação com segurança sem precisar definir Permitir acesso aos Serviços do Azure como Ativado, o que é necessário para operações de importação e exportação padrão.

Observação

Importar e exportar usando o link privado para o Banco de Dados SQL do Azure está atualmente em visualização.

Pré-requisitos

Antes de usar a importação e exportação com o Private Link, verifique se você tem os seguintes recursos e configurações:

  • Um servidor lógico SQL do Azure com conectividade de ponto de extremidade privado configurado para uma rede virtual
  • Uma conta de Armazenamento do Azure com um contêiner de blob que contém seu arquivo BACPAC (para importação) ou armazena o arquivo BACPAC exportado
  • O servidor lógico SQL do Azure e a conta de armazenamento devem ter pontos de extremidade privados configurados nas mesmas redes virtuais ou redes virtuais emparelhadas.
  • Permissões adequadas para aprovar conexões de endpoints privados no servidor lógico SQL do Azure e na conta de Armazenamento

O link privado de importação/exportação de banco de dados é um ponto de extremidade privado gerenciado por serviço criado pela Microsoft. Quando você habilita a opção Usar link privado durante a importação ou exportação, o serviço cria automaticamente pontos de extremidade privados para facilitar a comunicação segura entre o processo de importação/exportação de banco de dados, seu banco de dados SQL do Azure e o serviço de Armazenamento do Azure.

Esses pontos de extremidade privados gerenciados por serviço são criados na mesma rede virtual e sub-rede onde seu ponto de extremidade privado do servidor lógico SQL existente do Azure está localizado. Os dispositivos finais recebem endereços IP privados da faixa de endereços dessa sub-rede e deve ser aprovado manualmente antes que a operação de importação e exportação possa prosseguir.

Importante

Se o seu servidor lógico SQL do Azure ou conta de Armazenamento já tiver pontos de extremidade privados configurados, o serviço de importação/exportação criará pontos de extremidade privados gerenciados por serviço adicionais especificamente para a operação de importação/exportação. Esses pontos de extremidade privados são separados dos seus pontos de extremidade privados existentes e exigem aprovação separada.

Você deve aprovar manualmente o endpoint privado tanto para o servidor lógico SQL do Azure como para a conta de armazenamento Blob do Azure em passos distintos. Este tutorial inclui os detalhes.

Diagrama da arquitetura de link privado Import Export.

Você pode configurar o Link Privado de Importação/Exportação por meio do portal do Azure, PowerShell ou API REST.

Observação

O serviço cria automaticamente pontos de extremidade privados na mesma rede virtual e sub-rede que o ponto de extremidade privado existente do servidor lógico SQL do Azure. Não é necessário especificar manualmente a rede virtual ou a sub-rede durante o processo de importação/exportação. Se o seu servidor SQL não tiver um ponto de extremidade privado configurado, você deverá configurar um antes de usar a importação/exportação com o Private Link.

Você precisa habilitar e aprovar o link privado de importação. O Azure cria automaticamente o link privado.

  1. Vá para a página Visão geral do servidor lógico SQL do Azure para onde você deseja importar o banco de dados. Selecione Importar banco de dados na barra de ferramentas.

  2. Na página Importar banco de dados, marque a caixa de seleção de opção Usar link privado.

  3. Insira a conta de armazenamento, credenciais de autenticação, detalhes do banco de dados e selecione OK.

Você precisa habilitar e aprovar o link privado de exportação. O Azure cria automaticamente o link privado.

  1. Vá para a página Visão geral do banco de dados SQL do Azure que você deseja exportar. Selecione Exportar na barra de ferramentas.
  2. Na página Exportar banco de dados, marque a caixa de seleção opção Usar link privado opção.
  3. Insira a conta de armazenamento, credenciais de autenticação, detalhes do banco de dados e selecione OK.

O usuário deve aprovar o novo ponto de extremidade privado no Centro de Link Privado ou no Banco de Dados SQL do Azure. Você pode aprovar ambos os links privados separadamente em suas respetivas localizações no portal do Azure.

Sugestão

Se você já tiver pontos de extremidade privados configurados para seu servidor lógico SQL do Azure e conta de armazenamento, verá os novos pontos de extremidade privados gerenciados pelo serviço aparecerem como conexões pendentes. Esses pontos de extremidade privados são especificamente para a operação de importação/exportação e são separados dos seus pontos de extremidade privados existentes. Procure por endpoints privados com nomes que indiquem que foram criados pelo serviço de importação/exportação.

  1. Navegue até o Centro de Link Privado no portal do Azure. Na caixa de pesquisa do Azure, procure Link Privado. Selecione Link Privado.

  2. No Centro de Ligações Privadas, selecione Conexões pendentes.

  3. Selecione ambos os pontos de extremidade privados que criou ao usar o serviço Importar/Exportar. Selecione Aprovar.

    Captura de ecrã do Centro de Ligações Privadas do portal do Azure a mostrar como aprovar ambas as ligações privadas.

Opção 2: Aprovar conexões de ponto de extremidade privado separadamente no portal do Azure

  1. Vá para o servidor lógico SQL do Azure que hospeda o banco de dados.

  2. No menu de recursos em Segurança, selecione Rede.

  3. Selecione o separador acesso privado.

  4. Na lista em Conexões de ponto de extremidade privadas, selecione os pontos de extremidade privados criados usando o serviço Importar/Exportar.

  5. Selecione Aprovar.

    Captura de tela do portal do Azure que mostra como aprovar o Link Privado do Banco de Dados SQL do Azure.

  6. Vá para a conta de armazenamento que hospeda o contêiner de blob onde o arquivo BACPAC (.bacpac) existe.

  7. Em Segurança + Rede (Networking), selecione Rede (Networking).

  8. Selecione o separador Conexões de ponto de extremidade privado.

  9. Na lista, selecione o ponto de extremidade privado para o serviço de importação/exportação.

  10. Selecione Aprovar para aprovar a conexão.

    Captura de ecrã do portal do Azure que mostra como aprovar o Azure Storage Private Link no Armazenamento do Azure.

3. Verifique o status de importação/exportação

  1. Depois de aprovar os pontos de extremidade privados no servidor SQL do Azure e na conta de Armazenamento do Azure, o trabalho de importação ou exportação do banco de dados começa. Até lá, os postos de trabalho estão suspensos.

  2. Você pode verificar o status dos trabalhos de importação ou exportação de banco de dados na página Histórico de Importação/Exportação na seção Gerenciamento de Dados na página do Azure SQL Server.

    Captura de ecrã do portal do Azure que mostra como verificar o estado dos Trabalhos de Importação Exportação.

Quando você usa o PowerShell, os pontos de extremidade privados gerenciados pelo serviço são criados automaticamente na mesma rede virtual e sub-rede que o ponto de extremidade privado existente do servidor lógico SQL do Azure. Certifique-se de que o seu servidor SQL tem conectividade de endpoint privado configurada antes de executar estes comandos.

Use o cmdlet New-AzSqlDatabaseImport para enviar uma solicitação de banco de dados de importação para o Azure. Dependendo do tamanho do banco de dados, a importação pode levar algum tempo para ser concluída. O modelo de provisionamento baseado em DTU oferece suporte a valores de tamanho máximo de banco de dados selecionados para cada camada. Ao importar um banco de dados, utilize a edição suportada e os valores de objetivos de serviço para o Banco de Dados SQL do Azure.

Forneça o seu próprio <values> no exemplo de código do PowerShell a seguir, que importa um arquivo .bacpac chamado sample.bacpac e cria um Banco de Dados SQL do Azure com dois vCores de uso geral.

$importRequestParams = @{
   ResourceGroupName                      = "<resourceGroupName>"
   ServerName                             = "<serverName>"
   DatabaseName                           = "<databaseName>"
   DatabaseMaxSizeBytes                   = "<databaseSizeInBytes>"
   StorageKeyType                         = "StorageAccessKey"
   StorageKey                             = $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -StorageAccountName "<storageAccountName>").Value[0]
   StorageUri                             = "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac"
   Edition                                = "GeneralPurpose"
   ServiceObjectiveName                   = "GP_Gen5_2"
   UseNetworkIsolation                    = $true
   StorageAccountResourceIdForPrivateLink = "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>"
   SqlServerResourceIdForPrivateLink      = "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>"
   AdministratorLogin                     = "<userID>"
   AdministratorLoginPassword             = $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)
}

$importRequest = New-AzSqlDatabaseImport @importRequestParams

Use o cmdlet New-AzSqlDatabaseExport para enviar uma solicitação de exportação de banco de dados para o serviço Banco de Dados SQL do Azure. Dependendo do tamanho do banco de dados, a operação de exportação pode levar algum tempo para ser concluída.

Forneça seu próprio <values> no seguinte exemplo de código do PowerShell:

$exportRequestParams = @{
   ResourceGroupName                      = "<resourceGroupName>"
   ServerName                             = "<serverName>"
   DatabaseName                           = "<databaseName>"
   StorageKeyType                         = "StorageAccessKey"
   StorageKey                             = $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -StorageAccountName "<storageAccountName>").Value[0]
   StorageUri                             = "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac"
   UseNetworkIsolation                    = $true
   StorageAccountResourceIdForPrivateLink = "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>"
   SqlServerResourceIdForPrivateLink      = "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>"
   AdministratorLogin                     = "<userID>"
   AdministratorLoginPassword             = $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)
}

$exportRequest = New-AzSqlDatabaseExport @exportRequestParams

As APIs existentes para executar trabalhos de Importação e Exportação suportam o Private Link. Consulte Import Database API.

Limitações

Atualmente, o link privado para importação/exportação tem as seguintes limitações:

  • Para usar o Private Link com Import/Export, a base de dados do utilizador e o contêiner de blob do Armazenamento do Azure devem estar no mesmo tipo de Nuvem Azure. Por exemplo, ambos devem estar no Azure Commercial ou ambos no Azure Gov. Não há suporte para hospedagem em tipos de nuvem.

  • Atualmente, não há suporte para a importação ou exportação de um banco de dados da Instância Gerenciada SQL do Azure usando o PowerShell.

  • Não use o Link Privado de Importação/Exportação quando o Banco de Dados do usuário ou a conta de Armazenamento do Azure estiverem protegidos por bloqueios de Recursos.

  • Você precisa aprovar manualmente a nova conexão de ponto de extremidade privado para concluir a operação de exportação. Depois de iniciar a exportação, vá para conexões pendentes no Private Link Center e aprove as conexões, que podem levar vários minutos para aparecer.

  • A importação utilizando Ligação Privada não suporta a especificação de uma redundância de armazenamento de backup ao criar uma nova base de dados e utiliza a redundância geográfica padrão para armazenamento de backup. Como solução alternativa, primeiro crie um banco de dados vazio com a redundância de armazenamento de backup desejada usando o portal do Azure ou o PowerShell e, em seguida, importe o arquivo BACPAC para esse banco de dados vazio.

  • A importação usando a API REST com link privado só pode ser concluída para um banco de dados existente, uma vez que a API usa extensões de banco de dados. Como solução alternativa, crie um banco de dados vazio com o nome desejado e chame a API REST de importação com link privado.