Robert Bermejo's Blog Robert Bermejo Blog

Como exportar e importar una Azure SQL Database

¿Quién no se ha encontrado alguna vez con la necesidad de exportar e importar� una base de datos?.

Seguramente es una operación que la mayoría de nosotros hemos realizado muchas veces on-premise, pero ¿como se realiza está operación si estamos utilizando Azure SQL Database?

El objetivo de este post es explicar que pasos seguir y que tener en cuenta a la hora de realizar este proceso.

Antes de empezar es necesario explicar dos conceptos que pueden conducir a confusión: Built-in Backups y Import/Export

Built-in Backups

Azure SQL Database� actualmente nos provee de la posibilidad de � realizar backups de nuestra base de datos de forma programada y accesibles durante un periodo de tiempo: 7, 14 y 35 días dependiendo del plan que hayamos contratado� .

Con esta utilidad, el servicio nos permite tener backups� de nuestras bases de datos de forma automática. Gracias a esta automatización el impacto sobre nuestros datos se minimiza cuando nos encontramos con algunos de los siguientes escenarios:

  • Recuperación ante un desastre (recovery disaster)
  • Recuperación ante datos corruptos.
  • Recuperación ante un borrado de datos.

Y no solo nos permite realizar estas copias de forma automática, si no que nos provee de dos formas de poder restaurarlas:

  1. [Point in Time Restore:](https://azure.microsoft.com/blog/2014/10/01/azure-sql-database-point-in-time-restore/ “”)� Permite restaurar la base de datos en cualquier punto en el tiempo a nivel de milésimas. Lógicamente dentro de los periodos de accesibilidad anteriormente mencionados .
  2. Geo-Restore:� Utiliza la última versión del geo-redundat backup para realizar el restore.
Import/Export

Azure SQL Database� también nos da la posibilidad de realizar estas operaciones de forma manual mediante la exportación y la importación.

¿En que casos nos es útil?

  • Cuando queremos mover la base de datos de un servidor a otro.
  • Cuando queremos migrar una base de datos� on-premise� a Azure.
  • Vamos a ver más en detalle como realizar estas operaciones desde el portal de Azure, también se puede realizar mediante powershell.

    Export

    Cuando exportamos una base de datos SQL Azure nos lo hace en un fichero� BACPAC� que contiene los datos y el esquema de la base de datos.

    Cuando realizamos la exportación del fichero� BACPAC� este es almacenado en un Azure blob storage.

    exportSQLProcess

    Cuando se va a realizar esta operación se deben tener en cuenta varias consideraciones:

    1. El máximo tamaño del archivo BACPAC� que se puede almacenar en un Azure blob storage� es de 200 GB. Si supera este tamaño se debería utilizar� [SqlPackage](https://msdn.microsoft.com/library/hh550080.aspx “”), que es una herramienta de consola que nos permite automatizar diferentes tareas que podemos realizar sobre� la base de datos, entre ellas la exportación.
    2. El proceso no puede durar más de 20 horas, si supera este limite la operación se cancela.
    3. Esta operación no está soportada para Azure premiun storage.
    4. Para mantener la consistencia, se debe estar seguro de que no se realizarán escrituras sobre la base de datos mientras se está realizando la operación de exportación.

    Una vez tenemos la foto global, vamos a ver como realizar la exportación.

    1- Entramos en el portal

    2-Buscamos la base de datos que queremos exportar.

    selectexportsql

    3-Click en Export.

    selectbuttonexport

    4-Por último seleccionamos la cuenta de storage y seleccionamos el tipo de autenticación que queremos.

    exportselectstorage2

    Mientras se esta realizando la exportación, podemos ver su progreso en su servidor de base de datos:

    1-Buscamos el servidor de base de datos.

    2- Buscamos el servidor de SQL de la base de datos, y hacemos scroll hasta ver la opción Import/Export History� y lo seleccionamos� click.

    sqlserverexport

    Una vez en el campo St_atus�_ ponga Completed se habrá finalizado el proceso de exportación y podemos pasar a Importarla.

    Import

    Para importar la base de datos debemos seguir los siguientes pasos:

    1- Crear un nuevo Azure SQL Server o elegir uno existen. Para este post creamos uno nuevo.

    newSQLServer

    2-Rellenamos los datos de creación del servidor.

    newDataSqlServer

    3-Click en el botón� Import database.

    importBD1

    4-Seleccionamos el fichero BACPAC del blob� storage e introducimos los datos de autenticación (los mismos que en la exportación).

    newDataSqlServer

    Ya tenemos disponible nuestra base de datos en el nuevo servidor.

    ok

    Como podéis ver es un proceso muy sencillo que si se sigue paso a paso no tiene ninguna complicación.

    Hasta la próxima.


    Si te parece interesante, ¡compártelo!