Migración de la base de datos SQL local a la base de Azure SQL Database
Tags: tutorial, database, sql, azure
Published: 2020-02-13 03:01:57

---
title: Migración de la base de datos SQL local a la base de Azure SQL Database
published: true
description: ¡Aprenda de una manera muy simple en este tutorial cómo migrar la base de datos local a la Azure SQL Database!
tags: tutorial, database, sql, azure 
---

[![https://i.postimg.cc/qMYvfCpc/Screen-Shot-01-28-20-at-07-34-PM.png](https://i.postimg.cc/qMYvfCpc/Screen-Shot-01-28-20-at-07-34-PM.png)](https://i.postimg.cc/qMYvfCpc/Screen-Shot-01-28-20-at-07-34-PM.png)

Parece difícil cuando lees el título. Pero, ¡quiero mostrarles a todos aquí que es mucho más fácil de lo que piensan!

Entenderemos los pasos a seguir y verá que esta migración es extremadamente fácil. Vamos?!

## ¿Qué es Azure SQL Database?

Antes de realizar la migración en este tutorial, me gustaría explicar un poco sobre lo que sería Azure SQL Database.

**[Azure SQL Database](https://docs.microsoft.com/azure/sql-database/sql-database-technical-overview?WT.mc_id=devto-blog-gllemos)** es una base de datos relacional de uso general que se proporciona como un servicio administrado. A través de este servicio, puede crear una capa de almacenamiento de datos de alto rendimiento y alta disponibilidad para las aplicaciones y soluciones de Azure. Y resulta ser una opción muy interesante ya que nos permite procesar datos relacionales y **[estructuras no relacionales](https://docs.microsoft.com/azure/sql-database/sql-database-multi-model-features?WT.mc_id=devto-blog-gllemos)**, como: Gráficos, JSON, XML y espacial.

Además, es un servicio totalmente administrado que ofrece alta disponibilidad, copias de seguridad y otras operaciones de mantenimiento comunes. Microsoft controla todas las revisiones y actualizaciones del código de sistema operativo y SQL. No hace falta administrar la infraestructura subyacente. En resumen: ¡no tiene que administrar la infraestructura subyacente! ¡Y eso ya es una gran ventaja!

Otro punto muy importante sobre las opciones de implementación para Azure SQL Database:

[![banco de dados](https://docs.microsoft.com/pt-br/azure/sql-database/media/sql-database-technical-overview/deployment-options.png)](https://docs.microsoft.com/pt-br/azure/sql-database/media/sql-database-technical-overview/deployment-options.png)

*  **[Base de Datos Única](https://docs.microsoft.com/azure/sql-database/sql-database-single-database?WT.mc_id=devto-blog-gllemos)**: representa una base de datos aislada totalmente administrada.
*  **[Instancia Administrada](https://docs.microsoft.com/azure/sql-database/sql-database-managed-instance?WT.mc_id=devto-blog-gllemos)**: es similar a una instancia totalmente administrada del motor de base de datos de Microsoft SQL Server.
*  **[Grupo Elástico](https://docs.microsoft.com/azure/sql-database/sql-database-elastic-pool?WT.mc_id=devto-blog-gllemos)**: es una colección de bases de datos únicas con un conjunto compartido de recursos, como la CPU o la memoria.

Las explicaciones aquí se resumen. Pero, si desea conocer más detalles sobre cada opción de implementación disponible, puede encontrar más **[AQUÍ](https://docs.microsoft.com/azure/sql-database/sql-database-technical-overview?WT.mc_id=microsofttech-blog-gllemos#deployment-models)**.

Bueno, vamos a la demo!

## ¡Primeros Pasos!

En primer lugar, me gustaría hablar con todos ustedes que, en mi caso, preferí crear una **[Máquina Virtual SQL Server 2017](https://docs.microsoft.com/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-server-iaas-overview?WT.mc_id=devto-blog-gllemos)** en Azure.

Vea la máquina virtual Azure SQL Server creada en Azure que se ejecuta en mi máquina local:

[![VM Azure](https://code4coders.files.wordpress.com/2020/01/image.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image.png?w=1024)

Demasiado hermoso, ¿no? ¡Recuerde que también puede crear máquinas virtuales de SQL Server en Azure para Windows y Linux!

Otro punto importante: si tiene SQL Server Management Studio instalado localmente en su máquina, no hay problema. ¡Puedes seguir este tutorial que estará bien!

Bueno, abrí Microsoft SQL Server Management Studio en mi VM y creé, para fines de demostración, una base de datos súper simple y básica. Si lo desea, puede copiar el script:

```sql
create database demosqlazuredb
use demosqlazuredb;

create table customer(id int, name varchar(50), contact bigint)
insert into customer values(1, 'Empresa XYZ', 87568844),
(2, 'Empresa Auto Peças', 79957755),
(3, 'Empresa Frutos do Mar', 65753311),
(3, 'Empresa Bebidas Geladas', 33554539)

create table employee(id int, name varchar(50), location varchar(50))
insert into employee values(123, 'Glaucia Lemos', 'Rio de Janeiro'),
(232, 'João Paulo', 'Minas Gerais'),
(398, 'Maria Nunes', 'São Paulo'),
(485, 'Fernando Ricardo', 'Brasília')

create table department(id int, name varchar(50))
insert into department values(1, 'Engenharia'),
(2, 'Inovação'),
(3, 'Financeiro'),
(4, 'Administração')
```

¡Como puede ver, una base de datos simple que tiene solo 3 tablas y algunas inserciones! Ejecutemos esta consulta en SQL Server Management Studio.

Al final tendremos 3 tablas contenidas en la base de datos: **demosqlazuredb**.

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-1.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-1.png?w=1024)

Ahora haga clic derecho en la base de datos: demosqlazuredb y vaya a: **Tasks -> Deploy Database to Microsoft Azure SQL Database:**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-2.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-2.png?w=1024)

Después de hacer clic, aparecerá otra ventana pidiendo algunas informaciones importantes. Simplemente haga clic en: **Next**.

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-3.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-3.png?w=1024)

¡Ahora especifiquemos dónde se migrará nuestra base de datos! Para hacer esto, haga clic en: **Connect**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-4.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-4.png?w=1024)

Después de hacer clic en **Connect**, aparecerá una nueva ventana para que ingrese sus datos de conexión:

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-5.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-5.png?w=1024)

Quizás se esté preguntando, si estoy migrando de las instalaciones a la nube, ¿necesito crear una instancia lógica en la nube para conectarme con esta migración? Si esa pregunta se te pasó por la cabeza, ¡estás pensando correctamente! Ahora, en este punto, necesitamos crear esta instancia lógica en Azure y eso es exactamente lo que vamos a hacer ahora.

## Creando SQL Database no Azure

Bueno, minimice SQL Server Management Studio y abra el **[Portal de Azure](https://azure.microsoft.com/features/azure-portal/?WT.mc_id=devto-blog-gllemos)**.

### Conta - Azure for Students ⭐️

Si es estudiante en la universidad, puede crear su cuenta de **[Azure for Students](https://azure.microsoft.com/pt-br/free/students/?WT.mc_id=devto-blog-gllemos)**. Esta cuenta le dará el beneficio de tener un crédito de USD 100.00 para usar los servicios de forma gratuita, sin la necesidad de tener una tarjeta de crédito. Para activar esta cuenta, solo acceda al enlace al costado: **[AQUÍ](https://azure.microsoft.com/pt-br/free/students/?WT.mc_id=devto-blog-gllemos)**

Después de ingresar al Portal de Azure, seguiremos estos pasos:

1. Haga clic en el menú -> **SQL databases**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-6.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-6.png?w=1024)

2. Haga clic en: **Add**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-7.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-7.png?w=1024)

3. Complete todos los campos obligatorios: Subscription y Resource Group. Si no tiene uno, simplemente créelo haciendo clic en: **Create New**. Luego ingrese: **Database name**.

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-8.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-8.png?w=1024)

4. Luego deberá crear un **Server**. Para hacer esto, simplemente haga clic en: **Create new**. Al hacer clic, aparecerá una ventana en el lateral. Complete todos los campos necesarios e incluya un nombre de usuario y contraseña que no se olvide. Y luego haz clic: **Ok**

*Tip: intente escribirlo en un bloc de notas, ya que necesitaremos esta contraseña e login desués.*

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-10.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-10.png?w=1024)

5. Ahora haga clic en: **Compute + storage -> Configure database**.

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-11.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-11.png?w=1024)

6. Al hacer clic, aparecerá otra ventana. Como se trata de una simple demostración de migración, elijamos el plan más básico. Haga clic en: **Basic -> Apply**.

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-12.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-12.png?w=1024)

7. Luego haga clic en: **Review + Create** y finalmente: **Create**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-13.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-13.png?w=1024)

8. Después de terminar, haga clic en: **Go to Resource**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-14.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-14.png?w=1024)

9. Ahora se abrirá el Dashboard del recurso recién creado. Sin embargo, hagamos algo muy importante: ¡configure el firewall! Para hacer esto, vaya a: **Overview -> Set server firewall**. Se abrirá otra ventana.

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-15.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-15.png?w=1024)

