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 EC2 (Elastic Compute Cloud)
  • Amazon RDS (Relational Database Service) para SQL Server
  • Google Compute Engine
  • Cloud SQL para SQL Server: GCP (Google Cloud Platform)

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.

Migration process flow

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 detección, 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:

Steps for migration to 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. SQL Managed Instance se ha diseñado para poder migrar mediante lift-and-shift 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 coste de implementar una solución alternativa es demasiado alto.

La extensión Azure SQL Migration para Azure Data Studio proporciona una experiencia sencilla basada en un asistente para evaluar, obtener recomendaciones de Azure y migrar las bases de datos de SQL Server locales a SQL Server en Azure Virtual Machines. Además, al resaltar los bloqueadores o advertencias de migración, la extensión también incluye una opción para que las recomendaciones de Azure recopilen los datos de rendimiento de las bases de datos para, de este modo, recomendar una instancia Azure SQL Managed Instance de tamaño adecuado acorde con las necesidades de rendimiento de su carga de trabajo (con el menor precio).

Puede usar la extensión de migración de Azure SQL para Azure Data Studio para evaluar las bases de datos que se van a obtener:

Para evaluar su entorno con la extensión de migración de Azure SQL, realice estos pasos:

  1. Abra la Extensión Azure SQL Migration para Azure Data Studio.
  2. Conéctese al origen de la instancia de SQL Server
  3. Haga clic en el botón Migrate to Azure SQL (Migrar a Azure SQL), en el Asistente para migración de Azure SQL en Azure Data Studio
  4. Seleccione las bases de datos para la valoración y, después, haga clic en siguiente
  5. Seleccione el destino de Azure SQL, en este caso, Azure SQL Managed Instance
  6. Haga clic en View/Select (Ver o seleccionar) para revisar el informe de valoración
  7. Busque problemas de bloqueo de migración y 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.

Para obtener una recomendación de Azure mediante la extensión de migración de Azure SQL, siga estos pasos:

  1. Abra la Extensión Azure SQL Migration para Azure Data Studio.
  2. Conéctese al origen de la instancia de SQL Server
  3. Haga clic en el botón Migrate to Azure SQL (Migrar a Azure SQL), en el Asistente para migración de Azure SQL en Azure Data Studio
  4. Seleccione las bases de datos para la valoración y, después, haga clic en siguiente
  5. Seleccione el destino de Azure SQL, en este caso, Azure SQL Managed Instance
  6. Vaya a las secciones Recomendaciones de Azure y haga clic en Get Azure recommendation (Obtener recomendación de Azure)
  7. Seleccione Recopilar datos de rendimiento ahora. Seleccione una carpeta en el equipo local para almacenar los registros de rendimiento y, luego, elija Iniciar.
  8. Al cabo de 10 minutos, Azure Data Studio indica que hay una recomendación disponible para Azure SQL Managed Instance.
  9. Compruebe la tarjeta Azure SQL Managed Instance, en el panel de destino de Azure SQL, para revisar la recomendación de SKU de Azure SQL Managed Instance

Para más información, consulte Tutorial: Migración de SQL Server a Azure SQL Managed Instance en línea mediante Azure Data Studio con DMS.

Para más información, consulte Tutorial: Migración de SQL Server a Azure SQL Managed Instance sin conexión mediante Azure Data Studio.

Si la valoración encuentra varios bloqueadores para confirmar que la base de datos no está lista para una migración a Azure SQL Managed Instance, considere también lo siguiente:

Evaluaciones y análisis a gran escala

La Extensión Azure SQL Migration para Azure Data Studio y Azure Migrate admiten la realización de valoraciones escaladas y la consolidación de los informes de valoración para su análisis.

Si tiene varios servidores y bases de datos que deben evaluarse y analizarse a gran escala para proporcionar una vista más amplia del estado de los datos, consulte los vínculos siguientes para 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

Puede usar la extensión Azure SQL Migration para Azure Data Studio para obtener una recomendación de Azure SQL Managed Instance de tamaño adecuado. La extensión recopila datos de rendimiento de su instancia de SQL Server de origen para proporcionar una recomendación de tamaño adecuado de Azure que se ajuste a las necesidades de rendimiento de su carga de trabajo con un coste mínimo. Para obtener más información, consulte Obtención de una recomendación de Azure de tamaño correcto para las bases de datos de SQL Server locales

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 serie estándar [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:

Managed Instance Sizing

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.

SQL Managed Instance 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.

En este artículo, se tratan dos de las opciones de migración recomendadas:

  • Extensión de migración Azure SQL para Azure Data Studio: migración con tiempo de inactividad próximo a cero.
  • 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.

Para otras herramientas de migración, consulte Comparación de opciones de migración.

Migre con la extensión de migración Azure SQL para Azure Data Studio (mínimo tiempo de inactividad)

Para realizar una migración con un tiempo de inactividad mínimo con Azure Data Studio, siga los pasos de alto nivel que se indican a continuación. Para obtener un tutorial paso a paso, consulte Migración de SQL Server a Azure SQL Managed Instance en línea mediante Azure Data Studio:

  1. Descargue e instale Azure Data Studio y la extensión de migración Azure SQL.
  2. Inicie la migración en el asistente para migrar a Azure SQL en la extensión en Azure Data Studio.
  3. Seleccione las bases de datos cuya preparación o problemas para la migración desea evaluar (si los hay). Recopile, además, datos de rendimiento y obtenga recomendaciones de tamaño de Azure.
  4. Seleccione la cuenta de Azure y la instancia Azure SQL Managed Instance de destino de la suscripción.
  5. Seleccione la ubicación de las copias de seguridad de la base de datos. Las copias de seguridad de base de datos pueden encontrarse en un recurso compartido de red local o en un contenedor de Azure Blob Storage.
  6. Cree un nuevo servicio Azure Database Migration Service con el asistente de Azure Data Studio. Si ha creado previamente un servicio Azure Database Migration Service mediante Azure Data Studio, puede volver a usarlo si lo desea.
  7. Opcional: si las copias de seguridad se encuentran en un recurso compartido de red local, descargue e instale el entorno de ejecución de integración autohospedado en un equipo que pueda conectarse a la instancia de SQL Server de origen y la ubicación que contiene los archivos de copia de seguridad.
  8. Inicie la migración de la base de datos y supervise el progreso en Azure Data Studio. También puede supervisar el progreso en el recurso de Azure Database Migration Service en Azure Portal.
  9. Complete la migración total.
    1. Detenga todas las transacciones entrantes en la base de datos de origen.
    2. Realice los cambios en la configuración de la aplicación para apuntar a la base de datos de destino de Azure SQL Managed Instance.
    3. Realice copias de seguridad del final del registro de la base de datos de origen en la ubicación de copia de seguridad especificada.
    4. Asegúrese de que todas las copias de seguridad de base de datos tengan el estado Restaurada en la página de detalles de supervisión.
    5. Seleccione Complete cutover (Migración total completa) en la página de detalles de supervisión.

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 la restauración son operaciones asincrónicas en función del tamaño de la base de datos.

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

Diagram shows SQL Server with an arrow labeled BACKUP / Upload to URL flowing to Azure Storage and a second arrow labeled RESTORE from URL flowing from Azure Storage to a SQL Managed Instance.

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 master 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 los equipos empresariales y 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.

Uso de características avanzadas

Puede 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