Guía de migración: de SQL Server a Azure SQL Managed Instance

SE APLICA A: Azure SQL Managed Instance

Esta guía le ayuda a migrar la instancia de SQL Server a Azure SQL Managed Instance.

Puede migrar las instancias de SQL Server que se ejecutan de forma local o en:

  • SQL Server en Virtual Machines
  • Amazon Web Services (AWS) EC2
  • Amazon Relational Database Service (AWS RDS)
  • Compute Engine (Google Cloud Platform o GCP)
  • SQL en la nube para SQL Server (Google Cloud Platform o GCP)

Para más información acerca de la migración, consulte Introducción a la migración: SQL Server a SQL Database. Para ver otras guías de migración, consulte Migración de bases de datos.

Flujo del proceso de migración

Requisitos previos

Para migrar la instancia de SQL Server a Azure SQL Managed Instance, asegúrese de que:

Antes de la migración

Después de comprobar que se admite el entorno de origen, comience con la fase previa a la migración. Detecte todos los orígenes de datos existentes, evalúe la viabilidad de la migración e identifique los problemas de bloqueos que podrían impedir la migración.

Descubra

En la fase de descubrimiento, examine la red para identificar todas las instancias y características de SQL Server que usa su organización.

Use Azure Migrate para evaluar la idoneidad de migración de los servidores locales, realizar ajustes de tamaño basados en el rendimiento y proporcionar estimaciones del costo que supone su ejecución en Azure.

También puede usar el  kit de herramientas de evaluación y planeamiento de Microsoft ("kit de herramientas MAP") para evaluar la infraestructura de TI actual. El kit de herramientas proporciona una herramienta de inventario, evaluación y generación de informes eficaz para simplificar el proceso de planeamiento de la migración.

Para más información acerca de las herramientas disponibles para usar en la fase de detección, consulte Servicios y herramientas disponibles para escenarios de migración de datos.

Una vez descubiertos los orígenes de datos, evalúe cualquier instancia de SQL Server local que se pueda migrar a Azure SQL Managed Instance para identificar los bloqueadores de migración o los problemas de compatibilidad. Realice los pasos siguientes para evaluar y migrar las bases de datos a Azure SQL Managed Instance:

Pasos para la migración a Azure SQL Managed Instance

Evaluar

Nota

Si va a evaluar todo el patrimonio de datos de SQL Server a gran escala en VMWare, use Azure Migrate para obtener recomendaciones de implementación de Azure SQL, el ajuste de tamaño de destino y las estimaciones mensuales.

Determine si SQL Managed Instance es compatible con los requisitos de base de datos de la aplicación. Instancia administrada de SQL se ha diseñado para poder migrar mediante lift-and-shit la mayoría de las aplicaciones existentes que usan SQL Server. Sin embargo, a veces podría necesitar características o funcionalidades que todavía no se admiten y el costo de implementar una solución alternativa es demasiado alto.

Puede usar Data Migration Assistant (versión 4.1 y posteriores) para evaluar las bases de datos a fin de obtener:

Para evaluar su entorno con la evaluación de migración de bases de datos, realice estos pasos:

  1. Abra Data Migration Assistant (DMA).
  2. Seleccione Archivo y, luego, elija Evaluación nueva.
  3. Especifique un nombre de proyecto, seleccione SQL Server como tipo de servidor de origen y, luego, elija Azure SQL Managed Instance como tipo de servidor de destino.
  4. Seleccione los tipos de informes de evaluación que quiere generar. Por ejemplo, compatibilidad de bases de datos y paridad de características. Según el tipo de evaluación, los permisos necesarios en la instancia de SQL Server de origen pueden ser diferentes. DMA resaltará los permisos necesarios para el asesor elegido antes de ejecutar la evaluación.
    • La categoría Paridad de características proporciona un conjunto completo de recomendaciones, alternativas disponibles en Azure y pasos de mitigación para ayudarle a planear el proyecto de migración. (Se necesitan permisos de administrador del sistema).
    • La categoría Problemas de compatibilidad identifica problemas de compatibilidad de características no compatibles o parcialmente compatibles que podrían impedir la migración y las recomendaciones para resolverlos (se requieren los permisos CONNECT SQL, VIEW SERVER STATE y VIEW ANY DEFINITION).
  5. Especifique los detalles de la conexión de origen para su instancia de SQL Server y conéctese a la base de datos de origen.
  6. Seleccione Iniciar valoración.
  7. Una vez completado el proceso, seleccione y revise los informes de evaluación para ver los problemas de bloqueo de la migración y de paridad de características. El informe de evaluación también se puede exportar a un archivo que se pueda compartir con otros equipos o con personal de la organización.
  8. Determine el nivel de compatibilidad de la base de datos que minimiza los esfuerzos posteriores a la migración.
  9. Identifique la mejor SKU de Azure SQL Managed Instance para su carga de trabajo local.