10. Ahora que estamos en el **Firewall Settings**, haga clic en: **Add client IP**, haga clic en: **OK** (**Allow Azure Services** ...), incluya en el IP de su máquina y luego haga clic en: **Save**.

*tip: si desea obtener más información sobre las reglas de firewall IP en Azure SQL Server, simplemente vaya a: [AQUÍ](https://docs.microsoft.com/azure/sql-database/sql-database-firewall-configure?WT.mc_id=devto-blog-gllemos)*

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-16.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-16.png?w=1024)

11. Copie el nombre del servidor. ¡Lo necesitaremos para el próximo paso!

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-18.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-18.png?w=1024)

Bueno! ¡Ahora nuestra instancia está correctamente creada y configurada! ¡Ahora, terminemos la migración!

## Volviendo a SQL Server Management Studio localmente

Volvamos a la ventana de conexión que detuvimos y haremos la conexión necesaria. E incluya la siguiente información:

* **Server name**: obtendrá esta información del recurso creado en el paso anterior, haciendo clic en Overview en el Portal de Azure (paso anterior)
* **Authentication**: cambie a **SQL Server Authentication**
* **Login**: creado en el paso anterior
* **Password**: creada en el paso anterior

Y finalmente, haga clic en: **Connect**.

*tip: login y password del recurso creado en Azure!!!*

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-17.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-17.png?w=1024)

