Información general sobre la migración: de SQL Server a Azure SQL Managed Instance

Se aplica a:Azure SQL Managed Instance

Obtenga información sobre las opciones y consideraciones para migrar las bases de datos de SQL Server a Azure SQL Managed Instance.

Puede migrar las bases de datos 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 ver otras guías de migración, consulte Migración de bases de datos.

Información general

Azure SQL Managed Instance es una opción de destino recomendada para cargas de trabajo de SQL Server que requieren un servicio totalmente administrado sin tener que administrar máquinas virtuales ni sus sistemas operativos. SQL Managed Instance le permite mover sus aplicaciones locales a Azure con cambios mínimos en aplicaciones o bases de datos. Ofrece un aislamiento completo de sus instancias con compatibilidad con redes virtuales nativas.

Asegúrese de revisar las características del motor de base de datos de SQL Server disponibles en Azure SQL Managed Instance para validar la compatibilidad del destino de migración.

Consideraciones

Los factores clave que hay que tener en cuenta al evaluar las opciones de migración son los siguientes:

  • Número de servidores y bases de datos
  • Tamaño de las bases de datos
  • Tiempo de inactividad empresarial aceptable durante el proceso de migración

Una de las principales ventajas de migrar las bases de datos de SQL Server a SQL Managed Instance es que puede optar por migrar toda la instancia o simplemente un subconjunto de bases de datos individuales. Elabore el plan cuidadosamente para incluir lo siguiente en el proceso de migración:

  • Todas las bases de datos que deben colocarse en la misma instancia.
  • Los objetos de nivel de instancia necesarios para la aplicación, incluidos inicios de sesión, credenciales, trabajos y operadores del Agente SQL, y desencadenadores de nivel de servidor

Nota:

Azure SQL Managed Instance garantiza una disponibilidad del 99,99 %, incluso en escenarios críticos. No se puede deshabilitar la sobrecarga causada por algunas características de SQL Managed Instance. Para obtener más información, consulte la entrada de blog Causas clave de las diferencias de rendimiento entre SQL Managed Instance y SQL Server.

Elección de un destino adecuado

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

Las siguientes directrices generales pueden ayudarle a elegir el nivel de servicio adecuado y las características de SQL Managed Instance para ayudarle a satisfacer su base de referencia de rendimiento:

  • Use la base de referencia de uso de CPU para aprovisionar una instancia administrada que coincida con el número de núcleos que usa la instancia de SQL Server. Puede que sea necesario escalar los recursos para que coincidan con las características de configuración de hardware.
  • Use la base de referencia de uso de memoria para elegir una opción de núcleo virtual que coincida debidamente con la asignación de memoria.
  • Use la latencia de E/S de la base de referencia del subsistema de archivos para elegir entre los niveles de servicio De uso general (latencia mayor que 5 ms) y Crítico para la empresa (latencia inferior a 3 ms).
  • Use el rendimiento de la base de referencia para la asignación previa del tamaño de los archivos de datos y de registro para lograr el rendimiento de E/S esperado.

Puede seleccionar recursos de almacenamiento y proceso durante la implementación y, posteriormente, cambiarlos mediante Azure Portal, sin provocar tiempo de inactividad de la aplicación.

Importante

Cualquier discrepancia en los requisitos de red virtual para instancias administradas puede impedir la creación de nuevas instancias o el uso de las existentes. Obtenga más información sobre la creación de nuevas redes y la configuración de las ya existentes.

Otra consideración importante en la selección del nivel de servicio de destino en Azure SQL Managed Instance (nivel De uso general frente a Crítico para la empresa) es la disponibilidad de ciertas características, como OLTP en memoria, que solo está disponible en el nivel Crítico para la empresa.

Alternativa a las VM con SQL Server

Su empresa puede tener requisitos que hagan de SQL Server en Azure Virtual Machines un destino más adecuado que Azure SQL Managed Instance.