Para obtener más información, consulte Evaluación de la migración de SQL Server con Data Migration Assistant.

Si SQL Managed Instance no es un objetivo adecuado para su carga de trabajo, SQL Server en las VM de Azure puede ser un destino alternativo viable para su negocio.

Evaluaciones y análisis escalados

Data Migration Assistant admite la realización de evaluaciones escaladas y la consolidación de los informes de evaluación para el análisis. Si tiene varios servidores y bases de datos que deben evaluarse y analizarse a escala para proporcionar una vista más amplia del estado de los datos, haga clic en los vínculos siguientes para obtener más información.

Importante

La ejecución de evaluaciones a escala para varias bases de datos también se puede automatizar mediante la utilidad de línea de comandos de DMA, que también permite cargar los resultados en Azure Migrate para análisis adicionales y para la preparación del destino.

Implementación en una instancia administrada con tamaño óptimo

En función de la información de la fase de descubrimiento y evaluación, cree una instancia de SQL Managed Instance de destino con el tamaño adecuado. Para hacerlo, puede usar Azure Portal, PowerShell o una plantilla de Azure Resource Manager (ARM).

Instancia administrada de SQL se ha diseñado para cargas de trabajo locales que se van a mover a la nube. Presenta un modelo de compra que ofrece mayor flexibilidad para seleccionar el nivel adecuado de recursos para las cargas de trabajo. En el mundo local, probablemente está acostumbrado a ajustar el tamaño de estas cargas de trabajo mediante el uso de núcleos físicos y ancho de banda de E/S. El modelo de compra de instancia administrada se basa en núcleos virtuales con almacenamiento adicional y E/S disponible por separado. El modelo de núcleos virtuales es una manera sencilla de comprender los requisitos de proceso en la nube en comparación con lo que usa en su entorno local hoy en día. Este modelo de compra permite elegir el tamaño adecuado para el entorno de destino en la nube. Aquí se describen algunas directrices generales que pueden ayudarle a elegir las características y el nivel de servicio correctos:

  • Según el uso de CPU de la base, puede aprovisionar una instancia administrada que coincida con el número de núcleos que usa en SQL Server, teniendo en cuenta que puede que las características de la CPU deban escalarse para que coincidan con las características de la máquina virtual en la que está instalada la instancia administrada.
  • En función del uso de memoria de la base de referencia, elija el nivel de servicio que se ajuste a la memoria. La cantidad de memoria no se puede elegir directamente, por lo que tendría que seleccionar la instancia administrada con la cantidad de núcleos virtuales que coincida con la memoria (por ejemplo, 5,1 GB/núcleo virtual en Gen5).
  • En función de la latencia de E/S de la base de referencia del subsistema de archivos, elija entre los niveles de servicio De uso general (latencia mayor que 5 ms) y Crítico para la empresa (latencia inferior a 3 ms).
  • Según el rendimiento de la base de referencia, asigne previamente el tamaño de los archivos de datos o de registro para obtener el rendimiento de E/S esperado.

Puede seleccionar recursos de almacenamiento y proceso en el momento de la implementación y, posteriormente, cambiarlos sin provocar tiempo de inactividad de la aplicación con Azure Portal:

Tamaño de la instancia administrada

Para más información sobre la creación de la infraestructura de red virtual y una instancia administrada, consulte Creación de una Instancia administrada.

Importante

Es importante que la red virtual y la subred de destino cumplan siempre los requisitos de red virtual de Instancia administrada. Cualquier incompatibilidad puede impedir crear nuevas instancias o usar las que ya ha creado. Obtenga más información sobre la creación de nuevas redes y la configuración de las ya existentes.

Migrar

Una vez completadas las tareas asociadas a la fase previa a la migración, está listo para realizar la migración del esquema y los datos.

Migre sus datos con el método de migración elegido.

Instancia administrada de SQL se ha diseñado para escenarios de usuario que requieren la migración masiva de bases de datos desde implementaciones locales o de base de datos de máquina virtual de Azure. Son la opción ideal si se necesita migrar mediante lift-and-shift las aplicaciones back-end que periódicamente usan funcionalidades del nivel de instancia o entre bases de datos. Si este es su caso, puede mover una instancia completa al entorno correspondiente en Azure sin necesidad de rediseñar sus aplicaciones.

Para mover las instancias de SQL, deberá planear cuidadosamente:

  • La migración de todas las bases de datos que deben situarse juntas (que se ejecutan en la misma instancia).
  • La migración de objetos de nivel de instancia de los que depende la aplicación, incluidos inicios de sesión, credenciales, trabajos y operadores del Agente SQL, y desencadenadores de nivel de servidor.