Tenga en cuenta que podemos cambiar cuánto necesitamos gastar en esa base de datos. También podemos hacer este cambio en esa parte del proceso. ¡Esto dependerá de la cantidad de datos que migrará a la nube! Puede usar la calculadora que está disponible **[AQUÍ](https://azure.microsoft.com/pricing/details/database-migration/?WT.mc_id=devto-blog-gllemos)**. En nuestro caso, como estamos haciendo una demostración, utilizaremos el plan básico y el tamaño: 2.

Luego haga clic en: **Next**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-19.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-19.png?w=1024)

Y finalmente haga clic en: **Finish**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-20.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-20.png?w=1024)

Tan pronto como haga clic en **Finish**, comenzará la migración que exportará todas las tareas.

Cuando aparece el mensaje: **Operation Complete** se debe a que la migración se realizó correctamente. Tenga en cuenta que el esquema, las tablas, todo se migró con éxito.

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-21.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-21.png?w=1024)

Ahora, puede cerrar la SQL Server Management y veamos qué sucedió, ¡pero ahora en el Portal de Azure!

Abra el Portal de Azure y vaya a: SQL Databases y vea lo que aparecerá:

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-6.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-6.png?w=1024)

Aparecerá, precisamente, la base de datos creada lógicamente y a la que migramos (que podría representar la base de datos en producción, por ejemplo). Haga clic en la base de datos recién migrada: **(demosqlazuredb)**

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-22.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-22.png?w=1024)

Ahora haga clic en: **Query editor (preview)** e incluya la contraseña creada en este recurso. ¡Hagamos algunas consultas SQL en esta base de datos recién migrada!