Si se aplica alguna de las siguientes condiciones a su empresa, considere la posibilidad de moverse a una máquina virtual (VM) de SQL Server en su lugar:

  • Si necesita acceso directo al sistema operativo o al sistema de archivos, por ejemplo, para instalar agentes personalizados o de otros fabricantes en la misma máquina virtual con SQL Server.
  • Si las características tienen dependencias estrictas que aún no se admiten, por ejemplo, FileStream o FileTable, PolyBase y transacciones entre instancias.
  • Si necesita permanecer en una versión específica de SQL Server (2012, por ejemplo).
  • Si los requisitos de proceso son mucho menores que los que la instancia administrada ofrece (un núcleo virtual, por ejemplo) y la consolidación de la base de datos no es una opción aceptable.

Herramientas de migración

Se recomiendan las siguientes herramientas de migración:

Technology Descripción
Extensión Azure SQL Migration para Azure Data Studio Con tecnología de Azure Database Migration Service, la extensión de migración de Azure SQL para Azure Data Studio le ayuda a evaluar los requisitos de la base de datos para comprender la preparación de la migración, obtener las recomendaciones del tamaño adecuado de SKU para los recursos de Azure y migrar la base de datos de SQL Server a Azure. Puede migrar bases de datos únicas o a gran escala mediante PowerShell y la CLI de Azure.
Azure Migrate Este servicio de Azure le ayuda a detectar y evaluar su patrimonio de datos de SQL a escala en VMware. Proporciona recomendaciones de implementación de Azure SQL, el tamaño de destino y las estimaciones mensuales.
Copia de seguridad y restauración nativa SQL Managed Instance admite la restauración de copias de seguridad de bases de datos de SQL Server nativas (archivos. bak). Es la opción de migración más sencilla para aquellos clientes que pueden proporcionar copias de seguridad de bases de datos completas para Azure Storage.
Servicio de reproducción de registros Este servicio en la nube está habilitado para Managed Instance basado en la tecnología de trasvase de registros de SQL Server. Es una opción de migración para aquellos clientes que pueden proporcionar copias de seguridad de bases de datos completas, diferenciales y de registros para Azure Storage. El Servicio de reproducción de registros se usa para restaurar archivos de copia de seguridad de Azure Blob Storage a SQL Managed Instance.
Característica de vínculo para Azure SQL Managed Instance (versión preliminar) Esta característica permite la migración en línea a SQL Managed Instance mediante la tecnología Always On. Se trata de una opción de migración para los clientes que requieren que la base de datos de la instancia administrada SQL Managed Instance sea accesible en modo de solo lectura mientras la migración está en curso, que necesitan mantener la migración en ejecución durante períodos prolongados (semanas o meses en ese momento), que requieren una verdadera replicación en línea en un nivel de servicio Crítico para la empresa, y para los clientes que requieren la migración de mayor rendimiento con un tiempo de inactividad mínimo.

En la tabla siguiente se enumeran las herramientas de migración alternativas:

Technology Descripción
Replicación transaccional Replique los datos de las tablas de base de datos de SQL Server de origen a SQL Managed Instance al mismo tiempo que mantiene la coherencia transaccional. Para ello, proporcione una opción de migración de tipo publicador y suscriptor.
Copia masiva La herramienta del programa de copia masiva (BCP) copia datos de una instancia de SQL Server a un archivo de datos. Emplee la herramienta para exportar los datos del origen e importar el archivo de datos en la instancia de SQL Managed Instance de destino.

En el caso de las operaciones de copia masiva de alta velocidad para trasladar datos a Azure SQL Managed Instance, puede usar la herramienta Smart Bulk Copy para maximizar la velocidad de transferencia mediante el aprovechamiento de las tareas de copia paralelas.
Asistente de importación y exportación/BACPAC Un BACPAC es un archivo de Windows con una extensión .bacpac que encapsula el esquema y los datos de una base de datos. Puede usar el archivo BACPAC para exportar datos de una instancia de SQL Server de origen y volver a importar el archivo a Azure SQL Managed Instance.
Azure Data Factory La actividad de copia de Azure Data Factory migra los datos de las bases de datos de SQL Server de origen a SQL Managed Instance mediante conectores integrados y una instancia de Integration Runtime.

Data Factory admite una amplia gama de conectores para trasladar datos de orígenes de SQL Server a SQL Managed Instance.

