Con esta herramienta las bases de datos tienen que verse, es decir, poder conectarse a través de la IP y comunicarse entre ellas. Si las bases de datos las tenéis en entornos diferentes o remotos y no tienen acceso la una a la otra os recomiendo que instaléis un servidor Windows Server e instaléis en él un SQL Server y un MySql y realices la migración en este nuevo entorno de desarrollo.
Para realizar esto os bajáis una versión trial de Windows Server de 180 https://www.microsoft.com/es-es/evalcenter/evaluate-windows-server-2019?filetype=ISO, tenéis que instalar:
- SQL Server, bajaros la versión developer que es para esto (https://www.microsoft.com/es-es/sql-server/sql-server-downloads)
- Instalamos también el SQL Server Management Studio (SSMS) para administrar SQL Server (https://docs.microsoft.com/es-es/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15)
- Instalar XAMPP para Windows (https://www.apachefriends.org/es/index.html) asi instalareis MySql y phpMyAdmin para administrarlo.
Aquí tenéis más información sobre la instalación de SQL Server (https://www.netveloper.com/instalar-sql-server-2019-gratis-para-desarrollar) y como instalar XAMPP ( https://www.netveloper.com/instalacion-de-un-entorno-LAMP-en-windows-con-XAMPP )
Una vez instalado el servidor y todas las aplicaciones necesarias para migración vamos a realizar los backups de las bases de datos que queremos migrar.
Realizamos el backup de la base de datos de MySql con el siguiente comando
mysqldump –u root –p base_de_datos > fichero.sql
Después fichero.sql lo restauramos en el nuevo servidor que hemos creadomysql –u root -p base_de_datos < fichero.sql
Ya tenemos el entorno de migración preparado ahora vamos a empezar la migración. Vamos a realizar los siguientes pasos:Paso 1
Instalamos las herramientas necesarias para la migración:- Instalar SQL Server Migration Assistant (SSMA) para MySQL (MySQLToSQL) para realizar la migración. Lo descargamos desde https://www.microsoft.com/en-us/download/details.aspx?id=54257
- Antes de instalar esta aplicación es necesario instalar el Visual Studio 2019 Redistributable Visual C++ ( https://support.microsoft.com/es-es/help/2977003/the-latest-supported-visual-c-downloads) fichero vc_redist.x86.exe
- Y también instalar el ODBC MySql driver que lo bajamos del web de MySql ( https://dev.mysql.com/downloads/connector/odbc/ ), fichero mysql-connector-odbc-8.0.22-winx64.msi e instalaremos la versión completa.
Ahora ya podemos instalar la utilidad de migración, MySQLToSQL, en la instalación seleccionamos la opción completa y siguiente todo. Una vez terminada la instalación aparece un icono en el escritorio, lo pulsamos y abrimos la aplicación para migrar bases de datos.
![SQL Server Migration Assistant (SSMA) para MySQL (MySQLToSQL) SQL Server Migration Assistant (SSMA) para MySQL (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/MySQLToSQL.jpg)
Paso 2
Lo siguiente que tenemos que hacer es crearnos un proyecto para trabajar con los dos sistemas de bases de datos![Nuevo proyecto (MySQLToSQL) Nuevo proyecto (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/nuevo-proyecto.jpg)
Paso 3
Una vez creado el proyecto conectamos los dos servidores de base de datos.![Conectar a SQL Server y a MySql (MySQLToSQL) Conectar a SQL Server y a MySql (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/conectar-mysql-sql.jpg)
Conectamos primero MySql, pulsamos Connect to MySql y aparece la ventana de conexión
![Conectar a MySql (MySQLToSQL) Conectar a MySql (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/conectar-mysql.jpg)
Y aparece el listado de bases de datos del servidor.
![Bases de datos de MySql (MySQLToSQL) Bases de datos de MySql (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/listado-tablas-mysql.jpg)
Podemos dejarlo así o solo seleccionar la que queremos migrar
Paso 4
Ahora conectamos SQL Server desde la opción Connect to SQL Server![Conectar al servidor SQL Server (MySQLToSQL) Conectar al servidor SQL Server (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/conectar-sql-server.jpg)
Importante marcar la opción Trust Server Certificate para poder conectarse al servidor y tener activado e iniciado el SQL Agent en el servidor SQL Server.
Si no lo tenéis activado lo podéis hacer desde el SSMS
![Activar SQL Agent desde SSMS Activar SQL Agent desde SSMS](/cw/W1BYJYZTZKJ84DZZWBTT0649/activar-sql-agent.jpg)
Una vez conectado en el panel de la izquierda veremos las bases de datos de los dos servidores.
![Panel izquierdo con bbdd de MySql y SQL Server - (MySQLToSQL) Panel izquierdo con bbdd de MySql y SQL Server - (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/bbdd-mysql-sqlserver.jpg)
Aquí tenemos que seleccionar las bases de datos origen en MySql, en mi caso será pruebas_migración y la de destino en SQL Server PRUEBAS.
Paso 5
Ahora vamos a migrar la estructura de la base de datos.Con el botón derecho del ratón seleccionamos la base de datos MySql que queremos migrar y seleccionamos la opción Convert Schema
![Migrar la estructura de MySql - (MySQLToSQL) Migrar la estructura de MySql - (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/convert_schema.jpg)
Esto convierte la estructura de la base de datos MySql a formato SQL Server, ahora desde el servidor SQL Sever tenemos que seleccionar Synchronize with Database
![Sincronizar la estructura de MySql - (MySQLToSQL) Sincronizar la estructura de MySql - (MySQLToSQL)](/cw/W1BYJYZTZKJ84DZZWBTT0649/synchronize-database.jpg)
Y se crearán las tablas en la base de datos SQL Server. Una vez acabado el proceso podemos ir al administrador de SQL Server y ver las tablas en la base de datos migrada
![Estructura base de datos SQL Server - (SSMS) Estructura base de datos SQL Server - (SSMS)](/cw/W1BYJYZTZKJ84DZZWBTT0649/estructura-base-datos-sql-server.jpg)
Paso 6
Migración de los datos.Ya tenemos la estructura migrada a SQL Server, ahora vamos a migrar los datos desde la opción del menú Migrate Data, nos pedirá conectarnos a los dos servidores de bases de datos, aceptamos y comienza la migración.
En la parte inferior podemos ir viendo el proceso de migración
![Proceso de migración de datos Proceso de migración de datos](/cw/W1BYJYZTZKJ84DZZWBTT0649/progreso-de-migracion.jpg)
Y una vez finalizada la migración nos dará un resumen del resultado
![Resumen del proceso de migración de datos Resumen del proceso de migración de datos](/cw/W1BYJYZTZKJ84DZZWBTT0649/resumen-migracion.jpg)
Donde vemos los registros que se han migrado.
Y esto es todo, y feliz programming
Saludos
Alex.
Añadir un comentarios:
![]() |
Alex 11/01/2023 20:58:55Hola
|
![]() |
Juan Valencia 11/01/2023 20:56:18Muy buen aporte, pero tengo una duda: ¿la herramienta también exporta las funciones y procedimientos almacenados?
|
![]() |
Leonardo Ulloa Serna 28/09/2022 05:53:11Excelente aporte, muchas gracias |
![]() |
Wilmer Perdomo 16/05/2021 08:13:22Muchísimas gracias, seguí los pasos al pie de la letra y me funcionó perfectamente.
|