Importación o exportación de una instancia de Azure SQL Database mediante Private Link

Se aplica a:Azure SQL Database

Para ejecutar una importación o exportación a través de Azure PowerShell o Azure Portal, debe establecer la opción Permitir el acceso a servicios de Azure en ACTIVADO; de lo contrario, la operación de importación o exportación genera un error. A menudo, los usuarios quieren realizar una importación o una exportación mediante un punto de conexión privado sin necesidad de acceder a todos los servicios de Azure. En este artículo se explica cómo importar o exportar una instancia de Azure SQL Database mediante Private Link y dejar la opción Permitir el acceso a servicios de Azure establecida en DESACTIVADO en el servidor lógico de Azure SQL.

Nota:

La importación y exportación mediante Private Link para Azure SQL Database se encuentra actualmente en versión preliminar.

El vínculo privado para importación y exportación de base de datos es un punto de conexión privado administrado por el servicio y creado por Microsoft que el proceso de importación y exportación de base de datos, la base de datos de Azure SQL y los servicios de Azure Storage correspondientes utilizan exclusivamente para todas las comunicaciones. Un punto de conexión privado administrado por un servicio es una dirección IP privada dentro de una red virtual y una subred específicas. El usuario debe aprobar manualmente el punto de conexión privado en Azure Portal para el servidor y el almacenamiento.

Diagram of Import Export Private link architecture.

Un vínculo privado para importación y exportación se puede configurar mediante Azure Portal, PowerShell o la API REST.

  1. Vaya a la página Información general del servidor lógico de Azure SQL en el que desea importar la base de datos. Seleccione Importar base de datos en la barra de herramientas.
  2. En la página Importar base de datos, active la casilla de la opción Usar vínculo privado. Screenshot from the Azure portal that shows how to enable Import Private link.
  3. Introduzca la cuenta de almacenamiento, las credenciales de autenticación, los detalles de la base de datos y seleccione Aceptar.
  1. Vaya a la página Información general de la base de datos de Azure SQL que desea exportar. Seleccione Exportar en la barra de herramientas.
  2. En la página Exportar base de datos, active la casilla de la opción Usar vínculo privado. Screenshot from the Azure portal that shows how to enable Export Private Link.
  3. Introduzca la cuenta de almacenamiento, las credenciales de autenticación, los detalles de la base de datos y seleccione Aceptar.

2. Aprobación de puntos de conexión privados

  1. Vaya a Private Link Center en Azure Portal. En el cuadro de búsqueda de Azure, busque "vínculo privado".
  2. Vaya a la página Puntos de conexión privados de Private Link Center.
  3. Apruebe los puntos de conexión privados que creó mediante el servicio Import/Export.

Aprobación de la conexión de un punto de conexión privado en Azure SQL Database

  1. Vaya al servidor lógico de Azure SQL que hospeda la base de datos.
  2. Vaya a la página Redes en Seguridad.
  3. Seleccione la pestaña Acceso privado.
  4. Seleccione el punto de conexión privado que quiere aprobar.
  5. Seleccione Aprobar para aprobar la conexión.

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

Aprobación de la conexión de un punto de conexión privado en Azure Storage

  1. Vaya a la cuenta de almacenamiento que hospeda el contenedor de blobs donde se encuentra el archivo .bacpac.
  2. Abra la página Conexiones del punto de conexión privado en el menú Seguridad.
  3. Seleccione el punto de conexión privado para el servicio Import/Export.
  4. Seleccione Aprobar para aprobar la conexión.

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

3. Comprobación del estado de importación/exportación

  1. Una vez aprobados los puntos de conexión privados, tanto en Azure SQL Server como en la cuenta de Azure Storage, se iniciará el trabajo de importación o exportación de la base de datos. Hasta entonces, los trabajos estarán en espera.
  2. Puede comprobar el estado de los trabajos de importación o exportación de la base de datos en la página Historial de importación y exportación, en la sección Administración de datos de la página de Azure SQL Server. Screenshot from the Azure portal that shows how to check Import Export Jobs Status.

Use el cmdlet New-AzSqlDatabaseImport para enviar una solicitud de importación de base de datos a Azure. En función del tamaño de la base de datos, la importación puede tardar en completarse. El modelo de aprovisionamiento basado en DTU admite la selección de valores de tamaño máximo de base de datos para cada nivel. Al importar una base de datos use uno de estos valores admitidos.

$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 el cmdlet New-AzSqlDatabaseExport para enviar una solicitud de exportación base de datos al servicio Azure SQL Database. Según el tamaño de la base de datos, la operación de exportación puede tardar algún tiempo en completarse.

$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)

Las API existentes para realizar trabajos de importación y exportación se han mejorado para admitir Private Link. Consulte la información sobre la API de importación de bases de datos.

Limitaciones

Actualmente, el vínculo privado para importación y exportación tiene las siguientes limitaciones:

  • Para usar Private Link con Import/Export, la base de datos de usuario y el contenedor de blobs de Azure Storage deben hospedarse en el mismo tipo de nube de Azure. Por ejemplo, en la nube comercial de Azure o en Azure Government. No se admite el hospedaje entre tipos de nube.

  • Actualmente, no se admite la importación o exportación de una base de datos de Azure SQL Managed Instance mediante PowerShell.

  • Private Link para Import/Export no debe usarse cuando la base de datos de usuario o la cuenta de Azure Storage están protegidas mediante bloqueos de recursos.

  • Se requiere la aprobación manual de la nueva conexión del punto de conexión privado para completar la operación de exportación. Después de iniciar la exportación, vaya a Conexiones pendientes en Private Link Center y apruebe las conexiones, lo que puede tardar varios minutos en aparecer.

  • La importación mediante un vínculo privado no admite la especificación de una redundancia del almacenamiento de copia de seguridad al crear una nueva base de datos y se crea con la redundancia predeterminada del almacenamiento de copia de seguridad con redundancia geográfica. Como solución alternativa, cree primero una base de datos vacía con la redundancia deseada del almacenamiento de copia de seguridad mediante Azure Portal o PowerShell y, a continuación, importe el archivo .bacpac en esta base de datos vacía.

  • La importación mediante la API REST con un vínculo privado solo se puede completar para una base de datos existente, ya que la API usa extensiones de base de datos. Como solución alternativa, cree una base de datos vacía con el nombre deseado y, a continuación, llame a la API REST de importación con vínculo privado.

Pasos siguientes