Comparación de las opciones de migración

Compare las opciones de migración para elegir la ruta de acceso adecuada para las necesidades de su empresa.

En la tabla siguiente se comparan las opciones de migración recomendadas:

Opción de migración Cuándo se usa Consideraciones
Extensión Azure SQL Migration para Azure Data Studio - Migración de bases de datos únicas o a escala.
- Se puede ejecutar en los modos en línea y sin conexión.

Orígenes admitidos:
- SQL Server (2005 y versiones posteriores) local o en Azure Virtual Machines
- SQL Server en Amazon EC2
- Amazon RDS para SQL Server
- SQL Server en Google Compute Engine
- Las migraciones a gran escala se pueden automatizar mediante PowerShell o la CLI de Azure.

- El tiempo para completar la migración depende del tamaño y del número de objetos de la base de datos.

- Azure Data Studio es necesario cuando no se usan ni PowerShell ni la CLI de Azure.
Copia de seguridad y restauración nativa - Migración de bases de datos individuales de la aplicación de línea de negocio.
- Migración rápida y fácil sin necesidad de una herramienta o un servicio de migración independiente.

Orígenes compatibles:
- SQL Server (2005 - 2019) local o VM de Azure
- Amazon EC2
- VM con SQL Server de GCP Compute
- La copia de seguridad de base de datos usa varios subprocesos para optimizar la transferencia de datos a Azure Blob Storage, pero el ancho de banda de asociado y el tamaño de la base de datos pueden afectar la velocidad de transferencia.
- El tiempo de inactividad debe permitir el tiempo necesario para realizar una operación de copia de seguridad y restauración completa (que es un tamaño de operación de datos).
Servicio de reproducción de registros - Migración de bases de datos individuales de la aplicación de línea de negocio.
-Se necesita más control para las migraciones de bases de datos.

Orígenes compatibles:
- SQL Server (2008 - 2019) local o máquina virtual de Azure
- Amazon EC2
: Amazon RDS para SQL Server
- VM con SQL Server de GCP Compute
-La migración conlleva realizar copias de seguridad completas de la base de datos en SQL Server y copiar los archivos de copia de seguridad en Azure Blob Storage. El Servicio de reproducción de registros se usa para restaurar archivos de copia de seguridad de Azure Blob Storage a SQL Managed Instance.
- -Las bases de datos que se restauran durante el proceso de migración estarán en modo de restauración en curso y no se pueden usar para cargas de trabajo de lectura ni escritura hasta que el proceso haya finalizado.
Característica de vínculo para Azure SQL Managed Instance - Migración de bases de datos individuales de la aplicación de línea de negocio.
-Se necesita más control para las migraciones de bases de datos.
- Se necesita una migración del tiempo de inactividad mínimo.

Orígenes compatibles:
- SQL Server (2016 - 2019) local o VM de Azure
- Amazon EC2
- VM con SQL Server de GCP Compute
- La migración implica establecer una conexión de red entre SQL Server y SQL Managed Instance, y abrir los puertos de comunicación entrantes.
- Usa la tecnología de los Grupos de disponibilidad AlwaysOn para replicar la base de datos casi en tiempo real, haciendo una réplica exacta de la base de datos de SQL Server en SQL Managed Instance.
- Mientras la migración está en curso, se puede usar la base de datos para el acceso de solo lectura en SQL Managed Instance.
- Proporciona el mejor rendimiento durante la migración con un tiempo de inactividad mínimo.

En la tabla siguiente se comparan las opciones de migración alternativas:

Método o tecnología Cuándo se usa Consideraciones
Replicación transaccional - Migración mediante la publicación continua de los cambios de las tablas de base de datos de origen a las tablas de base de datos de SQL Managed Instance de destino.
- Migraciones de base de datos completas o parciales de las tablas seleccionadas (subconjunto de una base de datos).

Orígenes compatibles:
- SQL Server (2012 - 2019) con algunas limitaciones
- Amazon EC2
- VM con SQL Server de GCP Compute

