En esta página, se describe cómo crear un trabajo de migración para fuentes de Cloud SQL para SQL Server con Google Cloud CLI. Para obtener más información sobre la migración entre instancias de Cloud SQL para SQL Server con Database Migration Service, consulta la Guía de migración de fuentes de Cloud SQL para SQL Server.
Antes de comenzar
- Asegúrate de cumplir con los siguientes requisitos:
- Tienes un bucket de Cloud Storage para los archivos de copia de seguridad de SQL Server.
- Tienes un perfil de conexión de origen para tu instancia de origen.
- Creaste y configuraste tu instancia de destino de Cloud SQL para SQL Server, y tienes un perfil de conexión de destino para la instancia.
- En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .
- Habilita las APIs de Database Migration Service, Compute Engine, Cloud Storage y Cloud SQL Admin.
Roles obligatorios
Para obtener los permisos que necesitas para crear trabajos de migración en Database Migration Service, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
-
Administrador de Database Migration (
roles/datamigration.admin) -
Administrador de almacenamiento (
roles/storage.admin) -
Editor de Cloud SQL (
roles/cloudsql.editor)
Para obtener más información sobre cómo otorgar roles, consulta Administra 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 son necesarios, expande la sección Permisos necesarios:
Permisos necesarios
Se requieren los siguientes permisos para realizar migraciones homogéneas de SQL Server con Database Migration Service:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.deletecloudsql.operations.getcompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.liststorage.objects.list
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Define la configuración y crea un trabajo de migración
gcloud
En este ejemplo, se usa la marca opcional --no-async para que todas las operaciones
se realicen de forma síncrona. Esto significa que algunos comandos pueden tardar
un poco en completarse. Puedes omitir la marca --no-async para ejecutar comandos de forma asíncrona.
Si lo haces, debes usar el comando
gcloud database-migration operations describe
para verificar si la operación se realizó de forma correcta.
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
- MIGRATION_JOB_ID por un identificador legible por máquinas para tu trabajo de migración. Usa este valor para trabajar con trabajos de migración con los comandos de Google Cloud CLI o la API de Database Migration Service.
- REGION por el identificador de la región en la que deseas guardar el trabajo de migración.
- MIGRATION_JOB_NAME por un nombre legible por humanos para tu trabajo de migración. Este valor se muestra en Database Migration Service en la consola de Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID por un identificador legible por máquinas del perfil de conexión de origen.
- DESTINATION_CONNECTION_PROFILE_ID por un identificador legible por máquina del perfil de conexión de destino.
- DESTINATION_PROJECT_ID por el identificador del proyecto de Google Cloud en el que tienes tu instancia de Cloud SQL para SQL Server de destino. Este debe ser el mismo proyecto en el que tienes habilitada la API de Database Migration Service y en el que creas el trabajo de migración.
- COMMA_SEPARATED_DATABASE_ID_LIST por una lista separada por comas de identificadores de bases de datos de SQL Server que deseas migrar desde tus archivos de copia de seguridad.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \ --project=DESTINATION_PROJECT_ID \ --type=CONTINUOUS
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ` --project=DESTINATION_PROJECT_ID ` --type=CONTINUOUS
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^ --project=DESTINATION_PROJECT_ID ^ --type=CONTINUOUS
Deberías recibir una respuesta similar a la que figura a continuación:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Ya se creó el trabajo de migración. Puedes continuar con el proceso de migración:
- (Opcional) Realiza una prueba de trabajo de migración para verificar si Database Migration Service puede llegar a todas las entidades de origen y destino necesarias.
- Inicia el trabajo de migración para comenzar a mover tus datos a la instancia de destino.