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

Se aplica a: Azure SQL Managed Instance

Con esta guía aprenderá a migrar las base de datos de usuarios de SQL Server a Azure SQL Managed Instance.

Complete los pasos previos a la migración antes de continuar.

Migrate

Una vez completadas los pasos de 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.

En esta sección se proporcionan pasos generales de migración para las siguientes opciones de migración recomendadas:

  • Vínculo de instancia administrada
  • Servicio de reproducción de registros (LRS)
  • 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.

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.

Azure Data Studio

En esta sección se proporcionan pasos generales para migrar de SQL Server a SQL Managed Instance con un tiempo de inactividad mínimo mediante la extensión de migración de Azure SQL en Azure Data Studio. Para obtener más información, consulte Tutorial: Migración en línea de SQL Server a Azure SQL Managed Instance mediante Azure Data Studio.

Siga estos pasos para realizar una migración con Azure Data Studio:

  1. Descargue e instale Azure Data Studio: y la extensión Azure SQL Migration para Azure Data Studio.
  2. Inicie el asistente para la migración 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 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.

En esta sección se proporcionan pasos generales para migrar de SQL Server a Azure SQL Managed Instance con un tiempo de inactividad mínimo mediante el vínculo Instancia administrada. Para obtener instrucciones detalladas, consulte Migración con el vínculo.

Para migrar con el vínculo, siga estos pasos:

  1. Crear la instancia de SQL Managed Instance de destino: Azure Portal, PowerShell, CLI de Azure.
  2. Preparar el entorno para el vínculo.
  3. Configurar el vínculo con SSMS o scripts.
  4. Detener la carga de trabajo.
  5. Validar los datos en la instancia de destino.
  6. Conmutar por error el vínculo.

Servicio de reproducción de registros (LRS)

En esta sección se proporcionan pasos generales para migrar de SQL Server a Azure SQL Managed Instance con un tiempo de inactividad mínimo mediante el servicio de reproducción de registros (LRS). Para obtener instrucciones detalladas, consulte Migración de bases de datos de SQL Server a Azure SQL Managed Instance con Log Replay Service.

Para migrar con LRS, siga estos pasos:

  1. Crear una cuenta de Azure Storage con un contenedor de blobs.
  2. Autenticarse en la cuenta de almacenamiento de Blob Storage mediante un token de SAS o una identidad administrada y validar el acceso.
  3. Asegurarse de configurar la estructura de carpetas correctamente si tiene previsto migrar varias bases de datos.
  4. Cargar las copias de seguridad en la cuenta de almacenamiento copiando las copias de seguridad o realizando copias de seguridad directamente mediante la dirección URL BACKUP TO.
  5. Determinar si quiere ejecutar LRS en modo autocompletar o continuo.
  6. Iniciar LRS.
  7. Supervisar el progreso de la migración.
  8. Finalizar la migración (modo continuo).

Copia de seguridad y restauración

Una capacidades principal de Azure SQL Managed Instance que permite la migración de bases de datos rápida y sencilla es la restauración nativa de los archivos (.bak) de la copia de seguridad de la base de datos de la instancia administrada de SQL 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:

En el diagrama se muestra SQL Server con una flecha etiquetada COPIA DE SEGURIDAD/Cargar a una dirección URL que apunta hacia Azure Storage, y una segunda flecha etiquetada RESTAURAR desde la dirección URL que apunta desde Azure Storage hasta una 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 versiones 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 con el 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 en el entorno local o de máquina virtual de Azure antes de restaurar la base de datos. Para obtener pasos detallados, vea Migración de un certificado de una base de datos protegida por TDE a Azure SQL Managed Instance.

No es posible 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 = '<secret>'
    
  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 Inicio rápido: 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 completada 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).