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

Aplica-se a:Banco de Dados SQL do Azure

A execução de Importar ou Exportar por meio do Azure PowerShell ou do portal do Azure exige que você defina Permitir Acesso aos Serviços do Azure como ATIVADO, caso contrário, a operação Importar ou Exportar falhará com um erro. Muitas vezes, os usuários desejam executar Importar ou Exportar usando um ponto de extremidade privado sem exigir acesso a todos os serviços do Azure. Este artigo explica como importar ou exportar um Banco de Dados SQL do Azure usando o Private Link e deixar a opção Permitir acesso aos Serviços do Azure definida como OFF no servidor lógico SQL do Azure.

Nota

A importação/exportação usando o link privado para o Banco de Dados SQL do Azure está atualmente em visualização.

A ligação privada de importação/exportação de bases de dados é um ponto final privado gerido pelo serviço criado pela Microsoft utilizado exclusivamente para todas as comunicações pelo processo de importação/exportação de bases de dados, pela base de dados SQL do Azure e pelos serviços de Armazenamento do Azure relacionados. Um ponto final privado gerido pelo serviço é um endereço IP privado numa rede virtual e sub-rede específicas. O ponto de extremidade privado deve ser aprovado manualmente pelo usuário no portal do Azure para servidor e armazenamento.

Diagram of Import Export Private link architecture.

O Link Privado de Importação/Exportação pode ser configurado por meio do portal do Azure, PowerShell ou usando a API REST.

  1. Vá para a página Visão geral do servidor lógico SQL do Azure para o qual você deseja importar o banco de dados. Selecione Importar banco de dados da barra de ferramentas.
  2. Na página Importar banco de dados, marque a caixa deseleção Usar link privado. Screenshot from the Azure portal that shows how to enable Import Private link.
  3. Insira a conta de armazenamento, as credenciais de autenticação, os detalhes do banco de dados e selecione OK.
  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 deseleção Usar link privado. Screenshot from the Azure portal that shows how to enable Export Private Link.
  3. Insira a conta de armazenamento, as credenciais de autenticação, os detalhes do banco de dados e selecione OK.

2. Aprovar pontos finais privados

  1. Vá para Private Link Center no portal do Azure. Na caixa de pesquisa do Azure, procure por "Link Privado".
  2. Navegue até a página Pontos de extremidade privados do Private Link Center.
  3. Aprove os pontos de extremidade privados criados usando o serviço Importar/Exportar.

Aprovar conexão de ponto de extremidade privado no Banco de Dados SQL do Azure

  1. Vá para o servidor lógico SQL do Azure que hospeda o banco de dados.
  2. Navegue até a página Rede em Segurança
  3. Selecione a guia Acesso privado .
  4. Selecione o ponto de extremidade privado que deseja aprovar.
  5. Selecione Aprovar para aprovar a conexão.

Screenshot from the Azure portal that shows how to approve Azure SQL Database Private Link.

Aprovar conexão de ponto de extremidade privado no Armazenamento do Azure

  1. Vá para a conta de armazenamento que hospeda o contêiner de blob onde o arquivo .bacpac existe.
  2. Abra a página Private endpoint connections no menu Segurança .
  3. Selecione o ponto de extremidade privado para o serviço de importação/exportação.
  4. Selecione Aprovar para aprovar a conexão.

Screenshot from the Azure portal that shows how to approve Azure Storage Private Link in Azure Storage.

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

  1. Depois que os pontos de extremidade privados forem aprovados, tanto no servidor SQL do Azure quanto na conta de Armazenamento do Azure, o trabalho de importação ou exportação do banco de dados será iniciado. Até lá, os postos de trabalho estarã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 SQL Server do Azure. Screenshot from the Azure portal that shows how to check Import Export Jobs Status.

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 , use um desses valores suportados.

$importRequest = New-AzSqlDatabaseImport -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 "Standard" -ServiceObjectiveName "P6" ` -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)

Use o cmdlet New-AzSqlDatabaseExport para enviar uma solicitação de banco de dados de exportação 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.

$importRequest = New-AzSqlDatabaseExport -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 "Standard" -ServiceObjectiveName "P6" ` -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)

As APIs existentes para executar trabalhos de Importação e Exportação foram aprimoradas para oferecer suporte ao Private Link. Consulte Importar API de banco de dados.

Limitações

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

  • Para usar o Private Link com Importar/Exportar, o banco de dados de usuário e o contêiner de blob de Armazenamento do Azure devem ser hospedados no mesmo tipo de Nuvem do Azure. Por exemplo, ambos 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.

  • O Link Privado de Importação/Exportação não deve ser usado quando o Banco de Dados do usuário ou a conta de Armazenamento do Azure estão protegidos por bloqueios de Recursos.

  • A aprovação manual da nova conexão de ponto de extremidade privada é necessária 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 usando o Private Link não oferece suporte à especificação de uma redundância de armazenamento de backup durante a criação de um novo banco de dados e cria com a redundância de armazenamento de backup com redundância geográfica padrão. 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.

Próximos passos