Guía de migración de SQL Server a SQL Server en Azure Virtual Machines

Se aplica a:SQL Server en VM de Azure

En esta guía, obtendrá información sobre cómo descubrir, evaluar y migrar las bases de datos de usuario de SQL Server a una instancia de SQL Server en Azure Virtual Machines con herramientas y técnicas según sus requisitos.

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

  • SQL Server en Virtual Machines (VM).
  • Amazon Web Services (AWS) EC2.
  • Amazon Relational Database Service (AWS RDS).
  • Compute Engine (Google Cloud Platform [GCP]).

Para obtener información sobre estrategias de migración adicionales, consulte Información general sobre la migración de VM con SQL Server. Para ver otras guías de migración, consulte la Guía de Azure Database Migration.

Diagram that shows a migration process flow.

Requisitos previos

La migración a SQL Server en Azure Virtual Machines requiere los siguientes recursos:

Antes de la migración

Antes de iniciar la migración, debe detectar la topología del entorno de SQL y evaluar la viabilidad de la migración prevista.

Descubra

Azure Migrate evalúa la idoneidad de la migración de los equipos locales, realiza el ajuste de tamaño basado en el rendimiento y proporciona estimaciones del costo para la ejecución en el entorno local. Para planear la migración, use Azure Migrate para identificar los orígenes de datos existentes y los detalles sobre las características que usan sus instancias de SQL Server. Este proceso implica el examen de la red para identificar todas las instancias de SQL Server de su organización con la versión y las características en uso.

Importante

Cuando elija una máquina virtual de Azure de destino para la instancia de SQL Server, asegúrese de tener en cuenta las Directrices de rendimiento para SQL Server en Azure Virtual Machines.

Para conocer más herramientas de detección, consulte la lista de servicios y herramientas disponibles para escenarios de migración de datos.

Evaluar

Al migrar desde SQL Server local a SQL Server en Azure Virtual Machines, es poco probable que tenga problemas de compatibilidad o paridad de características si las versiones de origen y destino de SQL Server son las mismas. Si no actualizará la versión de SQL Server, omita este paso y vaya a la sección de Migración.

Antes de la migración, sigue siendo recomendable ejecutar una evaluación de las bases de datos de SQL Server para identificar los bloqueadores de migración (si los hay) y lo que hace la extensión Azure SQL Migration para Azure Data Studio antes de la migración.

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.

Evaluación de bases de datos de usuario

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 de SQL Server de tamaño adecuado en Azure Virtual Machines acorde con las necesidades de rendimiento de su carga de trabajo (con el menor precio).

Para obtener más información sobre las recomendaciones de Azure, consulte Obtención de recomendaciones de instancia de Azure de tamaño adecuado para las bases de datos de SQL Server locales.

Importante

Para evaluar las bases de datos mediante la extensión Azure SQL Migration, asegúrese de que los inicios de sesión que se usan para conectar SQL Server de origen son miembros del rol de servidor sysadmin o tienen el permiso CONTROL SERVER.

Para obtener una actualización de versión, use Data Migration Assistant para evaluar instancias de SQL Server locales si va a actualizar a una instancia de SQL Server en Azure Virtual Machines a una versión superior para comprender las brechas que existen entre las versiones de origen y de destino.

Evaluación de las aplicaciones

Normalmente, una capa de aplicación accede a las bases de datos de usuario para conservar y modificar los datos. Data Migration Assistant puede evaluar la capa de acceso a datos de una aplicación de dos maneras:

Durante la evaluación de las bases de datos de usuario, use Data Migration Assistant para importar los archivos de seguimiento capturados o los archivos de Data Access Migration Toolkit.

Evaluaciones a escala

Si tiene varios servidores que requieren la evaluación de preparación de Azure, puede automatizar el proceso mediante scripts que usan una de las siguientes opciones. Para obtener más información sobre el uso de scripts, consulte Migración de bases de datos a escala mediante automatización.

En el caso de los informes de resumen de grandes volúmenes, las evaluaciones de Data Migration Assistant también se pueden consolidar en Azure Migrate.

Actualización de bases de datos con Data Migration Assistant

Para escenarios de actualización, puede obtener una serie de recomendaciones para asegurarse de que las bases de datos de usuario se ejecutan y funcionan correctamente después de la actualización. Data Migration Assistant proporciona detalles sobre los objetos afectados y recursos para resolver cada problema. Asegúrese de resolver todos los cambios importantes y los cambios de comportamiento antes de iniciar la actualización de producción.

