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 AdventureWorks2019 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:

  • Descargue e instale Azure Data Studio.

  • 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 base de datos de origen a azure SQL DB de destino mediante Database Migration Service, la versión mínima admitida de SHIR 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 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 Proyectos de SQL Database en Azure Data Studio para migrar el esquema antes de seleccionar la lista de tablas que se van a migrar.

Si no existe ninguna tabla en el destino de Azure SQL Database o no se selecciona ninguna tabla antes de iniciar la migración, el botón Siguiente no está disponible para seleccionar para iniciar la tarea de migración. Si no existe ninguna tabla 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:

  1. 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.

  2. En la conexión del servidor, haga clic con el botón derecho y seleccione Administrar.

    Screenshot that shows a server connection and the Manage option in Azure Data Studio.

  3. En el menú del servidor, en General, seleccione Azure SQL Migration.

    Screenshot that shows the Azure Data Studio server menu.

  4. En el panel Azure SQL Migration, seleccione Migración a Azure SQL para abrir el Asistente para la migración.

    Screenshot that shows the Migrate to Azure SQL wizard.

  5. 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

  1. 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.

    Screenshot that shows selecting a database for assessment.

  2. En el Paso 2: resultados y recomendaciones de evaluación, complete los pasos siguientes:

    1. En Elija su destino de Azure SQL, seleccione Azure SQL Database.

      Screenshot that shows selecting the Azure SQL Database target.

    2. Seleccione Ver/Seleccionar para ver los resultados de la evaluación.

      Screenshot that shows view/select assessment results.

    3. 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.

      Screenshot that shows the assessment report.

    4. Seleccione Obtener recomendación de Azure para abrir el panel de recomendaciones.

      Screenshot that shows Azure recommendations.

    5. Seleccione Recopilar datos de rendimiento ahora. Seleccione una carpeta en el equipo local para almacenar los registros de rendimiento y, luego, elija Iniciar.

      Screenshot that shows performance data collection.

      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.

      Screenshot that shows performance data collected.

    6. En el destino Azure SQL Base Database seleccionado, elija Ver detalles para abrir el informe detallado de recomendaciones de SKU:

      Screenshot that shows the View details link for the target database recommendations.

    7. 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.

      Screenshot that shows SKU recommendation details.

  3. Seleccione Cerrar para cerrar el panel de recomendaciones.

  4. Seleccione Siguiente para continuar con la migración de la base de datos en el asistente.

Configuración de valores de migración

  1. 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:

    1. 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.

      Screenshot that shows Azure account details.

    2. 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.

      Screenshot that shows Azure SQL Database details.

    3. 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.

      Screenshot that shows source and target mapping.

  2. En Paso 4: Modo de migración, seleccione Migración sin conexión y, luego, elija Siguiente.

    Screenshot that shows offline migrations selection.

  3. En Paso 5: Configuración del origen de datos, realice los pasos siguientes:

    1. En Credenciales de origen, escriba las credenciales de SQL Server de origen.

    2. En Seleccionar tablas, seleccione el icono de lápiz Editar.

      Screenshot that shows source SQL Server credentials.

    3. 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.

      Screenshot that shows the table selection.

  4. Revise las selecciones de tablas y, luego, elija Siguiente para ir al paso siguiente del Asistente para la migración.

    Screenshot that shows selected tables to migrate.

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 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 Proyectos de SQL Database en Azure Data Studio para migrar 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:

  1. En Grupo de recursos, seleccione el grupo de recursos que contiene una instancia existente de Database Migration Service.

  2. En Azure Database Migration Service, seleccione una instancia existente de Database Migration Service que se encuentre en el grupo de recursos seleccionado.

  3. Seleccione Next (Siguiente).

    Screenshot that shows Database Migration Service selection.

Creación de una nueva instancia de Database Migration Service

Para crear una nueva instancia de Database Migration Service, siga estos pasos:

  1. En Grupo de recursos, cree un nuevo grupo de recursos que contenga una nueva instancia de Database Migration Service.

  2. En Azure Database Migration Service, seleccione Crear nuevo.

  3. En Crear Azure Database Migration Service, escriba un nombre para la instancia de Database Migration Service y seleccione Crear.

  4. En Configurar el entorno de ejecución de integración, realice los pasos siguientes:

    1. 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.

      Screenshot that shows the Download and install integration runtime link.

      Una vez completada la instalación, se abre automáticamente Microsoft Integration Runtime Configuration Manager para iniciar el proceso de registro.

    2. 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.

      Screenshot that highlights the authentication key table in the wizard.

      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.

  5. 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.

    Screenshot that shows IR connectivity test.

  6. 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.

Screenshot that shows how to start migration.

Supervisión de la migración de la base de datos

  1. 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.

    Screenshot that shows monitor migration dashboard.

  2. 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.

    Screenshot that shows database migration details.

    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.
    asincrónica 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.
  3. 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 AdventureWorks2019 con el estado En creación:

    Screenshot that shows a creating migration status.

  4. 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 AdventureWorks2019 de ejemplo pasa a En curso:

    Screenshot that shows a migration in progress status.

  5. 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.

    Screenshot that shows monitoring table migration.

    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.

    Screenshot that shows succeeded migration.

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 más información, revise Recomendaciones de SHIR.
  • 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.

Pasos siguientes