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:
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.
Subir los archivos de copia de seguridad a un segmento de Cloud Storage.
Crea la instancia de Cloud SQL para SQL Server de destino.
Crear y ejecutar la tarea de migración en Database Migration Service.
Monitorizar el progreso de la tarea de migración con las funciones de observabilidad de Database Migration Service.
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
- Verifica si esta ruta de migración puede admitir completamente tu situación. Consulta las limitaciones conocidas de SQL Server.
- 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.
- En la Google Cloud consola, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto.
- Habilita las APIs Database Migration Service, Compute Engine, Cloud Storage y Cloud SQL Admin.
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.
- Cuenta de usuario que realiza la migración:
-
Administrador de migración de bases de datos (
roles/datamigration.admin
) -
Administrador de almacenamiento (
roles/storage.admin
) -
Editor de Cloud SQL (
roles/cloudsql.editor
)
-
Administrador de migración de bases de datos (
- Cuenta de servicio de Database Migration Service:
-
Administrador de migración de bases de datos (
roles/datamigration.admin
) -
Administrador de almacenamiento (
roles/storage.admin
) -
Editor de Cloud SQL (
roles/cloudsql.editor
) -
Usuario de Cloud SQL Studio (
roles/cloudsql.studioUser
)
-
Administrador de migración de bases de datos (
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:
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.
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.
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.
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:
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.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:
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.
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:
- 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.
- 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:
- Detener las subidas automáticas de archivos de copia de seguridad o subir el último archivo de registro de transacciones. Monitoriza el tamaño de las copias de seguridad de los registros de transacciones no procesadas para determinar cuándo termina Database Migration Service de procesar ese archivo.
- También puedes subir un archivo de registro de transacciones cuyo nombre termine con el sufijo
.trn.final
. Database Migration Service detiene las cargas continuas cuando detecta un archivo de copia de seguridad cuyo nombre coincide con la convención de sufijos.trn.final
.Cuando el servicio de migración de bases de datos termine de procesar ese archivo, el estado de la tarea de migración cambiará a Listo para promover.
- Promociona la tarea de migración.
- (Opcional) Verifica que los datos de migración estén completos.