Migrar bases de datos de SQL Server a Cloud SQL para SQL Server

En esta página se describe cómo migrar tus bases de datos de SQL Server a una instancia de Cloud SQL para SQL Server con Database Migration Service.

El proceso de migración implica las siguientes tareas:

  1. Exportar una copia de seguridad completa de la base de datos y archivos de registro de transacciones de la instancia de SQL Server de origen.

    También puedes usar la copia de seguridad diferencial de la base de datos opcional en tu proceso de migración.

  2. Subir los archivos de copia de seguridad a un segmento de Cloud Storage.

  3. Crea la instancia de Cloud SQL para SQL Server de destino.

  4. Crear y ejecutar la tarea de migración en Database Migration Service.

  5. Monitorizar el progreso de la tarea de migración con las funciones de observabilidad de Database Migration Service.

  6. Promocionar la tarea de migración una vez que se hayan migrado todos los datos.

Costes

En el caso de las migraciones homogéneas a Cloud SQL, Database Migration Service se ofrece sin coste adicional. Sin embargo, se aplican los precios de Cloud SQL y Cloud Storage a los cargos de red, así como a las entidades de Cloud SQL y Cloud Storage creadas con fines de migración.

En este documento, se usan los siguientes componentes facturables de Google Cloud:

  • Cloud Storage
  • Cloud SQL

Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.

Antes de empezar

  1. Verifica si esta ruta de migración puede admitir completamente tu situación. Consulta las limitaciones conocidas de SQL Server.
  2. Ten en cuenta en qué región quieres crear la base de datos de destino. Database Migration Service es un producto totalmente regional, lo que significa que todas las entidades relacionadas con tu migración (perfiles de conexión de origen y destino, tareas de migración, bases de datos de destino y cubos de almacenamiento) deben guardarse en una sola región.
  3. En la Google Cloud consola, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto.

    Ir al selector de proyectos

  4. Habilita las APIs Database Migration Service, Compute Engine, Cloud Storage y Cloud SQL Admin.

    Habilita las APIs

Roles obligatorios

Para obtener los permisos que necesitas para realizar migraciones homogéneas de SQL Server con Database Migration Service, pide a tu administrador que conceda los roles de gestión de identidades y accesos necesarios en tu proyecto a las siguientes cuentas implicadas en el proceso de migración.

Para obtener más información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.

Estos roles predefinidos contienen los permisos necesarios para realizar migraciones homogéneas de SQL Server con Database Migration Service. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para realizar migraciones homogéneas de SQL Server con Database Migration Service, se necesitan los siguientes permisos:

  • Cuenta de usuario que realiza la migración:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.operations.get
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.import
    • cloudsql.databases.get
    • cloudsql.databases.list
    • cloudsql.databases.delete
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list
  • Cuenta de servicio de Database Migration Service:
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.executeSql
    • storage.objects.create
    • storage.objects.list

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Preparar los datos de origen

Para preparar los datos de origen para la migración, sigue estos pasos:

  1. Ten en cuenta tu estrategia de copia de seguridad para el proceso de migración. Database Migration Service admite el uso de una copia de seguridad diferencial y de los archivos de registro de transacciones para migrar los datos que aparecen en tu base de datos después de crear la copia de seguridad completa.

  2. Realiza una copia de seguridad completa de tu base de datos de SQL Server de origen. Asegúrate de usar el patrón de nomenclatura correcto.

  3. Prepara un segmento de Cloud Storage y sube tus archivos de copia de seguridad a él. Asegúrate de configurar la estructura de directorios necesaria para cada tipo de archivo de copia de seguridad que quieras usar.

  4. Crea un perfil de conexión de origen para el segmento de Cloud Storage.

Preparar la instancia de destino de Cloud SQL para SQL Server

Para configurar la instancia de Cloud SQL de destino, sigue estos pasos:

  1. Crea y configura tu instancia de destino de Cloud SQL para SQL Server. Asegúrate de usar suficientes recursos de computación y memoria para cubrir tus necesidades de migración y asigna el rol de administrador de almacenamiento (roles/storage.admin) a la cuenta de servicio de la instancia.

  2. Crea un perfil de conexión de destino para tu instancia de Cloud SQL.

Crear y ejecutar la tarea de migración

Para configurar y ejecutar la migración, sigue estos pasos:

  1. Crea y ejecuta la tarea de migración.

    Cuando inicies la tarea de migración, tus bases de datos de destino de Cloud SQL para SQL Server se pondrán en modo de recuperación, donde Database Migration Service las gestionará por completo. Puedes promocionar tu instancia de destino cuando tus datos se hayan migrado por completo. Una vez que se haya promovido la instancia de destino, todas las bases de datos de esa instancia estarán operativas. También obtendrás acceso completo de escritura a esas bases de datos.

    Puedes monitorizar el progreso de la migración, así como el estado de tu instancia de destino, con las funciones de observabilidad de Database Migration Service. Consulta las métricas de tareas de migración.

  2. Sigue subiendo nuevos archivos de copia de seguridad del registro de transacciones al segmento de Cloud Storage.

    Para cubrir los datos que aparecen en tu base de datos de origen después de realizar la exportación de la copia de seguridad completa, exporta los archivos de copia de seguridad del registro de transacciones y súbelos al bucket de almacenamiento. Database Migration Service detecta automáticamente los archivos nuevos, lee su contenido y envía los datos a tu instancia de destino. Consulta Automatizar las exportaciones de registros de transacciones.

Finalizar la migración

Cuando decidas cambiar tu aplicación a la nueva instancia de Cloud SQL para SQL Server, finaliza la migración siguiendo estos pasos:

  1. Detén todas las operaciones de escritura en tus bases de datos de origen. Puedes cambiarlos al modo de solo lectura para mantener la funcionalidad operativa.
  2. Haz la última copia de seguridad del registro de transacciones, sube el archivo a tu cubo de almacenamiento y detén la fase de carga incremental en Database Migration Service. Para conseguir este resultado, puedes realizar una de las siguientes acciones:
  3. Promociona la tarea de migración.
  4. (Opcional) Verifica que los datos de migración estén completos.