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 para 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 fuente 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 requeridos:
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 tiempo 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ó correctamente.
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
- MIGRATION_JOB_ID con un identificador legible por máquina para tu trabajo de migración. Usas este valor para trabajar con trabajos de migración a través de los comandos de la CLI de Google Cloud o la API de Database Migration Service.
- REGION con el identificador de la región en la que deseas guardar el trabajo de migración.
- MIGRATION_JOB_NAME con un nombre legible para tu trabajo de migración. Este valor se muestra en Database Migration Service en la consola de Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión fuente.
- DESTINATION_CONNECTION_PROFILE_ID con un identificador legible por máquina del perfil de conexión de destino.
- DESTINATION_PROJECT_ID con el identificador del proyecto Google Cloud en el que tienes tu instancia de Cloud SQL para SQL Server destino. Debe ser el mismo proyecto en el que tienes habilitada la API de Database Migration Service y en el que creaste el trabajo de migración.
- COMMA_SEPARATED_DATABASE_ID_LIST con una lista separada por comas de los identificadores de la base de datos de SQL Server desde la que deseas migrar 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]
Ahora se creó el trabajo de migración. Puedes continuar con el proceso de migración:
- (Opcional) Realiza una prueba del trabajo de migración para verificar si Database Migration Service puede acceder a todas las entidades de origen y destino necesarias.
- Inicia el trabajo de migración para comenzar a transferir tus datos a la instancia de destino.