En el caso de las características en desuso, puede optar por ejecutar las bases de datos de usuario en el modo de compatibilidad original si quiere evitar realizar estos cambios y acelerar la migración. Esta acción impedirá actualizar la compatibilidad de la base de datos hasta que se hayan resuelto los elementos en desuso.

Precaución

No todas las versiones de SQL Server admiten todos los modos de compatibilidad. Compruebe que la versión de SQL Server de destino admiten la compatibilidad con la base de datos elegida. Por ejemplo, SQL Server 2019 no admite bases de datos con compatibilidad de nivel  90 (que es SQL Server 2005). Estas bases de datos necesitarían, como mínimo, una actualización al nivel de compatibilidad 100.

Migrar

Una vez completados los pasos previos a la migración, está listo para migrar las bases de datos de usuario y los componentes. Migre sus bases de datos con el método de migración que prefiera.

En las secciones siguientes se proporcionan opciones para realizar una migración en orden de preferencia:

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 en línea de SQL Server a SQL Server en una máquina virtual de Azure mediante Azure Data Studio:

  1. Descargue e instale Azure Data Studio y la extensión Azure SQL Migration.
  2. Inicie el asistente para migrar a Azure SQL en la extensión 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 de SQL Server de destino en Azure Machine de su 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 Azure Database Migration Service con el asistente de Azure Data Studio. Si ha creado previamente un 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 SQL Server en una máquina virtual de Azure.
    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

Para realizar una migración estándar con las características de copia de seguridad y restauración, haga lo siguiente:

  1. Configure la conectividad a la instancia de SQL Server en Azure Virtual Machines, en función de sus requisitos. Para más información, consulte Conexión a una máquina virtual de SQL Server en Azure (Resource Manager).
  2. Pause o detenga las aplicaciones que usan las bases de datos destinadas a la migración.
  3. Asegúrese de que las bases de datos de usuario están inactivas con el modo de usuario único.
  4. Realice una copia de seguridad completa de la base de datos en una ubicación local.
  5. Copie los archivos de copia de seguridad locales en la máquina virtual mediante el escritorio remoto, Azure Data Explorer o la utilidad de la línea de comandos AzCopy. (Se recomiendan copias de seguridad de más de 2 TB).
  6. Restaure las copias de seguridad de base de datos completas en la instancia de SQL Server en Azure Virtual Machines.

Desasociación y asociación desde una dirección URL

Desasocie la base de datos y los archivos de registro y transfiéralos a Azure Blob Storage. Asocie la base de datos desde la dirección URL en la VM de Azure. Use este método si desea que los archivos de base de datos físicos residan en Blob Storage, lo que puede resultar útil para las bases de datos de gran tamaño. Utilice los siguientes pasos generales para migrar una base de datos de usuario con este método manual:

  1. Desasocie los archivos de base de datos de la instancia de base de datos local.
  2. Copie los archivos de base de datos desasociados en Azure Blob Storage con la utilidad de línea de comandos AZCopy.
  3. Asocie los archivos de base de datos desde la dirección URL de Azure a la instancia de SQL Server en la máquina virtual de Azure.

Conversión a máquina virtual, carga en una dirección URL e implementación como máquina virtual nueva

Este método se usa para migrar todas las bases de datos de usuario y del sistema de una instancia de SQL Server local a una máquina virtual de Azure. Utilice los siguientes pasos generales para migrar una instancia completa de SQL Server con este método manual:

  1. Convierta las máquinas físicas o virtuales en discos duros virtuales Hyper-V.
  2. Cargue archivos VHD en Azure Storage mediante el cmdlet Add-AzureVHD.
  3. Implemente una máquina virtual nueva mediante el VHD cargado.

Nota:

Para migrar una aplicación completa, considere el uso de Azure Site Recovery.

Trasvase de registros

El trasvase de registros replica los archivos de registro transaccionales desde el entorno local a una instancia de SQL Server en una VM de Azure. Esta opción proporciona un tiempo de inactividad mínimo durante la conmutación por error y presenta menos sobrecarga de configuración que la configuración de un grupo de disponibilidad Always On.

Para obtener más información, vea Tablas de trasvase de registros y procedimientos almacenados.

Envío de una unidad de disco duro

