Migra desde una instancia de Cloud SQL para SQL Server

En esta página, se describe cómo migrar tus bases de datos de Cloud SQL para SQL Server a una instancia de Cloud SQL para SQL Server con Database Migration Service. Con este flujo de migración, puedes mover tus bases de datos a otra instancia de Cloud SQL para SQL Server en el mismo proyecto de Google Cloud o en uno diferente. Para obtener instrucciones sobre cómo migrar desde fuentes autoadministradas o de Amazon RDS, consulta la Guía de migración para fuentes autohospedadas y de Amazon RDS.

El proceso de migración de fuentes de Cloud SQL para SQL Server incluye las siguientes tareas:

  1. Configurar tu instancia de Cloud SQL para SQL Server de origen para que Database Migration Service pueda exportar automáticamente archivos de copia de seguridad a un bucket de Cloud Storage

  2. Crea un perfil de conexión de origen con Google Cloud CLI.

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

  4. Crear y ejecutar trabajos de migración en Database Migration Service con Google Cloud CLI

  5. Supervisar el progreso del trabajo de migración con las funciones de observabilidad de Database Migration Service

  6. Promocionar el trabajo de migración después de que los datos se migran por completo.

Costos

Para las migraciones homogéneas a Cloud SQL, Database Migration Service se ofrece sin cargo adicional. Sin embargo, los precios de Cloud SQL y Cloud Storage se aplican 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, usarás los siguientes componentes facturables de Google Cloud:

  • Cloud Storage
  • Cloud SQL

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.

Antes de comenzar

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

    Ir al selector de proyectos

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

    Habilita las API

Roles obligatorios

Para obtener los permisos que necesitas para realizar migraciones homogéneas entre dos instancias de Cloud SQL para SQL Server con Database Migration Service, pídele a tu administrador que otorgue los roles de IAM necesarios a las cuentas involucradas en el proceso de migración en los proyectos correspondientes.

Esta situación te permite migrar entre dos instancias de Cloud SQL para SQL Server que residen en diferentes proyectos de Google Cloud . Si deseas migrar entre instancias en el mismo proyecto, otorga todos los permisos en el mismo proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Roles y permisos en el proyecto de origen

Otorga los siguientes roles a cuentas específicas en el proyecto de Google Cloud en el que reside tu instancia de origen de Cloud SQL para SQL Server:

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 son necesarios, expande la sección Permisos necesarios (proyecto de origen):

Permisos necesarios (proyecto de origen)

Se requieren los siguientes permisos para realizar migraciones homogéneas de SQL Server con Database Migration Service:

  • Cuenta de usuario que realiza la migración:
    • 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
  • Proyecto de destino Cuenta de servicio de Database Migration Service:
    • cloudsql.instances.export
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.executeSql

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

Roles y permisos en el proyecto de destino

Otorga los siguientes roles a cuentas específicas en el proyecto de Google Cloud en el que reside tu instancia de Cloud SQL para SQL Server dedestino:

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 son necesarios, expande la sección Permisos requeridos (proyecto de destino):

Permisos necesarios (proyecto de destino)

Se requieren los siguientes permisos para realizar migraciones homogéneas de SQL Server con Database Migration Service:

  • 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
  • Cuenta de servicio de Cloud SQL asociada con la instancia de origen:
    • storage.objects.create
    • storage.objects.list
    • storage.objects.get

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

Prepara tu instancia de Cloud SQL de origen

  1. Crea un bucket de Cloud Storage en el proyecto de destino Google Cloud . Este bucket se usa para almacenar los archivos de registro de copia de seguridad exportados desde tu instancia de origen de Cloud SQL para SQL Server.

    • Te recomendamos que configures el período de retención de datos para que sea de entre 14 y 30 días para estos archivos de copia de seguridad.
    • La cuenta de servicio de Cloud SQL asociada con tu instancia de origen necesita el rol de IAM Usuario de objetos de almacenamiento (roles/storage.objectUser) para escribir los archivos de copia de seguridad en este bucket. Para obtener más información sobre los permisos de este flujo de migración, consulta la sección Roles obligatorios.
  2. Configura tu instancia de origen de Cloud SQL para SQL Server.

  3. Crea un perfil de conexión de origen para la instancia de origen de Cloud SQL para SQL Server.

Prepara tu instancia de destino de Cloud SQL para SQL Server

Para configurar tu 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 procesamiento y memoria para cubrir tus necesidades de migración.

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

Crea y ejecuta el trabajo de migración

  1. Crear y ejecutar el trabajo de migración para una fuente de Cloud SQL para SQL Server.

Cuando inicias el trabajo de migración, tus bases de datos de Cloud SQL para SQL Server de destino se colocan en modo de recuperación, en el que Database Migration Service las administra por completo. Puedes ascender tu instancia de destino cuando tus datos se migren por completo. Después de que se ascienda tu instancia de destino, todas las bases de datos de esa instancia estarán completamente operativas. También obtienes acceso de escritura completo a esas bases de datos.

Finaliza la migración

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

  1. Detén todas las operaciones de escritura en tus bases de datos de origen. Puedes cambiarlas al modo de solo lectura para conservar la funcionalidad operativa.
  2. Ascender el trabajo de migración.
  3. (Opcional) Verifica que los datos de migración estén completos.