[![SQL Server](https://code4coders.files.wordpress.com/2020/01/image-23.png?w=1024)](https://code4coders.files.wordpress.com/2020/01/image-23.png?w=1024)

¡Ahora observe en el gif cómo los datos que anteriormente estaban contenidos localmente en SQL Server Management Studio ahora están disponibles en la nube!

[![SQL Server](https://s5.gifyu.com/images/sql-azure-01.gif)](https://s5.gifyu.com/images/sql-azure-01.gif)

Sensacional! Podemos: importar, exportar, crear procedimientos almacenados y mucho más. 😊

## Database Migration Assistant

Podemos migrar los datos de nuestro servidor SQL local utilizando una herramienta llamada: **Database Migration Assistant**. Esta herramienta fue creada para automatizar la migración de la base de datos a SQL Server desde Microsoft Access, DB2, MYSQL, Oracle y SAP ASE.

Si desea obtener información sobre cómo realizar la migración utilizando el **Database Migration Assistant** en las bases de datos yo dejo los recursos disponibles:

* **[SQL Server Migration Assistant para Access](https://docs.microsoft.com/sql/ssma/access/sql-server-migration-assistant-for-access-accesstosql?view=sql-server-ver15&WT.mc_id=devto-blog-gllemos)**
* **[SQL Server Migration Assistant para DB2](https://docs.microsoft.com/sql/ssma/db2/sql-server-migration-assistant-for-db2-db2tosql?view=sql-server-ver15&WT.mc_id=devto-blog-gllemos)**
* **[SQL Server Migration Assistant para MySQL](https://docs.microsoft.com/sql/ssma/mysql/sql-server-migration-assistant-for-mysql-mysqltosql?view=sql-server-ver15&WT.mc_id=devto-blog-gllemos)**
* **[SQL Server Migration Assistant para Oracle](https://docs.microsoft.com/sql/ssma/oracle/sql-server-migration-assistant-for-oracle-oracletosql?view=sql-server-ver15&WT.mc_id=devto-blog-gllemos)**
* **[SQL Server Migration Assistant para SAP ASE](https://docs.microsoft.com/sql/ssma/sybase/sql-server-migration-assistant-for-sybase-sybasetosql?view=sql-server-ver15&WT.mc_id=devto-blog-gllemos)**

Hay un tutorial que le enseña, paso a paso, cómo puede usar esta excelente herramienta que facilita mucho para hacer la migración: **[AQUÍ](https://docs.microsoft.com/azure/dms/tutorial-sql-server-to-azure-sql?WT.mc_id=devto-blog-gllemos)**.

## Próximos Pasos

Hoy aprendimos, con unos pocos pasos, lo fácil que es migrar desde nuestra base local a la nube. ¡Y que podemos hacer uso de otra herramienta que nos ayuda a diseñar y automatizar este proceso de migración en diferentes bases de datos!

Nuevamente, si desea que la parte 2 de este tutorial le enseñe paso a paso cómo realizar la migración con el Asistente de migración de base de datos y también cómo crear una VM SQL Server 2016/2017 en Azure, ¡simplemente déjelo aquí en los comentarios!

Y si desea saber más sobre Azure SQL Database, tenemos numerosos recursos, tutoriales y enlaces que pueden ayudar a todos a realizar estudios y aplicaciones en el mundo real:

* **[Cursos gratuitos - SQL Server en Linux](https://docs.microsoft.com/learn/browse/?term=server&products=sql-server&WT.mc_id=devto-blog-gllemos)**
* **[Tutorial: Migración de SQL Server a datos individuales en Azure SQL Database en línea usando DMS](https://docs.microsoft.com/azure/dms/tutorial-sql-server-azure-sql-online?WT.mc_id=devto-blog-gllemos)**
* **[Tutorial: Migrar MySQL a Azure Database para MySQL en línea usando DMS](https://docs.microsoft.com/azure/dms/tutorial-mysql-azure-mysql-online?WT.mc_id=devto-blog-gllemos)**
* **[Tutorial: Migración de PostgreSQL a Azure Database para PostgreSQL en línea usando DMS](https://docs.microsoft.com/azure/dms/tutorial-postgresql-azure-postgresql-online?WT.mc_id=devto-blog-gllemos)**
* **[Tutorial: Migración de Oracle a Azure Database para PostgreSQL en línea usando DMS (versión preliminar)](https://docs.microsoft.com/azure/dms/tutorial-oracle-azure-postgresql-online?WT.mc_id=devto-blog-gllemos)**
* **[Guía de migración de Azure Database Migration](https://azure.microsoft.com/resources/videos/how-to-use-the-azure-database-migration-guide/?WT.mc_id=devto-blog-gllemos)**
* **[Documentación oficial: migración de la base de datos de Azure](https://docs.microsoft.com/azure/dms/?WT.mc_id=devto-blog-gllemos)**

Espero que lo hayas disfrutado y nos vemos! Hasta muy pronto! 😃😃