Use el servicio Azure Import/Export para transferir grandes cantidades de datos de archivo a Azure Blob Storage en aquellas situaciones en que el proceso de carga a través de la red sea demasiado caro o no sea viable. Con este servicio, se envían una o varias unidades de discos duros que contengan esos datos a un centro de datos de Azure, donde los datos se cargarán a su cuenta de almacenamiento.

Migración de objetos fuera de las bases de datos de usuario

Pueden ser necesarios más objetos de SQL Server para que las bases de datos de usuario funcionen sin problemas después de la migración.

En la tabla siguiente se proporciona una lista de los componentes y métodos de migración recomendados que se pueden completar antes o después de la migración de las bases de datos de usuario.

Característica Componente Métodos de migración
Bases de datos Modelo Script con SQL Server Management Studio.
La base de datos tempdb Planee trasladar tempdb al disco temporal de la VM de Azure (SSD)) para obtener el mejor rendimiento. Asegúrese de elegir un tamaño de VM que tenga un disco SSD local suficiente para alojar tempdb.
Bases de datos de usuario con secuencia de archivos Utilice los métodos de copia de seguridad y restauración para la migración. Data Migration Assistant no admite las bases de datos con secuencia de archivos.
Seguridad Inicios de sesión de SQL Server y Windows Use Data Migration Assistant para migrar los inicios de sesión de usuario.
Roles de SQL Server Script con SQL Server Management Studio.
Proveedores de servicios criptográficos Se recomienda la conversión para usar Azure Key Vault. Este procedimiento usa el proveedor de recursos de VM de SQL.
Objetos de servidor Dispositivos de copia de seguridad Realice el reemplazo por la copia de seguridad de base de datos mediante Azure Backup o escriba copias de seguridad en Azure Storage (SQL Server 2012 SP1 CU2 +). Este procedimiento usa el proveedor de recursos de VM de SQL.
Servidores vinculados Script con SQL Server Management Studio.
Desencadenadores de servidor Script con SQL Server Management Studio.
Replicación Publicaciones locales Script con SQL Server Management Studio.
Suscriptores locales Script con SQL Server Management Studio.
PolyBase PolyBase Script con SQL Server Management Studio.
Administración Correo electrónico de base de datos Script con SQL Server Management Studio.
Agente SQL Server Trabajos Script con SQL Server Management Studio.
Alertas Script con SQL Server Management Studio.
Operadores Script con SQL Server Management Studio.
Servidores proxy Script con SQL Server Management Studio.
Sistema operativo Archivos, recursos compartidos de archivos Anote los otros archivos o recursos compartidos de archivos que usan sus instancias de SQL Server y replíquelos en el destino de Azure Virtual Machines.

Después de la migración

Cuando haya completado correctamente la fase de migración, deberá realizar una serie de tareas posteriores para asegurarse de que todo funcione de la forma más fluida y eficaz posible.

Corrección de las aplicaciones

Cuando se hayan migrado los datos al entorno de destino, todas las aplicaciones que antes utilizaban el origen deben empezar a utilizar el destino. En algunos casos, completar esta tarea puede requerir la realización de cambios en las aplicaciones.

Aplique las correcciones recomendadas por Data Migration Assistant a las bases de datos de usuario. Debe crear scripts para estas correcciones a fin de garantizar la coherencia y permitir la automatización.

Realización de pruebas

El enfoque 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 usar consultas SQL. Cree 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.

Sugerencia

Use el Asistente para experimentación con bases de datos para ayudar a evaluar el rendimiento de la instancia de SQL Server de destino.

Optimización

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

Para obtener más información acerca de estos problemas y los pasos para mitigarlos, consulte lo siguiente:

Pasos siguientes

Para comprobar la disponibilidad de los servicios que aplican a SQL Server, consulte el centro de infraestructura global de Azure.

Para obtener una matriz de los servicios y las herramientas de Microsoft y de otros fabricantes que están disponibles para ayudarle en diversos escenarios de migración de datos y bases de datos, además de las tareas especializadas, consulte Servicios y herramientas para migración de datos.

Para obtener más información acerca de Azure SQL, consulte:

Para más información sobre el marco y el ciclo de adopción de las migraciones en la nube, consulte:

Para más información acerca de las licencias, consulte:

Para evaluar la capa de acceso de la aplicación, consulte Data Access Migration Toolkit (versión preliminar).

Para obtener información sobre cómo realizar pruebas A/B para la capa de acceso a datos, consulte Información general del Asistente para experimentación con bases de datos.