Migración a La Cumbre de innovación:
Obtenga información sobre cómo migrar y modernizar a Azure puede aumentar el rendimiento, la resistencia y la seguridad de su empresa, lo que le permite adoptar completamente la inteligencia artificial.Regístrese ahora
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Puede importar una base de datos de SQL Server en Azure SQL Database o SQL Managed Instance mediante un archivo .bacpac. Puede importar los datos de un archivo bacpac almacenado en Azure Blob Storage (solo almacenamiento estándar) o desde el almacenamiento local en una ubicación local. Para maximizar la velocidad de importación al proporcionar más recursos y más rápidos, escale la base de datos a un nivel de servicio más alto y calcule el tamaño de proceso durante la importación. A continuación, puede reducir verticalmente cuando la importación se lleve a cabo de forma correcta.
Vea este vídeo para ver cómo importar desde un archivo bacpac en Azure Portal o siga leyendo:
Azure Portalsolo admite la creación de una base de datos única en Azure SQL Database y solo desde un archivo BACPAC almacenado en Azure Blob Storage.
Advertencia
Los archivos Bacpac de más de 4 GB generados a partir de SqlPackage pueden no importarse desde Azure Portal o Azure PowerShell con un mensaje de error que indica File contains corrupted data.. Este es el resultado de un problema conocido y la solución alternativa consiste en utilizar la SqlPackage utilidad de línea de comandos para importar el archivo bacpac. Para obtener más información, consulte SqlPackage y el registro de problemas.
Para migrar una base de datos a una instancia de Azure SQL Managed Instance a partir de un archivo bacpac, use SQL Server Management Studio o SQLPackage. Actualmente no se admite el uso de Azure Portal o Azure PowerShell.
Nota
Los equipos que procesan las solicitudes de importación o exportación que se envían a través de Azure Portal o PowerShell deben almacenar el archivo bacpac, así como los archivos temporales generados por Data-Tier Application Framework (DacFX). El espacio en disco necesario varía considerablemente entre las bases de datos del mismo tamaño y puede requerir un espacio en disco de hasta tres veces el tamaño de la base de datos. Los equipos que ejecutan la solicitud de importación o exportación solo tienen 450 GB de espacio en disco local. Como resultado, puede que es produzca el error There is not enough space on the disk en algunas solicitudes. En este caso, la solución alternativa es ejecutar SqlPackage en un equipo con suficiente espacio en disco local. Se recomienda usar SqlPackage para importar o exportar bases de datos superiores a 150 GB para evitar este problema.
Para importar a partir de un archivo bacpac en una nueva base de datos única mediante Azure Portal, abra la página del servidor que corresponda y, en la barra de herramientas, seleccione Importar base de datos.
Seleccione Seleccionar copia de seguridad. Elija la cuenta de almacenamiento que hospeda la base de datos y, después, seleccione el archivo bacpac desde el que se va a importar.
Especifique el tamaño de la nueva base de datos (por lo general, el mismo que el origen) y proporcione las credenciales del servidor SQL Server de destino. Para obtener una lista de valores posibles para una nueva base de datos de Azure SQL Database, vea Creación de una base de datos.
Seleccione Aceptar.
Para supervisar el progreso de una importación, abra la página del servidor de la base de datos y, en Configuración, seleccione Historial de importación y exportación. Cuando se realiza correctamente, la importación tiene el estado Completada.
Para comprobar que la base de datos está activa en el servidor, seleccione Bases de datos SQL y compruebe que la base de datos nueva está En línea.
Para el escalado y rendimiento, se recomienda usar SqlPackage en la mayoría de los entornos de producción en lugar de usar Azure Portal. Consulte cómo BACPAC en el blog de Customer Advisory Team de SQL Server sobre cómo migrar usuarios con archivos .
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.
El comando SqlPackage siguiente importa la base de datos AdventureWorks2008R2 desde el almacenamiento local a un servidor SQL lógico denominado mynewserver20170403. Crea una base de datos denominada myMigratedDatabase con un nivel de servicio Premium y un objetivo de servicio P6. Cambie estos valores según corresponda para su entorno.
Para conectarse a Azure SQL Database desde detrás de un firewall corporativo, el firewall debe tener abierto el puerto 1433. Para conectarse a Instancia administrada de SQL, debe tener una conexión de punto a sitio o una conexión de ExpressRoute.
Como alternativa al nombre de usuario y la contraseña, puede usar Microsoft Entra ID (anteriormente Azure Active Directory). Actualmente, el servicio Import/Export no admite la autenticación de Microsoft Entra ID cuando se requiere MFA. Sustituya los parámetros de nombre de usuario y contraseña por /ua:true y /tid:"yourdomain.onmicrosoft.com". En este ejemplo se muestra cómo importar una base de datos mediante SqlPackage con la autenticación de Microsoft Entra:
Azure Data Studio es una herramienta gratuita de código abierto y está disponible para Windows, macOS y Linux. La extensión "SQL Server dacpac" proporciona una interfaz de asistente para las operaciones sqlPackage, incluida la exportación e importación. Para obtener más información sobre la instalación y el uso de la extensión, consulte la documentación de la extensión dacpac de SQL Server.
Uso de PowerShell
Nota
Azure SQL Managed Instance no admite actualmente la migración de una base de datos a una base de datos de instancia desde un archivo bacpac mediante Azure PowerShell. Para importar en una instancia administrada de SQL, use SQL Server Management Studio o SQLPackage.
Nota
Los equipos que procesan las solicitudes de importación o exportación que se envían a través del portal o PowerShell deben almacenar el archivo bacpac, así como los archivos temporales generados por Data-Tier Application Framework (DacFX). El espacio en disco necesario varía considerablemente entre las bases de datos del mismo tamaño y puede tardar hasta tres veces el tamaño de la base de datos. Los equipos que ejecutan la solicitud de importación o exportación solo tienen 450 GB de espacio en disco local. Como resultado, en algunas solicitudes se puede producir el error "No hay suficiente espacio en el disco". En este caso, la solución alternativa es ejecutar SqlPackage en un equipo con suficiente espacio en disco local. Al importar o exportar bases de datos superiores a 150 GB, use SqlPackage para evitar este problema.
El módulo de Azure Resource Manager (AzureRM) de PowerShell ha quedado en desuso el 29 de febrero de 2024. Todo el desarrollo futuro debe usar el módulo Az.Sql. Se recomienda a los usuarios migrar de AzureRM al módulo de Az PowerShell para garantizar la compatibilidad y las actualizaciones continuas. El módulo AzureRM ya no se mantiene ni cuenta con soporte. Los argumentos de los comandos del módulo Az PowerShell y en los módulos AzureRM son sustancialmente idénticos. Para obtener más información sobre su compatibilidad, consulte Introducción al nuevo módulo de Az PowerShell.
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.
Puede usar el cmdlet Get-AzSqlDatabaseImportExportStatus para comprobar el progreso de la importación. Si el cmdlet se ejecuta inmediatamente después de la solicitud, por lo general devuelve Status: InProgress: La importación se completa cuando se ve Status: Succeeded.
Use el comando az-sql-db-import 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.
Azure CLI
# get the storage account keyaz storage account keys list --resource-group"<resourceGroup>"--account-name"<storageAccount>"az sql db import --resource-group"<resourceGroup>"--server"<server>"--name"<database>" `
--storage-key-type"StorageAccessKey"--storage-key"<storageAccountKey>" `
--storage-uri"https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
-u"<userId>"-p"<password>"
El nivel de compatibilidad de la base de datos importada se basa en el nivel de compatibilidad de la base de datos de origen.
Después de importar la base de datos, puede elegir usar la base de datos en el nivel de compatibilidad actual o en un nivel superior. Para más información acerca de las implicaciones y las opciones para la utilización de una base de datos en un nivel de compatibilidad específico, consulte ALTER DATABASE (Transact-SQL) Compatibility Level [Nivel de compatibilidad de ALTER DATABASE (Transact-SQL)]. Vea también ALTER DATABASE SCOPED CONFIGURATION para obtener información sobre otros valores de nivel de base de datos relacionados con los niveles de compatibilidad.
Limitaciones
No se admite la importación a una base de datos que esté en un grupo elástico. Puede importar los datos en una base de datos única y después moverla a un grupo elástico.
El servicio de importación y exportación no funciona cuando "Permitir el acceso a servicios de Azure" se establece en "DESACTIVADO". Sin embargo, puede solucionar el problema con la ejecución manual de SqlPackage desde una máquina virtual de Azure o realizando la exportación directamente en el código mediante la API de DacFx.
La importación 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. Para solucionar el problema, 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.
El almacenamiento detrás de un firewall actualmente no se admite.
Durante el proceso de importación, no cree una base de datos con el mismo nombre. El proceso de importación crea una nueva base de datos el nombre especificado.
Actualmente, el servicio Import/Export no admite la autenticación de Microsoft Entra ID cuando se requiere MFA.
Los servicios Import\Export solo admiten la autenticación de SQL y Microsoft Entra ID. Import\Export no es compatible con el registro de aplicaciones de Microsoft Identity.
Para obtener información sobre cómo administrar y compartir de forma segura claves de almacenamiento y firmas de acceso compartido, vea la Guía de seguridad de Azure Storage.
Conozca los aspectos básicos de la implementación y migración de Azure SQL Database. Explore sus ventajas, características exclusivas y opciones de migración al tiempo que optimiza el rendimiento y las conexiones de las aplicaciones para una transición fluida a la nube.
Administre una infraestructura de base de datos de SQL Server para bases de datos relacionales locales e híbridas en la nube mediante las ofertas de bases de datos relacionales PaaS de Microsoft.