Instancia administrada de SQL es un servicio administrado que permite delegar algunas de las actividades DBA normales a la plataforma a medida que se crean. Por lo tanto, algunos datos de nivel de instancia no tienen que migrarse, por ejemplo, los trabajos de mantenimiento de copias de seguridad periódicas o la configuración Always On, porque integra alta disponibilidad.

Instancia administrada de SQL admite las siguientes opciones de migración de base de datos (actualmente son los únicos métodos de migración admitidos):

  • Azure Database Migration Service: migración prácticamente sin tiempo de inactividad.
  • RESTORE DATABASE FROM URL nativo: usa copias de seguridad nativas de SQL Server y requiere tiempo de inactividad.

En esta guía se describen las dos opciones más populares: Azure Database Migration Service (DMS) y la copia de seguridad y restauración nativas.

Database Migration Service

Para realizar migraciones con DMS, siga estos pasos:

  1. Registre el proveedor de recursos Microsoft.DataMigration en su suscripción si va a realizar esta operación por primera vez.
  2. Cree una instancia de Azure Database Migration Service en la ubicación deseada que elija (preferiblemente en la misma región que la instancia de Azure SQL Managed Instance de destino) y seleccione una red virtual existente o cree una nueva para hospedar la instancia de DMS.
  3. Después de crear la instancia de DMS, cree un nuevo proyecto de migración y especifique el tipo de servidor de origen como SQL Server y el tipo de servidor de destino como Instancia administrada de Azure SQL Database. Elija el tipo de actividad en la hoja de creación del proyecto: migración de datos en línea o sin conexión.
  4. Especifique los detalles de la instancia de SQL Server de origen en la página de detalles Origen de migración y los detalles de la instancia de Azure SQL Managed Instance de destino en la página de detalles Destino de migración. Seleccione Siguiente.
  5. Elija la base de datos que quiere migrar.
  6. Proporcione los valores de configuración para especificar el recurso compartido de red SMB que contiene los archivos de copia de seguridad de la base de datos. Use las credenciales de usuario de Windows con una instancia de DMS que pueda acceder al recurso compartido de red. Proporcione los detalles de la cuenta de Azure Storage.
  7. Revise el resumen de la migración y elija Ejecutar migración. A continuación, puede supervisar la actividad de migración y comprobar el progreso de la migración de la base de datos.
  8. Una vez restaurada la base de datos, elija Iniciar transición. El proceso de migración copia la copia del final del registro una vez que está disponible en el recurso compartido de red SMB y la restaura en el destino.
  9. Detenga todo el tráfico entrante en la base de datos de origen y actualice la cadena de conexión a la nueva base de datos de Azure SQL Managed Instance.

Para obtener un tutorial paso a paso de esta opción de migración, consulte Migración de SQL Server a Azure SQL Managed Instance en línea mediante DMS.

Copia de seguridad y restauración

Una de las principales capacidades de Azure SQL Managed Instance para permitir la migración de bases de datos rápida y sencilla es la restauración nativa de los archivos de la copia de seguridad de la base de datos (.bak) almacenada en Azure Storage. La copia de seguridad y restauración es una operación asincrónica basada en el tamaño de la base de datos.

El siguiente diagrama proporciona una introducción general del proceso:

En el diagrama se muestra SQL Server con una flecha con la etiqueta COPIA DE SEGURIDAD/Cargar a una dirección URL que fluye hacia Azure Storage y una segunda flecha con la etiqueta RESTAURAR que parte de la dirección URL y fluye desde Azure Storage hasta una instancia administrada de SQL.

Nota

El tiempo para realizar la copia de seguridad, cargarla en Azure Storage y realizar una operación de restauración nativa en Azure SQL Managed Instance se basa en el tamaño de la base de datos. Factorice un tiempo de inactividad suficiente para permitir la operación para bases de datos de gran tamaño.

La siguiente tabla proporciona más información sobre los métodos que puede usar según la versión de SQL Server de origen que esté ejecutando:

Paso Motor y versión de SQL Método de copia de seguridad y restauración
Colocar la copia de seguridad en Azure Storage Antes de 2012 SP1 CU2 Carga del archivo .bak directamente a Azure Storage
2012 SP1 CU2 - 2016 Copia de seguridad directa mediante la sintaxis WITH CREDENTIAL, ya en desuso.
2016 y posteriores Copia de seguridad directa con WITH SAS CREDENTIAL.
Restaurar de Azure Storage a Instancia administrada RESTORE FROM URL WITH SAS CREDENTIAL

Importante

  • Al migrar una base de datos protegida mediante Cifrado de datos transparente a una instancia administrada con la opción de restauración nativa, se debe migrar el certificado correspondiente de SQL Server local o de máquina virtual de Azure antes de restaurar la base de datos. Para consultar los pasos detallados, consulte Migración de un certificado TDE a Instancia administrada.
  • No se permite restaurar bases de datos del sistema. Para migrar objetos de nivel de instancia (almacenados en bases de datos maestras o msdb), se recomienda generar scripts y ejecutar scripts de T-SQL en la instancia de destino.

