Published on

March 18, 2020

Importando un bacpac a una instancia administrada de Azure en SQL Server

¿Alguna vez has encontrado un error al intentar copiar un bacpac de una base de datos pequeña en una instancia administrada de Azure? Si es así, no estás solo. En este artículo, exploraremos una solución a este problema utilizando SQL Server Management Studio (SSMS) y la utilidad de línea de comandos SQLPACKAGE.EXE.

Usando SSMS para importar un bacpac

Tradicionalmente, SSMS ha sido la herramienta principal para importar y exportar aplicaciones de nivel de datos. Para importar un bacpac a una instancia administrada de Azure utilizando SSMS, sigue estos pasos:

  1. Conéctate a la instancia administrada utilizando la versión más reciente de SSMS.
  2. Haz clic derecho en “Bases de datos” y elige “Importar aplicación de nivel de datos”.
  3. Sigue el asistente de importación.

Sin embargo, es posible que te encuentres con un problema donde el asistente no se carga. Si esto sucede, no te preocupes, hay una solución alternativa.

Usando SQLPACKAGE.EXE

SQLPACKAGE.EXE es una utilidad de línea de comandos que se puede utilizar para exportar e importar aplicaciones de nivel de datos. Proporciona una forma más confiable de importar archivos bacpac en una instancia administrada de Azure. Así es cómo puedes usarlo:

  1. Crea un archivo por lotes (.bat) para importar múltiples archivos bacpac.
  2. Ejecuta el archivo por lotes y verifica los resultados más tarde.

Cuando uses SQLPACKAGE para importar, tu comando debe incluir los siguientes parámetros:

  • /a:import – Especifica la acción como importar.
  • /tcs: – Especifica la cadena de conexión de destino.
  • /sf – Especifica el archivo de origen (archivo bacpac).

Para más ejemplos e información detallada sobre SQLPACKAGE, puedes consultar la documentación oficial: https://docs.microsoft.com/en-us/sql/tools/sqlpackage.

Consideraciones para Azure SQL Database

Es importante tener en cuenta que al importar a Azure SQL Database, debes validar la configuración de la base de datos para asegurarte de que tenga el tamaño adecuado. Por ejemplo, usar el parámetro /p:DatabaseMaximumSize=150 resultará en una SKU premium con un tamaño de base de datos de 150 GB. Esto es crucial porque Azure SQL DB puede ser costoso.

Aunque el portal de Azure ofrece la opción de importar archivos bacpac, está limitado solo a Azure SQL Database. En mi experiencia, la importación a través del portal de Azure a menudo falla con archivos bacpac de bases de datos más grandes y puede llevar horas antes de que comience la importación. Por lo tanto, generalmente prefiero usar SQLPACKAGE para importar archivos bacpac.

Siguiendo estos pasos y utilizando SQLPACKAGE.EXE, puedes importar archivos bacpac con éxito en una instancia administrada de Azure sin encontrar problemas. Este método proporciona una forma confiable y eficiente de manejar el proceso de importación.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.