- La configuración es relativamente compleja en comparación con otras opciones de migración.
- Proporciona una opción de replicación continua para migrar datos (sin desconectar las bases de datos).
- La replicación transaccional tiene limitaciones que se deben tener en cuenta al configurar el publicador en la instancia de SQL Server de origen. Consulte Limitaciones en la publicación de objetos para obtener más información.
- La funcionalidad de supervisión de la actividad de replicación está disponible.
Copia masiva - Migraciones de datos completas o parciales.
- Puede admitir tiempo de inactividad.

Orígenes compatibles:
- SQL Server (2005 - 2019) local o VM de Azure
- Amazon EC2
- Amazon RDS para SQL Server
- VM con SQL Server de GCP Compute
- Requiere tiempo de inactividad para exportar datos del origen e importarlos en el destino.
- Los formatos de archivo y los tipos de datos que se usan en la exportación o importación deben ser coherentes con los esquemas de la tabla.
Asistente de importación y exportación/BACPAC - Migración de bases de datos individuales de la aplicación de línea de negocio.
- Adecuado para bases de datos más pequeñas.
No se requieren herramientas ni servicios de migración independientes.

Orígenes compatibles:
- SQL Server (2005 - 2019) local o VM de Azure
- Amazon EC2
- Amazon RDS
- VM con SQL Server de GCP Compute

- Requiere tiempo de inactividad, ya que los datos se deben exportar en el origen e importar en el destino.
- Los formatos de archivo y los tipos de datos que se usan en la exportación o importación deben ser coherentes con los esquemas de la tabla para evitar errores de incoherencia de tipo de datos o truncamiento.
- El tiempo necesario para exportar una base de datos con un gran número de objetos puede ser mucho mayor.
Azure Data Factory - Migración o transformación de datos desde las bases de datos de SQL Server de origen.
- La combinación de datos de varios orígenes de datos en Azure SQL Managed Instance, normalmente es para cargas de trabajo de Business Intelligence (BI).
- Requiere la creación de canalizaciones de movimiento de datos en Data Factory para trasladar datos del origen al destino.
El - costo es una consideración importante y se basa en factores como los desencadenadores de canalización, las ejecuciones de actividad y la duración del movimiento de datos.

Interoperabilidad de las características

Existen más consideraciones a la hora de migrar las cargas de trabajo que dependen de otras características de SQL Server.

SQL Server Integration Services

Migre paquetes y proyectos de SQL Server Integration Services (SSIS) de SSISDB a Azure SQL Managed Instance mediante Azure Database Migration Service.

Solo se admiten para la migración los paquetes SSIS de SSISDB que empiecen por SQL Server 2012. Convierta los paquetes SSIS anteriores antes de la migración. Consulte el tutorial de conversión de proyectos para obtener más información.

SQL Server Reporting Services

Puede migrar informes de SQL Server Reporting Services (SSRS) a informes paginados en Power BI. Use la herramienta de migración de RDL para ayudar a preparar y migrar los informes. Microsoft desarrolló esta herramienta para ayudar a los clientes a migrar informes del lenguaje RDL (Report Definition Language) desde sus servidores SSRS a Power BI. Está disponible en GitHub y documenta un tutorial de un extremo a otro del escenario de migración.

SQL Server Analysis Services

Los modelos tabulares de SQL Server Analysis Services de SQL Server 2012 y versiones posteriores se pueden migrar a Azure Analysis Services, que es un modelo de implementación de plataforma como servicio (PaaS) para el modelo tabular de Analysis Services en Azure. Puede obtener más información sobre la migración de modelos locales a Azure Analysis Services en este tutorial en vídeo.

También puede considerar la posibilidad de migrar los modelos tabulares de Analysis Services locales a Power BI Premium con los nuevos puntos de conexión de lectura y escritura XMLA.

Alta disponibilidad

La alta disponibilidad de SQL Server incluye instancias de clúster de conmutación por error de Always On y los grupos de disponibilidad Always On pasan a ser obsoletos en la instancia administrada de SQL de destino. La arquitectura de alta disponibilidad ya está integrada en los niveles de servicio De uso general (modelo de disponibilidad estándar) y Crítico para la empresa (modelo de disponibilidad Premium) para SQL Managed Instance. El modelo de disponibilidad prémium también proporciona escalado de lectura, que permite conectarse a uno de los nodos secundarios para fines de solo lectura.