Para realizar la migración mediante la copia de seguridad y la restauración, siga estos pasos:

  1. Realice la copia de seguridad de la base de datos en Azure Blob Storage. Por ejemplo, utilice la copia de seguridad en URL en SQL Server Management Studio. Use la Microsoft Azure Tools para admitir bases de datos anteriores a SQL Server 2012 SP1 CU2.

  2. Conéctese a la instancia de Azure SQL Managed Instance mediante SQL Server Management Studio.

  3. Cree una credencial con una Firma de acceso compartido para acceder a la cuenta de Azure Blob Storage con sus copias de seguridad de base de datos. Por ejemplo:

    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = 'sv=2017-11-09&ss=bfqt&srt=sco&sp=rwdlacup&se=2028-09-06T02:52:55Z&st=2018-09-04T18:52:55Z&spr=https&sig=WOTiM%2FS4GVF%2FEEs9DGQR9Im0W%2BwndxW2CQ7%2B5fHd7Is%3D'
    
  4. Restaure la copia de seguridad desde el contenedor de Azure Storage Blob. Por ejemplo:

    RESTORE DATABASE [TargetDatabaseName] FROM URL =
      'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    
  5. Una vez finalizada la restauración, vea la base de datos en el Explorador de objetos en SQL Server Management Studio.

Para obtener más información acerca de esta opción de migración, consulte Restauración de una copia de seguridad de datos en SQL Managed Instance con SSMS.

Nota

La operación de restauración de una base de datos es asincrónica y admite reintentos. Es posible que se produzca un error en SQL Server Management Studio si se interrumpe la conexión o se agota el tiempo de espera. Azure SQL Database seguirá intentando restaurar la base de datos en segundo plano y puede realizar un seguimiento del progreso de la restauración mediante las vistas sys.dm_exec_requests y sys.dm_operation_status.

Sincronización y transición de datos

Al usar las opciones de migración que replican o sincronizan continuamente los cambios de datos del origen al destino, los datos y el esquema de origen pueden cambiar y desfasarse del destino. Durante la sincronización de datos, asegúrese de que todos los cambios en el origen se capturan y se aplican al destino durante el proceso de migración.

Después de comprobar que los datos son los mismos en el origen y en el destino, puede realizar la transición del entorno de origen al de destino. Es importante planear el proceso de transición con equipos empresariales o de aplicaciones para garantizar que la interrupción mínima durante la transición no afecte a la continuidad empresarial.

Importante

Para más información sobre los pasos específicos asociados con la realización de una operación de transición como parte de las migraciones con DMS, consulte Realización de migración total.

Después de la migración

Cuando haya completado correctamente la fase de migración, deberá realizar una serie de tareas posteriores a la migración para asegurarse de que todo funciona de manera fluida y eficaz.

La fase posterior a la migración es fundamental para reconciliar cualquier problema de precisión de datos y comprobar su integridad, así como para solucionar problemas de rendimiento con la carga de trabajo.

Supervisión y corrección de las aplicaciones

Una vez haya completado la migración a una instancia administrada, debe realizar un seguimiento del comportamiento de la aplicación y del rendimiento de la carga de trabajo. Este proceso incluye las siguientes actividades:

Realización de pruebas

El método de prueba para la migración de bases de datos consta de las siguientes actividades:

  1. Desarrollar pruebas de validación: para probar la migración de bases de datos, debe utilizar consultas SQL. Debe crear las consultas de validación para que se ejecuten en las bases de datos de origen y destino. Las consultas de validación deben abarcar el ámbito definido.
  2. Configurar un entorno de prueba: el entorno de prueba debe contener una copia de la base de datos de origen y la base de datos de destino. Asegúrese de aislar el entorno de prueba.
  3. Ejecutar pruebas de validación: ejecute las pruebas de validación en el origen y el destino y, luego, analice los resultados.
  4. Ejecutar pruebas de rendimiento: ejecute la prueba de rendimiento en el origen y el destino y, luego, analice y compare los resultados.

Aprovechamiento de las características avanzadas

Asegúrese de aprovechar las características avanzadas basadas en la nube que ofrece SQL Managed Instance, como las de alta disponibilidad integrada, detección de amenazas y supervisión y ajuste de la carga de trabajo.

Azure SQL Analytics permite supervisar un gran conjunto de instancias administradas de forma centralizada.

Algunas características de SQL Server solo están disponibles cuando el nivel de compatibilidad de la base de datos cambia al nivel de compatibilidad más reciente (150).

Pasos siguientes