La sección de migración del examen DP-300 pregunta qué herramienta usar en cada escenario. Más que memorizar nombres, hay que entender qué etapa del pipeline cubre cada herramienta. Como mudarse de casa, la migración de bases de datos sigue una secuencia: evaluar, elegir el destino, mover los datos y verificar el resultado.
Medir el Nuevo Espacio — Data Migration Assistant
Antes de mudarse, compruebas si los muebles caben por la puerta. En la migración de bases de datos, ese papel corresponde a .
DMA se conecta a una instancia local de SQL Server y detecta funciones obsoletas (deprecated), sintaxis no admitida por Azure SQL Database, consultas entre bases de datos y más. Genera un informe con recomendaciones de corrección detalladas. Sin DMA, los problemas bloqueantes aparecen durante la ejecución de la migración — como descubrir que el sofá no cabe por la puerta cuando el camión ya ha llegado.
DMA también puede migrar esquemas y datos de bases de datos pequeñas, no solo evaluarlas. Esto lo convierte en la herramienta ideal para pruebas de concepto o migraciones de entornos de desarrollo. va un paso más allá: captura una carga de trabajo real, la reproduce simultáneamente en el entorno de origen y el de destino, y compara el rendimiento a nivel de consulta. Si DMA responde "podemos migrar", DEA responde "el rendimiento se mantendrá tras la migración". Úsalo cuando quieras validar que el comportamiento de las consultas no va a empeorar.
Elegir el Destino Correcto — Selección de Plataforma
Antes de empacar, decides a qué tipo de vivienda te mudas. La familia Azure SQL ofrece tres opciones, cada una con un equilibrio diferente entre comodidad gestionada y flexibilidad operativa.
es un servicio PaaS completamente administrado. No admite características a nivel de instancia de SQL Server — SQL Agent Jobs, CLR, Linked Servers y consultas entre bases de datos no están disponibles. Es adecuado para cargas de trabajo nativas de la nube. admite la mayoría de las características a nivel de instancia y es la opción natural para migraciones lift-and-shift. Cuando la evaluación con DMA revela dependencias a nivel de instancia — como SQL Agent Jobs, CLR o cadenas de propiedad entre bases de datos —, Managed Instance es la elección realista. es un enfoque IaaS que proporciona control total del sistema operativo, programas de parches personalizados e instalación de agentes de terceros — a costa de asumir toda la responsabilidad de gestión de la infraestructura.
Elegir Cómo Mover los Datos — Azure Database Migration Service
¿Cerrarás el negocio durante la mudanza o lo mantendrás abierto durante todo el proceso? Esa es la diferencia fundamental entre la migración offline y la online.
es el servicio completamente administrado para el movimiento real de datos. Configuras un proyecto en Azure Portal, especificas origen, destino y detalles de conexión, y Azure se encarga del resto. La detiene la base de datos de origen, copia todos los datos al destino y luego cambia la conexión de la aplicación. Se puede usar una instancia DMS de nivel Standard, pero el tiempo de inactividad equivale al tiempo total de copia — una base de datos de varios cientos de gigabytes puede significar horas de interrupción del servicio. La mantiene el origen en funcionamiento durante todo el proceso. Tras restaurar un backup completo inicial en el destino, aplica continuamente los cambios mediante CDC (Change Data Capture) o streaming de log de transacciones. El DBA ejecuta manualmente el cutover cuando está listo — las escrituras en el origen se detienen, se aplican los cambios restantes y se cambia la conexión. El tiempo de inactividad suele ser de pocos minutos. La migración online requiere una ; el nivel Standard no la admite.
Todo en una Caja — BACPAC
Para una mudanza pequeña, el maletero del coche es suficiente sin necesidad de un gran camión. empaqueta el esquema (DDL) y los datos (DML) de una base de datos en un único archivo . La exportación e importación se realizan con o desde Azure Portal, lo que hace el proceso accesible con pocos clics.
BACPAC es adecuado para escenarios donde el tiempo de inactividad es aceptable, bases de datos pequeñas o traslados de entornos de desarrollo y prueba. Si los datos cambian durante la exportación, la consistencia se compromete — lo más seguro es detener la aplicación antes de exportar. Para bases de datos de varios cientos de gigabytes o más, el coste de tiempo hace que BACPAC sea poco práctico.
Una Ruta de Precisión para Managed Instance — Log Replay Service
Imagina a un técnico ensamblando muebles siguiendo las hojas de instrucciones una a una, en orden estricto. funciona exactamente así: reproduce archivos de copia de seguridad de log de transacciones de forma secuencial para restaurar una Managed Instance hasta un punto objetivo en el tiempo. LRS es y no puede usarse con Azure SQL Database como destino.
El proceso es sencillo: sube un backup completo desde el SQL Server local a Azure Blob Storage y continúa subiendo backups de log de transacciones. LRS restaura el backup completo en la MI y reproduce los archivos de log en orden. La base de datos permanece en estado y no es accesible para las aplicaciones durante esta fase. Cuando estás listo, un comando de cutover la pone en línea. LRS permite migrar a Managed Instance sin un servicio DMS, ofrece control manual preciso sobre la ventana de cutover y evita los costes del nivel DMS. Los nombres de los archivos de backup deben seguir una convención que coincida con el orden de la secuencia de transacciones, y los permisos de acceso a Blob Storage (token SAS o Managed Identity) deben configurarse correctamente.
Tabla Comparativa y Errores Frecuentes en el Examen
Si el escenario implica evaluación o análisis, elige DMA o DEA. Para el movimiento real de datos, elige entre DMS, LRS o BACPAC en función de la tolerancia al tiempo de inactividad y la plataforma de destino.
| Herramienta | Rol | Destino | Tiempo de inactividad | |:--|:--|:--|:--| | DMA | Evaluación + migración pequeña | Azure SQL DB / MI | Ninguno (solo evaluación) | | DEA | Comparación de rendimiento | Azure SQL DB / MI | Ninguno | | DMS Offline | Copia completa y cambio | DB / MI / VM | Sí (Standard válido) | | DMS Online | Sincronización + cutover | DB / MI / VM | Mínimo (Premium obligatorio) | | BACPAC | Paquete portátil | Azure SQL DB / MI | Sí (DBs pequeñas) | | LRS | Reproducción secuencial de logs | Solo MI | Breve (cutover manual) |
Errores frecuentes en el examen: DMS Online requiere una instancia de nivel Premium — elegir nivel Standard es una respuesta incorrecta muy habitual. LRS es exclusivo de MI y no puede migrar a Azure SQL Database. BACPAC requiere detener la aplicación durante la exportación para garantizar la consistencia de los datos.
!Comparación de 4 herramientas de migración
Después de la Mudanza — Cutover y Validación Post-Migración
Mover las cajas no significa que todo esté terminado. Hay que comprobar que todo funciona correctamente en el nuevo entorno.
En la migración online, el es un punto de no retorno. Hasta el cutover, el origen sigue activo y siempre es posible revertir. Planifica de antemano una estrategia de — si la aplicación se conecta mediante un nombre DNS en lugar de una IP directa, basta con cambiar un registro DNS para revertir si algo sale mal. La validación post-migración necesita más que una comparación de recuentos de filas. Realiza comparaciones de checksum, verificación de registros de muestra en tablas clave y pruebas de integración de la aplicación para confirmar la integridad de los datos. Activa antes de la migración para comparar los planes de ejecución y el rendimiento de las consultas antes y después con datos reales. Mantén el igual que el origen al principio y auméntalo gradualmente para evitar cambios inesperados en el comportamiento del optimizador de consultas.
Resumen para el Examen
"Evaluación de compatibilidad", "verificar funciones obsoletas" -- Data Migration Assistant (DMA) "Comparación de rendimiento", "reproducción de carga de trabajo" -- Database Experimentation Assistant (DEA) "Minimizar tiempo de inactividad", "operación 24/7", "cutover manual" -- DMS Online (nivel Premium obligatorio) "Tiempo de inactividad aceptable", "ventana de mantenimiento" -- DMS Offline (nivel Standard válido) "Base de datos pequeña", "portabilidad", "paquete portátil" -- BACPAC (SqlPackage.exe) "Solo Managed Instance", "restauración de cadena de logs", "control manual de cutover" -- Log Replay Service (LRS) "Usar LRS con Azure SQL Database" -- No es posible (solo MI) "DMS Online con nivel Standard" -- No es posible (nivel Premium obligatorio) "Características a nivel de instancia" (SQL Agent, CLR, Linked Server) -- Azure SQL Managed Instance "Reversión después del cutover" -- Estrategia de DNS cutover "Comparación de rendimiento antes y después" -- Activar Query Store con antelación "Estrategia de nivel de compatibilidad" -- Mantener el del origen y actualizar gradualmente
DMA = verificación previa a la mudanza, DMS = transporte de datos, LRS = reproducción de logs solo en MI, BACPAC = paquete portátil a pequeña escala