Además de la arquitectura de alta disponibilidad que se incluye en SQL Managed Instance, la característica de grupos de conmutación por error te permite administrar la replicación y la conmutación por error de las bases de datos de una instancia administrada en otra región.

Trabajos del Agente SQL

Use la opción Azure Database Migration Service sin conexión para migrar trabajos del Agente SQL. En caso contrario, cree un script de los trabajos en Transact-SQL (T-SQL) mediante SQL Server Management Studio y, a continuación, vuelva a crearlos manualmente en la instancia de SQL Managed Instance de destino.

Importante

Actualmente, Azure Database Migration Service solo admite trabajos con los pasos del subsistema T-SQL. Los trabajos con pasos de paquetes SSIS se deben migrar manualmente.

Inicios de sesión y grupos

Mueva los inicios de sesión de SQL desde la instancia de SQL Server de origen a Azure SQL Managed Instance mediante Database Migration Service en el modo sin conexión. Use el panel Seleccionar inicios de sesión del Asistente para migración para migrar inicios de sesión a su instancia de SQL Managed Instance de destino.

De forma predeterminada, Azure Database Migration Service solo admite la migración de inicios de sesión de SQL. Sin embargo, puede habilitar la migración de inicios de sesión de Windows de la siguiente manera:

  • Garantizando que la instancia de SQL Managed Instance de destino tenga acceso de lectura a Microsoft Entra ID (antes llamado Azure Active Directory). Un usuario con el rol de Administrador global puede configurar ese acceso a través de Azure Portal.
  • Configurando Azure Database Migration Service para habilitar migraciones de inicio de sesión de usuario o grupo de Windows. Realice la configuración a través de Azure Portal, en la página Configuración. Después de habilitar esta configuración, reinicie el servicio para que los cambios se apliquen.

Después de reiniciar el servicio, los inicios de sesión de usuario o grupo de Windows aparecen en la lista de inicios de sesión disponibles para la migración. En el caso de los inicios de sesión de usuario o grupo de Windows que migre, se le pedirá que proporcione el nombre de dominio asociado. No se admiten las cuentas de usuario de servicio (cuentas con el nombre de dominio NT AUTHORITY) y las cuentas de usuario virtual (cuentas con el nombre de dominio NT SERVICE). Para obtener más información, consulte Migración de los usuarios y los grupos de Windows de una instancia de SQL Server a Azure SQL Managed Instance mediante T-SQL.

Como alternativa, puede usar la utilidad de PowerShell especialmente diseñada por los arquitectos de migración de datos de Microsoft. La utilidad usa PowerShell para crear un script de T-SQL para volver a crear inicios de sesión y seleccionar usuarios de base de datos del origen para el destino.

La utilidad de PowerShell asigna automáticamente cuentas de Windows Server Active Directory a cuentas de Microsoft Entra, y puede realizar una búsqueda de UPN para cada inicio de sesión en la instancia de Active Directory de origen. La utilidad incluye en scripts los roles de servidor y de base de datos personalizados, junto con la pertenencia a roles y los permisos de usuario. No se admiten todavía bases de datos independientes y solo un subconjunto de los permisos de SQL Server posibles se incluye en scripts.

Cifrado

Al migrar bases de datos protegidas mediante Cifrado de datos transparente a una instancia administrada con la opción de restauración nativa, se debe migrar el certificado correspondiente de la instancia de SQL Server de origen a la instancia de SQL Managed Instance de destino antes de restaurar la base de datos.

Bases de datos del sistema

No es posible restaurar bases de datos del sistema. Para migrar objetos de nivel de instancia (almacenados en las bases de datos master y msdb), inclúyalos en scripts con T-SQL y vuelva a crearlos en la instancia administrada de destino.

OLTP en memoria (tablas optimizadas para memoria)

SQL Server proporciona una funcionalidad OLTP en memoria. Permite el uso de tablas optimizadas para memoria, tipos de tablas optimizadas para memoria y módulos SQL compilados de forma nativa para ejecutar cargas de trabajo con requisitos de procesamiento transaccional de alto rendimiento y latencia baja.

