Tutorial: Migración de SQL Server a Azure SQL Database sin conexión
Puede usar Azure Database Migration Service por medio de la extensión Azure SQL Migration para Azure Data Studio o Azure Portal para migrar las bases de datos de una instancia local de SQL Server a Azure SQL Database sin conexión y con un tiempo de inactividad mínimo.
En este tutorial, aprenderá a migrar la base de datos de muestra AdventureWorks2022
desde una instancia local de SQL Server a una instancia de base de datos de Azure SQL mediante Azure Database Migration Service. Este tutorial utiliza el modo de migración sin conexión, en el que se tiene en cuenta un tiempo de inactividad aceptable durante el proceso de migración.
En este tutorial, aprenderá a:
- Abrir el Asistente para migrar a Azure SQL en Azure Data Studio.
- Ejecutar una evaluación de las bases de datos de origen de SQL Server de origen.
- Recopilar datos de rendimiento de la instancia de SQL Server de origen.
- Obtener una recomendación de la SKU de Azure SQL Database más adecuada para su carga de trabajo.
- Creación de una instancia de Azure Database Migration Service
- Iniciar la migración y supervisar el progreso hasta su finalización.
Sugerencia
En Azure Database Migration Service, puede migrar las bases de datos sin conexión o mientras están en línea. Con una migración sin conexión, el tiempo de inactividad de la aplicación se inicia cuando comienza la migración. Para limitar el tiempo de inactividad al tiempo necesario para la transición al nuevo entorno cuando finalice la migración, use una migración en línea. Se recomienda probar una migración sin conexión para determinar si el tiempo de inactividad es aceptable. Si el tiempo de inactividad esperado no es aceptable, realice una migración en línea.
Importante
Actualmente, las migraciones en línea a destinos de Azure SQL Database no están disponibles.
Opciones de migración
En la sección siguiente, se describe cómo usar Azure Database Migration Service con la extensión Azure SQL Migration o en Azure Portal.
Requisitos previos
Antes de comenzar el tutorial:
Instale la extensión Azure SQL Migration desde el marketplace de Azure Data Studio.
Debe tener una cuenta de Azure que esté asignada a uno de los siguientes roles integrados:
- Colaborador de la instancia de destino de Azure SQL Database.
- Rol de lector del grupo de recursos de Azure que contiene la instancia de destino de Azure SQL Database.
- Rol de propietario o colaborador de la suscripción de Azure (necesario si crea una nueva instancia de Azure Database Migration Service).
Como alternativa al uso de uno de estos roles integrados, puede asignar un rol personalizado.
Importante
Una cuenta de Azure solo es necesaria cuando se configuran los pasos de migración. Una cuenta de Azure no es necesaria para la evaluación ni para ver las recomendaciones de Azure en el Asistente para la migración de Azure Data Studio.
Cree una instancia de destino de Azure SQL Database.
Asegúrese de que el inicio de sesión de SQL Server que conecta con la instancia de SQL Server de origen sea miembro del rol db_datareader y que el inicio de sesión de la instancia de SQL Server de destino sea miembro del rol de db_owner.
Para migrar el esquema de la base de datos de Azure SQL del origen al destino mediante Database Migration Service, la versión SHIR mínima admitida necesaria es 5.37 o superior.
Si es la primera vez que usa Database Migration Service, asegúrese de que el proveedor de recursos Microsoft.DataMigration esté registrado en su suscripción.
Nota:
Ahora, puede migrar el esquema de la base de datos y los datos mediante Database Migration Service. Además, puede usar herramientas como la extensión dacpac de SQL Server o la extensión SQL Database Projects para Azure Data Studio para migrar el esquema antes de seleccionar la lista de tablas que se van a migrar.
Si no existen tablas en el destino de Azure SQL Database o no hay ninguna tabla seleccionada antes de iniciar la migración, el botón Siguiente no está disponible para seleccionar iniciar la tarea de migración. Si no existe tablas en el destino, debe seleccionar la opción Migración de esquema para avanzar.
Abrir el Asistente para migrar a Azure SQL en Azure Data Studio.
Para abrir el Asistente para la migración a Azure SQL:
En Azure Data Studio, vaya a Conexiones. Seleccione la instancia local de SQL Server y conéctese a ella. También puede conectarse a SQL Server en una máquina virtual de Azure.
Haga clic con el botón derecho en la conexión del servidor y seleccione Administrar.
En el menú del servidor, en General, seleccione Azure SQL Migration.
En el panel Azure SQL Migration, seleccione Migrar a Azure SQL para abrir el Asistente para la migración.
En la primera página del asistente, inicie una nueva sesión o reanude una guardada anteriormente.
Ejecución de la evaluación de bases de datos, recopilación de datos de rendimiento y obtención de recomendaciones de Azure
En el Paso 1: Bases de datos para la evaluación del Asistente para la migración a Azure SQL, seleccione las bases de datos que quiere evaluar. Después, seleccione Siguiente.
En Paso 2: Resultados y recomendaciones de evaluación, realice los pasos siguientes:
En Elija su destino de Azure SQL, seleccione Azure SQL Database.
Seleccione Ver o seleccionar para ver los resultados de la evaluación.
En los resultados de la evaluación, seleccione la base de datos y revise el informe de evaluación para asegurarse de que no se encontraron problemas.
Seleccione Obtener recomendación de Azure para abrir el panel de recomendaciones.
Seleccione Recopilar datos de rendimiento ahora. Seleccione una carpeta en el equipo local para almacenar los registros de rendimiento y, luego, elija Iniciar.
Azure Data Studio recopila datos de rendimiento hasta que detenga la recopilación de datos o cierre Azure Data Studio.
Al cabo de 10 minutos, Azure Data Studio indica que hay una recomendación disponible para Azure SQL Database. Después de generar la primera recomendación, puede seleccionar Reiniciar la recopilación de datos para continuar con el proceso de recopilación de datos y ajustar las recomendaciones de SKU. Una evaluación extendida es especialmente útil si los patrones de uso varían con el tiempo.
En el destino Azure SQL Base Database seleccionado, elija Ver detalles para abrir el informe detallado de recomendaciones de SKU:
En Revisar recomendaciones de Azure SQL Database, revise la recomendación. Para guardar una copia de la recomendación, seleccione Guardar informe de recomendación.
Seleccione Cerrar para cerrar el panel de recomendaciones.
Seleccione Siguiente para continuar con la migración de la base de datos en el asistente.
Configuración de valores de migración
En Paso 3: Destino de Azure SQL en el Asistente para la migración a Azure SQL, realice estos pasos para la instancia de Azure SQL Database de destino:
Seleccione la cuenta, la suscripción, la región o la ubicación de Azure y el grupo de recursos que contiene la implementación de Azure SQL Database.
En Servidor de Azure SQL Database, seleccione el servidor de Azure SQL Database de destino (servidor lógico). Escriba un nombre de usuario y una contraseña para la implementación de la base de datos de destino. A continuación, seleccione Conectar. Escriba las credenciales para comprobar la conectividad con la base de datos de destino.
A continuación, asigne la base de datos de origen y la base de datos de destino para la migración. En Base de datos de destino, seleccione el destino de Azure SQL Database. A continuación, seleccione Siguiente para ir al paso siguiente del Asistente para la migración.
En Paso 4: Modo de migración, seleccione Migración sin conexión y, luego, elija Siguiente.
En Paso 5: Configuración del origen de datos, realice los pasos siguientes:
En Credenciales de origen, escriba las credenciales de SQL Server de origen.
En Seleccionar tablas, seleccione el icono de lápiz Editar.
En Seleccionar tablas para <nombre de base de datos>, seleccione las tablas que se van a migrar al destino. La columna Tiene filas indica si la tabla de destino tiene filas en la base de datos de destino. Puede seleccionar una o varias tablas. Después, seleccione Actualizar.
Puede actualizar la lista de tablas seleccionadas en cualquier momento antes de iniciar la migración.
En el ejemplo siguiente, se ha aplicado un filtro de texto para seleccionar solo las tablas que contienen la palabra
Employee
. Seleccione una lista de tablas en función de sus necesidades de migración.
Revise las selecciones de tablas y, luego, elija Siguiente para ir al paso siguiente del Asistente para la migración.
Nota
Si no se selecciona ninguna tabla o si no se especifica un nombre de usuario y una contraseña, el botón Siguiente no está disponible para seleccionar.
Ahora, puede migrar el esquema de la base de datos y los datos mediante Database Migration Service. Además, puede usar herramientas como la extensión dacpac de SQL Server o la extensión SQL Database Projects para Azure Data Studio para migrar el esquema antes de seleccionar la lista de tablas que se van a migrar.
Creación de una instancia de Azure Database Migration Service
En el paso 6: Azure Database Migration Service del asistente para la migración a Azure SQL, cree una nueva instancia de Azure Database Migration Service o reutilice una existente que haya creado anteriormente.
Nota:
Si anteriormente creó una instancia de Database Migration Service mediante Azure Portal, no podrá volver a usarla en el Asistente para la migración en Azure Data Studio. Solo puede reutilizar una instancia si la creó mediante Azure Data Studio.
Uso de una instancia existente de Database Migration Service
Para usar una instancia existente de Database Migration Service, siga estos pasos:
En Grupo de recursos, seleccione el grupo de recursos que contiene una instancia existente de Database Migration Service.
En Azure Database Migration Service, seleccione una instancia existente de Database Migration Service que se encuentre en el grupo de recursos seleccionado.
Seleccione Next (Siguiente).
Creación de una nueva instancia de Database Migration Service
Para crear una nueva instancia de Database Migration Service, siga estos pasos:
En Grupo de recursos, cree un nuevo grupo de recursos que contenga una nueva instancia de Database Migration Service.
En Azure Database Migration Service, seleccione Crear nuevo.
En Crear Azure Database Migration Service, escriba un nombre para la instancia de Database Migration Service y seleccione Crear.
En Configurar el entorno de ejecución de integración, realice los pasos siguientes:
Seleccione el vínculo Descargar e instalar el entorno de ejecución de integración para abrir el vínculo de descarga en un explorador web. Descargue el entorno de ejecución de integración y, luego, instálelo en un equipo que cumpla los requisitos previos para la conexión con la instancia de SQL Server de origen.
Una vez completada la instalación, se abre automáticamente Microsoft Integration Runtime Configuration Manager para iniciar el proceso de registro.
En la tabla Clave de autenticación, copie una de las claves de autenticación que se proporcionan en el asistente y péguela en Azure Data Studio.
Si la clave de autenticación es válida, aparece una marca de verificación verde en Integration Runtime Configuration Manager. Una marca verde de verificación indica que puede continuar con el registro.
Después de registrar el entorno de ejecución de integración autohospedado, cierre Microsoft Integration Runtime Configuration Manager.
Nota:
Para obtener más información sobre el entorno de ejecución de integración autohospedado, vea Creación y configuración de un entorno de ejecución de integración autohospedado.
En Crear Azure Database Migration Service en Azure Data Studio, seleccione Probar conexión para validar que la instancia de servicio de Database Migration Service recién creada está conectada al entorno de ejecución de integración autohospedado recién registrado.
Vuelva al Asistente para la migración en Azure Data Studio.
Inicio de la migración de la base de datos
En Paso 7: Resumen del Asistente para la migración a Azure SQL, revise la configuración que ha creado y, luego, elija Iniciar migración para iniciar la migración de la base de datos.
Supervisión de la migración de la base de datos
En Azure Data Studio, en el menú del servidor en General, seleccione Azure SQL Migration para ir al panel de las migraciones de Azure SQL Database.
En Estado de migración de las bases de datos, puede realizar un seguimiento de las migraciones en curso, completadas y con errores (si las hay), o puede ver todas las migraciones de base de datos.
Seleccione Migraciones de base de datos en curso para ver las migraciones activas.
Para más información sobre una migración específica, seleccione el nombre de la base de datos.
Database Migration Service devuelve el estado de migración más reciente conocido cada vez que se actualiza el estado de migración. En la tabla siguiente se describen los posibles estados:
Estado Descripción Preparación para la copia El servicio deshabilita las estadísticas automáticas, los desencadenadores y los índices de la tabla de destino. Copiar Los datos se copian de la base de datos de origen a la base de datos de destino. Copia finalizada La copia de datos ha finalizado. El servicio está a la espera de que otras tablas terminen de copiarse para comenzar los pasos finales a fin de devolver las tablas al esquema original Reconstrucción de índices El servicio está recompilando los índices de las tablas de destino. Correcto Todos los datos se copian y los índices se vuelven a compilar. Compruebe la página de detalles de la migración para ver el estado actual de cada base de datos.
Este es un ejemplo de la migración de la base de datos
AdventureWorks2022
con el estado En creación:En la barra de menús, seleccione Actualizar para actualizar el estado de la migración.
Una vez actualizado el estado de la migración, el estado actualizado de la migración de base de datos
AdventureWorks2022
de ejemplo pasa a En curso:Seleccione un nombre de base de datos para abrir la vista de tabla. En esta vista, verá el estado actual de la migración, el número de tablas que se encuentran actualmente en ese estado y un estado detallado de cada tabla.
Después de migrar todos los datos de tabla al destino de Azure SQL Database, Database Migration Service actualiza el estado de la migración de En curso a Correcto.
Nota
Database Migration Service optimiza la migración omitiendo las tablas sin datos (0 filas). Las tablas que no tienen datos no aparecen en la lista, incluso si selecciona las tablas al crear la migración.
Ahora ha completado la migración a Azure SQL Database. Le recomendamos que realice una serie de tareas posteriores a la migración para garantizar que todo funcione de forma fluida y eficaz.
Importante
Asegúrese de aprovechar las características avanzadas basadas en la nube que ofrece Azure SQL Database. Las características incluyen alta disponibilidad integrada, detección de amenazas y supervisión y optimización de la carga de trabajo.
Limitaciones
La migración sin conexión de Azure SQL Database emplea canalizaciones de Azure Data Factory (ADF) para el movimiento de datos y, por tanto, respeta las limitaciones de ADF. También se crea una instancia de ADF correspondiente cuando se crea un servicio de migración de base de datos. Por lo tanto, se aplican límites de fábrica por servicio.
- La máquina donde se instala SHIR actúa como proceso de la migración. Asegúrese de que esta máquina pueda administrar la carga de CPU y memoria de la copia de datos. Para obtener más información, consulte Creación y configuración de un entorno de ejecución de integración autohospedado.
- Límite de 100 000 tablas por base de datos.
- Límite de 10 000 migraciones simultáneas de bases de datos por servicio.
- La velocidad de migración depende en gran medida del SKU de Azure SQL Database de destino y del host de entorno de ejecución de integración autohospedado.
- La migración de Azure SQL Database se escala de forma deficiente con números de tabla debido a la sobrecarga de ADF en las actividades de inicio. Si una base de datos tiene miles de tablas, el proceso de inicio de cada tabla puede tardar un par de segundos, aunque estén compuestas por una fila con 1 bit de datos.
- Los nombres de tabla de Azure SQL Database con caracteres de doble byte no se admiten actualmente para la migración. La mitigación consiste en cambiar el nombre de las tablas antes de la migración; se pueden volver a cambiar a sus nombres originales después de una migración correcta.
- Es posible que las tablas con columnas de blob grandes no se migren debido al tiempo de espera.
- Los nombres de base de datos con SQL Server reservado no se admiten actualmente.
- Los nombres de tabla que incluyen punto y coma no se admiten actualmente.
- Las columnas calculadas no se migran.