Importante

OLTP en memoria se admite solo en el nivel Crítico para la empresa en Azure SQL Managed Instance. No se admite en el nivel De uso general.

Si tiene tablas optimizadas para memoria o tipos de tablas optimizadas para memoria en la instancia de SQL Server local y desea migrar a Azure SQL Managed Instance, debe:

  • Elegir el nivel Crítico para la empresa para la instancia de destino de SQL Managed Instance, que admite OLTP en memoria.

  • Si quiere migrar al nivel De uso general en Azure SQL Managed Instance, quite las tablas optimizadas para memoria, los tipos de tablas optimizadas para memoria y los módulos SQL compilados de forma nativa que interactúan con los objetos optimizados para memoria antes de migrar las bases de datos. Puede usar la siguiente consulta T-SQL para identificar todos los objetos que deben quitarse antes de la migración al nivel De uso general:

    SELECT * FROM sys.tables WHERE is_memory_optimized=1
    SELECT * FROM sys.table_types WHERE is_memory_optimized=1
    SELECT * FROM sys.sql_modules WHERE uses_native_compilation=1
    

Para obtener más información sobre las tecnologías en memoria, consulte Optimización del rendimiento mediante las tecnologías en memoria de Azure SQL Managed Instance.

Características avanzadas

Asegúrese de aprovechar las características avanzadas basadas en la nube en SQL Managed Instance. Por ejemplo, no necesita preocuparse por la administración de copias de seguridad, ya que el servicio la hace automáticamente. Puede realizar la restauración a cualquier momento dado dentro del período de retención. Además, dado que la alta disponibilidad está integrada, no es necesario preocuparse por su configuración.

Para reforzar la seguridad, considere la posibilidad de usar la autenticación de Microsoft Entra, la auditoría, ladetección de amenazas, la seguridad de nivel de fila y el enmascaramiento dinámico de datos.

Además de la administración avanzada y las características de seguridad, SQL Managed Instance ofrece herramientas avanzadas que pueden ayudarle a supervisar y optimizar la carga de trabajo. Azure SQL Analytics permite supervisar un gran conjunto de instancias administradas de forma centralizada. Ajuste automático en instancias administradas supervisa continuamente el rendimiento de la ejecución del plan de SQL y corrige automáticamente los problemas de rendimiento identificados.

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

Recursos de migración

Para obtener más ayuda, consulte los siguientes recursos, que se desarrollaron para proyectos de migración reales.

Recurso Descripción
Herramienta y modelo de evaluación de la carga de trabajo de datos Esta herramienta proporciona sugerencias de plataformas de destino "ideales", preparación para la nube y un nivel de corrección de la aplicación o base de datos para una carga de trabajo. Ofrece un cálculo sencillo con un solo clic y una función de generación de informes que ayuda a acelerar las evaluaciones de grandes volúmenes, ya que proporciona un proceso de toma de decisiones de plataforma de destino uniforme y automatizado.
Utilidad para migrar los inicios de sesión de SQL Server locales a Azure SQL Managed Instance Un script de PowerShell que crea un script de comandos de T-SQL para volver a crear inicios de sesión y seleccionar usuarios de base de datos de SQL Server local para Azure SQL Managed Instance. La herramienta permite la asignación automática de cuentas de Windows Server Active Directory a cuentas de Microsoft Entra, junto con la migración de inicios de sesión nativos de SQL Server.
Automatización de la colección de datos de PerfMon mediante Logman Puede usar la herramienta Logman para recopilar datos de Perfmon (para ayudarle a comprender el rendimiento de línea base) y obtener recomendaciones de destino para la migración. Esta herramienta utiliza el archivo logman.exe para crear el comando que creará, iniciará, detendrá y eliminará el conjunto de contadores de rendimiento en una instancia de SQL Server remota.

El equipo de ingeniería de datos SQL ha desarrollado estos recursos. El objetivo principal de este equipo es permitir y acelerar la modernización compleja de los proyectos de migración de la plataforma de datos a la de Azure, de Microsoft.

Pasos siguientes