En esta guía, se muestra cómo migrar bases de datos de una instancia de SQL Server Enterprise Edition autoadministrada a Cloud SQL para SQL Server Enterprise Edition a través de una conexión de red privada con un grupo de disponibilidad distribuido (DAG) en Database Migration Service.
Con una migración de DAG, Database Migration Service transmite la carga completa inicial
(conocida como la fase FULL_DUMP) y la replicación continua del registro de transacciones
(conocida como la fase de captura de datos modificados, CDC) directamente a través de
la red entre tu grupo de disponibilidad de origen y tu grupo de disponibilidad de destino
de Cloud SQL para SQL Server. Para obtener más información sobre la
arquitectura, los requisitos previos y las limitaciones de las migraciones de DAG, consulta
Acerca de las migraciones de grupos de disponibilidad distribuidos (DAG).
Para migrar con archivos de copia de seguridad almacenados en Cloud Storage, consulta
Migra tus bases de datos de SQL Server a Cloud SQL para SQL Server.
Para realizar una migración de grupo de disponibilidad distribuido, completa las siguientes tareas de alto nivel:
- Crea y prepara tu instancia de destino de Cloud SQL para SQL Server.
- Prepara tu instancia de SQL Server de origen y el grupo de disponibilidad.
- Establece una conectividad de red privada bidireccional y configura un servidor vinculado.
- Crear perfiles de conexión y ejecutar el trabajo de migración
- Supervisa y verifica la migración.
- Ascender, conmutar por recuperación o completar la migración
Costos
Para las migraciones homogéneas a Cloud SQL, Database Migration Service se ofrece sin cargo adicional. Sin embargo, se aplican los precios estándar de Cloud SQL y de red. Para estimar tus costos de uso, usa la calculadora de precios.
Antes de comenzar
- Verifica que tus bases de datos de origen y destino cumplan con todos los requisitos previos
y las limitaciones para las migraciones de grupos de disponibilidad distribuidos (incluida
la ejecución de Enterprise Edition, el almacenamiento de archivos de datos en el directorio de datos predeterminado
y no usar
sacomo propietario de la base de datos). Consulta Acerca de las migraciones de grupos de disponibilidad distribuidos (DAG). - Elige la región de Google Cloud para tu migración. Database Migration Service es un producto completamente regional; todas las entidades relacionadas con tu migración (perfiles de conexión de origen y destino, trabajo de migración y la instancia de destino de Cloud SQL para SQL Server) deben residir en la misma región.
- 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 y Cloud SQL Admin.
Roles obligatorios
Asegúrate de que se otorguen los siguientes roles de IAM en tu proyecto deGoogle Cloud :
- Cuenta de usuario que realiza la migración:
- Administrador de Database Migration (
roles/datamigration.admin) - Editor de Cloud SQL (
roles/cloudsql.editor)
- Administrador de Database Migration (
- Cuenta de servicio de Database Migration Service (
service-<var>PROJECT_NUMBER</var>@gcp-sa-datamigration.):- Agente de servicio de Database Migration Service (
roles/datamigration.serviceAgent) - Editor de Cloud SQL (
roles/cloudsql.editor) - Usuario de Cloud SQL Studio (
roles/cloudsql.studioUser)
- Agente de servicio de Database Migration Service (
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Crea y prepara tu instancia de destino de Cloud SQL para SQL Server
En este paso, crearás la instancia de destino de Cloud SQL para SQL Server Enterprise Edition y habilitarás la marca de base de datos requerida para los servidores vinculados.
- Crea tu instancia de destino de Cloud SQL para SQL Server. Para obtener instrucciones detalladas
sobre la creación, consulta
Crea una instancia de Cloud SQL para SQL Server.
Asegúrate de que tu instancia cumpla con los siguientes requisitos para las migraciones de grupos de disponibilidad distribuidos:
- Selecciona Enterprise Edition (versión 2017, 2019, 2022 o 2025).
- Configura las redes privadas para que se alineen con la forma en que planeas conectar tu
instancia de SQL Server de origen y la instancia de Cloud SQL para SQL Server
de destino. Habilita el
acceso privado a servicios
si planeas conectar tus instancias a través del intercambio de tráfico entre nubes privadas virtuales,
o usa
Private Service Connect si planeas conectar tus
instancias con un extremo de Private Service Connect entrante y un adjunto de red de
Private Service Connect saliente.
No habilites el Acceso privado a servicios ni Private Service Connect en la misma instancia de destino de Cloud SQL para SQL Server. Cloud SQL para SQL Server no admite servidores vinculados cuando ambos están habilitados. Para obtener detalles completos sobre la configuración de red, consulta Establece la conectividad de red privada bidireccional.
- Mantén inhabilitada la recuperación de un momento determinado (PITR) y no agregues réplicas de lectura hasta que completes y borres el trabajo de migración de DAG.
- Si alguna base de datos de origen es propiedad de un acceso de Active Directory de Windows, cambia el propietario de la base de datos de origen a un acceso de SQL antes de migrar o une la instancia de Cloud SQL para SQL Server de destino a Active Directory para que Database Migration Service pueda crear automáticamente el acceso de Windows correspondiente en la instancia de destino cuando se inicie el trabajo de migración. Para obtener instrucciones, consulta Configura Microsoft AD administrado para Cloud SQL para SQL Server.
- Habilita la marca de base de datos
cloudsql enable linked servers(establecida enon) en tu instancia de destino de Cloud SQL para SQL Server. Para obtener instrucciones sobre cómo configurar marcas, consulta Administra servidores vinculados y Configura marcas de base de datos.Esta marca se necesita más adelante en esta guía cuando creas y verificas el servidor vinculado en tu instancia de destino de Cloud SQL para SQL Server.
Prepara tu instancia de SQL Server de origen
En este paso, habilitarás los grupos de disponibilidad Always On en tu instancia de SQL Server de origen, crearás un extremo y un certificado de duplicación de base de datos, crearás un acceso de SQL dedicado para Database Migration Service y prepararás tu grupo de disponibilidad de origen.
Habilita los grupos de disponibilidad Always On
Asegúrate de que la función Grupos de disponibilidad Always On esté habilitada en tu instancia de SQL Server de origen:
- Para Windows, consulta Habilita e inhabilita los grupos de disponibilidad Always On en la documentación de Microsoft.
- En el caso de Linux, consulta Configura el grupo de disponibilidad Always On de SQL Server para alta disponibilidad en Linux en la documentación de Microsoft.
Crea el certificado y el extremo de duplicación de la base de datos
En SQL Server, los grupos de disponibilidad distribuidos transmiten datos y
registros de transacciones entre instancias a través de extremos TCP DATABASE_MIRRORING (DBM)
(puerto predeterminado 5022). Debido a que tu instancia de SQL Server autoadministrada
y tu instancia de Cloud SQL para SQL Server de destino son instancias independientes, requieren autenticación mutua basada en certificados y encriptación AES
para establecer confianza en el extremo DBM.
Solo necesitas crear un certificado y vincularlo al extremo DATABASE_MIRRORING
en tu instancia de SQL Server de origen. No es necesario que
exportes manualmente los archivos de certificados ni que crees certificados en tu instancia de destino
de Cloud SQL para SQL Server:
- Cuando inicias el trabajo de migración, Database Migration Service configura de forma automática
el extremo y el certificado de
DATABASE_MIRRORINGen tu instancia de destino de Cloud SQL para SQL Server y usa tu servidor vinculado para intercambiar las claves públicas entre ambas instancias. - Cuando borras el trabajo de migración después de completar la migración de sistemas, Database Migration Service quita automáticamente los certificados importados de ambas instancias.
Si tu instancia de SQL Server de origen aún no tiene un extremo
DATABASE_MIRRORING autenticado con un certificado, crea uno:
- Conéctate a la instancia de origen con un cliente de SQL, por ejemplo, la
utilidad
sqlcmd. - Ejecuta los siguientes comandos de T-SQL para crear una clave maestra de base de datos, un
certificado y un extremo de
DATABASE_MIRRORINGque escuche en el puertoDBMque elegiste (5022predeterminado):USE [master]; GO IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101) BEGIN CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MASTER_KEY_PASSWORD'; END GO CREATE CERTIFICATE [SOURCE_CERT_NAME] WITH SUBJECT = 'AlwaysOn AG Certificate', EXPIRY_DATE = 'CERT_EXPIRY_DATE'; GO CREATE ENDPOINT [HADR_ENDPOINT_NAME] STATE = STARTED AS TCP (LISTENER_PORT = SOURCE_DBM_PORT_NUMBER) FOR DATABASE_MIRRORING ( ROLE = ALL, AUTHENTICATION = CERTIFICATE [SOURCE_CERT_NAME], ENCRYPTION = REQUIRED ALGORITHM AES ); GO
Reemplaza lo siguiente:
MASTER_KEY_PASSWORDpor una contraseña para encriptar la clave maestra de la base de datos.SOURCE_CERT_NAMEpor un nombre para el certificado de duplicación de la base de datos de origen (por ejemplo,dbmCertificate).CERT_EXPIRY_DATEpor la fecha de vencimiento del certificado en formatoYYYYMMDD.HADR_ENDPOINT_NAMEpor el nombre de tu extremo de duplicación de base de datos.SOURCE_DBM_PORT_NUMBERpor el número de puerto TCP para el tráfico de duplicación de bases de datos (el valor predeterminado es5022).
Crea el acceso y los permisos dedicados de Database Migration Service
Database Migration Service se conecta a tu instancia de SQL Server de origen
a través del servidor vinculado con un acceso de SQL dedicado que proporcionas en el
perfil de conexión de origen. Para configurar este acceso, otorga el rol de servidor sysadmin o configura permisos de privilegio mínimo con la base de datos auxiliar gcp_dms_db:
Otorga el rol de sysadmin
Si tu política de seguridad permite otorgar el rol de servidor sysadmin
al acceso de migración, ejecuta los siguientes comandos de T-SQL:
USE [master]; GO CREATE LOGIN [SOURCE_USERNAME] WITH PASSWORD = 'SOURCE_PASSWORD'; CREATE USER [SOURCE_USER] FOR LOGIN [SOURCE_USERNAME]; ALTER SERVER ROLE [sysadmin] ADD MEMBER [SOURCE_USERNAME]; GRANT CONNECT ON ENDPOINT::[HADR_ENDPOINT_NAME] TO [SOURCE_USERNAME]; GO
Reemplaza lo siguiente:
SOURCE_USERNAMEpor el nombre de acceso de SQL que Database Migration Service usa para conectarse a tu instancia de origen (por ejemplo,cloud_dms_login).SOURCE_PASSWORDpor la contraseña para el acceso deSOURCE_USERNAME.SOURCE_USERpor el nombre de usuario de la base de datos asignado aSOURCE_USERNAME(por ejemplo,cloud_dms_user).HADR_ENDPOINT_NAMEpor el nombre de tu extremo de replicación de base de datos (por ejemplo,Hadr_endpoint).
Privilegio mínimo (gcp_dms_db)
Si tu política de seguridad prohíbe otorgar sysadmin al
acceso de migración, crea la base de datos auxiliar gcp_dms_db dedicada
(propiedad de sa con TRUSTWORTHY ON), crea los tres
procedimientos almacenados de wrapper de Database Migration Service y otorga permisos detallados
a tu acceso de migración:
USE [master]; GO CREATE DATABASE [gcp_dms_db]; GO ALTER AUTHORIZATION ON DATABASE::[gcp_dms_db] TO [sa]; ALTER DATABASE [gcp_dms_db] SET TRUSTWORTHY ON; GO USE [gcp_dms_db]; GO CREATE OR ALTER PROCEDURE dbo.gcp_dms_set_dag_commit_mode @dag_name NVARCHAR(128), @source_ag NVARCHAR(128), @dest_ag NVARCHAR(128), @commit_mode NVARCHAR(30) WITH EXECUTE AS 'dbo' AS BEGIN SET NOCOUNT ON; IF @commit_mode NOT IN ('SYNCHRONOUS_COMMIT', 'ASYNCHRONOUS_COMMIT') BEGIN RAISERROR('Invalid commit mode. Must be SYNCHRONOUS_COMMIT or ASYNCHRONOUS_COMMIT.', 16, 1); RETURN; END DECLARE @sql NVARCHAR(MAX); SET @sql = N'USE master; ALTER AVAILABILITY GROUP ' + QUOTENAME(@dag_name) + N' MODIFY AVAILABILITY GROUP ON ' + QUOTENAME(@source_ag, '''') + N' WITH (AVAILABILITY_MODE = ' + @commit_mode + N'), ' + QUOTENAME(@dest_ag, '''') + N' WITH (AVAILABILITY_MODE = ' + @commit_mode + N');'; EXECUTE sp_executesql @sql; END; GO CREATE OR ALTER PROCEDURE dbo.gcp_dms_set_dag_secondary @dag_name NVARCHAR(128) WITH EXECUTE AS 'dbo' AS BEGIN SET NOCOUNT ON; DECLARE @sql NVARCHAR(MAX); SET @sql = N'USE master; ALTER AVAILABILITY GROUP ' + QUOTENAME(@dag_name) + N' SET (ROLE = SECONDARY);'; EXECUTE sp_executesql @sql; END; GO CREATE OR ALTER PROCEDURE dbo.gcp_dms_failover_dag @dag_name NVARCHAR(128) WITH EXECUTE AS 'dbo' AS BEGIN SET NOCOUNT ON; DECLARE @sql NVARCHAR(MAX); SET @sql = N'USE master; ALTER AVAILABILITY GROUP ' + QUOTENAME(@dag_name) + N' FORCE_FAILOVER_ALLOW_DATA_LOSS;'; EXECUTE sp_executesql @sql; END; GO USE [master]; GO CREATE LOGIN [SOURCE_USERNAME] WITH PASSWORD = 'SOURCE_PASSWORD'; CREATE USER [SOURCE_USER] FOR LOGIN [SOURCE_USERNAME]; GRANT VIEW SERVER STATE TO [SOURCE_USERNAME]; -- Note: Run GRANT VIEW SERVER PERFORMANCE STATE on SQL Server 2022 and later: GRANT VIEW SERVER PERFORMANCE STATE TO [SOURCE_USERNAME]; GRANT VIEW ANY DEFINITION TO [SOURCE_USERNAME]; GRANT ALTER ANY AVAILABILITY GROUP TO [SOURCE_USERNAME]; GRANT CONNECT ON ENDPOINT::[HADR_ENDPOINT_NAME] TO [SOURCE_USERNAME]; GRANT CREATE CERTIFICATE TO [SOURCE_USER]; GO USE [gcp_dms_db]; GO CREATE USER [SOURCE_USER] FOR LOGIN [SOURCE_USERNAME]; GRANT EXECUTE ON dbo.gcp_dms_set_dag_commit_mode TO [SOURCE_USER]; GRANT EXECUTE ON dbo.gcp_dms_set_dag_secondary TO [SOURCE_USER]; GRANT EXECUTE ON dbo.gcp_dms_failover_dag TO [SOURCE_USER]; GO -- Repeat the following block for EACH user database in your source Availability Group: USE [DATABASE_NAME]; GO CREATE USER [SOURCE_USER] FOR LOGIN [SOURCE_USERNAME]; ALTER ROLE [db_backupoperator] ADD MEMBER [SOURCE_USER]; GO
Reemplaza lo siguiente:
SOURCE_USERNAMEpor el nombre de acceso de SQL que Database Migration Service usa para conectarse a tu instancia de origen (por ejemplo,cloud_dms_login).SOURCE_PASSWORDpor la contraseña para el acceso deSOURCE_USERNAME.SOURCE_USERpor el nombre de usuario de la base de datos asignado aSOURCE_USERNAME(por ejemplo,cloud_dms_user).HADR_ENDPOINT_NAMEpor el nombre de tu extremo de replicación de base de datos (por ejemplo,Hadr_endpoint).DATABASE_NAMEpor el nombre de cada base de datos de origen en tu grupo de disponibilidad. La verificación previa de Database Migration Service requiere que se otorguedb_backupoperatoren cada base de datos migrada y permite vaciar los registros de transacciones conCHECKPOINTdurante la promoción.
Prepara tus bases de datos de origen y el grupo de disponibilidad
Puedes migrar bases de datos desde un grupo de disponibilidad AlwaysOn existente o
crear un nuevo grupo de disponibilidad independiente (CLUSTER_TYPE = NONE). Antes de
continuar, verifica los siguientes requisitos:
- Cada base de datos del grupo de disponibilidad usa el modelo de recuperación
FULL, no es propiedad desay almacena sus archivos de datos (.mdfy.ndf) en el directorio de datos predeterminado. - Si reutilizas un grupo de disponibilidad existente, confirma que el extremo de duplicación de la base de datos esté configurado en el puerto
5022(o el puerto de DBM que elijas), queSECONDARY_ROLE (ALLOW_CONNECTIONS = ALL)esté habilitado en la réplica para que las bases de datos secundarias sigan siendo legibles con cadenas de conexión estándar después de que la promoción cambie los roles del DAG y que tu acceso de migración tengaCONNECT ON ENDPOINT. Si tu grupo de disponibilidad de origen tiene varias réplicas y un objeto de escucha del grupo de disponibilidad configurado, usa la dirección IP del objeto de escucha como<var>SOURCE_HOST_IP_ADDRESS</var>cuando configures tu servidor vinculado y el perfil de conexión de origen para que la migración se pueda reanudar si se produce una conmutación por error en el grupo de disponibilidad de origen.
Para preparar una base de datos y crear un nuevo grupo de disponibilidad independiente
(CLUSTER_TYPE = NONE), ejecuta los siguientes comandos de T-SQL:
USE [master]; GO ALTER DATABASE [DATABASE_NAME] SET RECOVERY FULL; GO -- If the database is owned by 'sa', change the owner to another login: ALTER AUTHORIZATION ON DATABASE::[DATABASE_NAME] TO [DB_OWNER_LOGIN]; GO -- Initialize the local SQL Server transaction log chain for the Availability Group: BACKUP DATABASE [DATABASE_NAME] TO DISK = 'NUL'; GO CREATE AVAILABILITY GROUP [SOURCE_AVAILABILITY_GROUP_NAME] WITH (CLUSTER_TYPE = NONE) FOR REPLICA ON N'SOURCE_SERVER_NAME' WITH ( ENDPOINT_URL = N'TCP://localhost:SOURCE_DBM_PORT_NUMBER', FAILOVER_MODE = MANUAL, AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, SEEDING_MODE = MANUAL, PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE), SECONDARY_ROLE (ALLOW_CONNECTIONS = ALL) ); GO ALTER AVAILABILITY GROUP [SOURCE_AVAILABILITY_GROUP_NAME] ADD DATABASE [DATABASE_NAME]; GO
Reemplaza lo siguiente:
DATABASE_NAMEpor el nombre de la base de datos que se incluirá en tu grupo de disponibilidad.DB_OWNER_LOGINpor un acceso que no seasapara que sea el propietario de la base de datos.SOURCE_AVAILABILITY_GROUP_NAMEpor el nombre de tu grupo de disponibilidad de origen (por ejemplo,source_ag).SOURCE_SERVER_NAMEpor el nombre del servidor de tu instancia de SQL Server de origen (que coincida con el valor que devuelveSELECT @@SERVERNAME).SOURCE_DBM_PORT_NUMBERpor el número de puerto TCP de tu extremo de duplicación de base de datos (el valor predeterminado es5022).
Establece una conectividad de red privada bidireccional
Para las migraciones de DAG, Database Migration Service se comunica con tu instancia de destino de Cloud SQL para SQL Server a través de las APIs de Google Cloud internas, ejecuta consultas de organización en tu instancia de SQL Server de origen a través de un servidor vinculado en la instancia de destino de Cloud SQL para SQL Server y transmite datos directamente entre las dos instancias a través de una red privada. Esta migración requiere que establezcas una conexión IP privada bidireccional directamente entre tu host de SQL Server de origen y tu instancia de Cloud SQL para SQL Server de destino a través de tu red de nube privada virtual. No se admite la conectividad de IP pública entre las instancias de origen y de destino.
Puertos y direcciones IP obligatorios
La configuración de red debe permitir el tráfico entre la instancia de SQL Server de origen y la instancia de Cloud SQL para SQL Server de destino en los siguientes dos puertos TCP:
| Puerto | Dirección | Objetivo |
|---|---|---|
Puerto de la base de datos de SQL Server (1433 predeterminado) |
Desde la instancia de destino de Cloud SQL para SQL Server hasta la instancia de origen de SQL Server | La instancia de Cloud SQL para SQL Server de destino usa el servidor vinculado para ejecutar la validación preliminar, el intercambio de certificados y las consultas de organización de DAG en la instancia de origen. |
Puerto de duplicación de bases de datos (DBM) (predeterminado: 5022) |
Bidireccional entre la instancia de SQL Server de origen y la instancia de Cloud SQL para SQL Server de destino | Los grupos de disponibilidad de origen y destino lo usan para transmitir la carga completa inicial durante FULL_DUMP, los cambios continuos en la base de datos durante CDC y la replicación inversa durante FAILBACK. |
Cuando configures el servidor vinculado y los perfiles de conexión más adelante en esta guía, proporcionarás dos direcciones IP privadas:
SOURCE_HOST_IP_ADDRESS(que se usa en el parámetro@datasrcdel servidor vinculado y en la marca--hostdel perfil de conexión de origen) es la dirección IP privada de tu host de SQL Server de origen (o la dirección IP del objeto de escucha del grupo de disponibilidad, que se prefiere si se configura para un grupo de disponibilidad de origen con varias réplicas, de modo que la migración se pueda reanudar si se produce una conmutación por error en el grupo de disponibilidad de origen) al que se puede acceder desde tu instancia de destino de Cloud SQL para SQL Server.DESTINATION_HOST_IP_ADDRESS(se usa en la marca--hostdel perfil de conexión de destino) es la dirección IP privada de tu instancia de Cloud SQL para SQL Server de destino (o la dirección IP de su extremo de Private Service Connect) a la que se puede acceder desde tu host de SQL Server de origen.
Configura tu método de redes privadas
Completa la configuración de enrutamiento de red para el método de red (Acceso privado a servicios o Private Service Connect) que habilitaste en tu instancia de destino de Cloud SQL para SQL Server:
Acceso privado a servicios
El acceso privado a servicios intercambia tráfico entre tu red de nube privada virtual y la red de nube privada virtual del productor de servicios administrado por Google que aloja tu instancia de destino de Cloud SQL para SQL Server:
- Verifica que tu red de nube privada virtual tenga un rango de direcciones IPv4 internas asignado
y una conexión privada (intercambio de tráfico de nube privada virtual con
servicenetworking-googleapis-com) habilitada para tu instancia de destino de Cloud SQL para SQL Server. Para obtener instrucciones, consulta Configura una IP privada para Cloud SQL para SQL Server. - Configura el enrutamiento a tu host de SQL Server de origen según
dónde se aloje:
- Si tu instancia de origen se ejecuta en una máquina virtual de Compute Engine en la misma red de nube privada virtual, no se requiere un enrutamiento adicional. La máquina virtual y la instancia de Cloud SQL para SQL Server pueden acceder a las direcciones IP privadas de cada una directamente a través de la conexión de intercambio de tráfico de la nube privada virtual.
- Si tu instancia de origen se ejecuta de forma local, en otro proveedor de servicios en la nube
o en otra red de nube privada virtual, completa los siguientes pasos para que
las rutas se intercambien a través del límite de intercambio de tráfico transitivo:
- Conecta tu red externa a tu red de nube privada virtual con Cloud VPN o Cloud Interconnect. Para obtener instrucciones, consulta Accede a una instancia de Cloud SQL desde una fuente externa.
- En Cloud Router, anuncia el rango de direcciones IP asignado de Cloud SQL para SQL Server a tu red de origen. Para obtener instrucciones, consulta Anuncia rangos de IP personalizados.
- Actualiza la conexión de intercambio de tráfico
servicenetworking-googleapis-comen tu red de nube privada virtual para habilitar la opción Exportar rutas personalizadas, de modo que tu instancia de Cloud SQL para SQL Server conozca las rutas a tu red de origen. Para obtener instrucciones, consulta Actualiza una conexión de intercambio de tráfico.
- Registra las direcciones IP privadas para tu migración:
- Usa la dirección IP interna del host de SQL Server de origen como
SOURCE_HOST_IP_ADDRESS. - Usa la dirección IP privada asignada a tu instancia de destino de Cloud SQL para SQL Server (que se muestra en la página Descripción general de la instancia) como
DESTINATION_HOST_IP_ADDRESS.
- Usa la dirección IP interna del host de SQL Server de origen como
Private Service Connect
Si usas
Private Service Connect
en lugar del acceso privado a servicios, debes configurar un extremo de entrada
de Private Service Connect (para que tu instancia de origen pueda conectarse
a Cloud SQL para SQL Server en el puerto 5022) y una interfaz de salida
de Private Service Connect (para que Cloud SQL para SQL Server pueda
iniciar conexiones de servidor vinculado y DAG a tu instancia de origen en los puertos
1433 y 5022):
- Verifica que tu instancia de Cloud SQL para SQL Server de destino tenga habilitado Private Service Connect (sin IP privada) y especifique tus proyectos de consumidor permitidos. Para obtener instrucciones, consulta Configura Private Service Connect.
- Para permitir conexiones entrantes desde tu host de SQL Server de origen a tu instancia de Cloud SQL para SQL Server de destino, reserva una dirección IP interna en tu subred de nube privada virtual y crea un extremo de Private Service Connect (regla de reenvío) que se oriente al adjunto de servicio de tu instancia de Cloud SQL para SQL Server. Para obtener instrucciones, consulta Crea un extremo de Private Service Connect.
- Para permitir conexiones salientes desde tu instancia de destino de Cloud SQL para SQL Server hasta tu host de SQL Server de origen (obligatorio para las conexiones de DAG salientes y de servidor vinculado), crea un adjunto de red de nube privada virtual en la subred que pueda enrutar al host de origen y configura la conectividad saliente de Private Service Connect en tu instancia de destino de Cloud SQL para SQL Server. Para obtener instrucciones, consulta Crea y administra adjuntos de red y Configura la conectividad saliente de Private Service Connect.
- Registra las direcciones IP privadas para tu migración:
- Usa la dirección IP privada del host de SQL Server de origen como
SOURCE_HOST_IP_ADDRESS. - Usa la dirección IP interna de tu
extremo de Private Service Connect (regla de reenvío) en tu
red de nube privada virtual como
DESTINATION_HOST_IP_ADDRESS.
- Usa la dirección IP privada del host de SQL Server de origen como
Configura las reglas de firewall de la nube privada virtual y del host de origen
- En tu red de nube privada virtual, crea reglas de firewall de entrada y salida que
permitan el tráfico de TCP entre la dirección IP de SQL Server de origen
(
SOURCE_HOST_IP_ADDRESS) y el rango de IP de Cloud SQL para SQL Server de destino (o el extremo de Private Service Connect y la subred de adjunto de red) tanto en el puerto de la base de datos (1433predeterminado) como en el puerto de duplicación de la base de datos (5022predeterminado). Para obtener más información sobre cómo crear reglas de firewall, consulta Crea reglas de firewall. - En la máquina de SQL Server de origen, verifica la siguiente configuración de red y
firewall del host:
- TCP/IP está habilitado en el Administrador de configuración de SQL Server (o
mssql-confen Linux) y la instancia escucha en un puerto TCP estático (1433predeterminado). - El firewall del sistema operativo (como el Firewall de Windows Defender o
iptablesofirewalldde Linux) permite conexiones TCP entrantes en el puerto de la base de datos (1433predeterminado) y en el puerto de duplicación de la base de datos (5022predeterminado), y conexiones TCP salientes aDESTINATION_HOST_IP_ADDRESSen el puerto5022.
- TCP/IP está habilitado en el Administrador de configuración de SQL Server (o
Verifica la accesibilidad con las pruebas de conectividad de Cloud SQL
Antes de configurar tu servidor vinculado, te recomendamos que ejecutes tres pruebas de conectividad desde la pestaña Conexiones > Pruebas de conectividad de tu instancia de Cloud SQL para SQL Server en la consola de Google Cloud . Para obtener instrucciones sobre cómo ejecutar una prueba de conectividad, consulta Administra pruebas de conectividad:
- Para probar la conectividad de salida del servidor vinculado en el puerto
1433, establece Origen en Instancia de Cloud SQL actual, Destino enSOURCE_HOST_IP_ADDRESSy Puerto de destino en1433(o tu puerto de base de datos personalizado). - Para probar la conectividad de duplicación de bases de datos saliente en el puerto
5022, establece Origen en Instancia de Cloud SQL actual, Destino enSOURCE_HOST_IP_ADDRESSy Puerto de destino en5022(o tu puertoDBMpersonalizado). - Para probar la conectividad entrante de la duplicación de bases de datos en el puerto
5022, configura Origen comoSOURCE_HOST_IP_ADDRESS, Destino como Instancia de Cloud SQL actual (oDESTINATION_HOST_IP_ADDRESSsi usas Private Service Connect) y Puerto de destino como5022(o tu puertoDBMpersonalizado).
Crea y verifica el servidor vinculado en tu instancia de destino de Cloud SQL para SQL Server
Una vez que se haya establecido la conectividad de red, conéctate a la instancia de destino de Cloud SQL para SQL Server y crea el servidor vinculado que apunte a la instancia de SQL Server de origen:
- Conéctate a tu instancia de Cloud SQL con un cliente de SQL. Puedes usar los siguientes métodos:
- Cliente de
sqlcmd. Puedes usar este método para conectarte a la IP privada de tu instancia, pero es posible que debas crear una máquina virtual de Compute Engine. - Comando
gcloud sql connect. Este comando solo funciona para las instancias de Cloud SQL que tienen habilitada una dirección IP pública.
- Cliente de
- Accede como el usuario
sqlservery ejecuta los siguientes comandos de T-SQL para tu versión de destino de Cloud SQL para SQL Server para crear un servidor vinculado que apunte a tu instancia de SQL Server de origen, asigna@locallogin = N'sqlserver'a tu acceso de migración de origen, habilitarpc outy prueba la conexión conOPENQUERY(para obtener más información sobre las opciones de servidor vinculado en Cloud SQL, consulta Administra servidores vinculados):Cloud SQL para SQL Server 2017, 2019 y 2022
USE [master]; GO EXEC master.dbo.sp_addlinkedserver @server = N'LINKED_SERVER_NAME', @srvproduct = N'', @provider = N'SQLNCLI', @datasrc = N'SOURCE_HOST_IP_ADDRESS,SOURCE_PORT_NUMBER'; GO EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'LINKED_SERVER_NAME', @useself = N'False', @locallogin = N'sqlserver', @rmtuser = N'SOURCE_USERNAME', @rmtpassword = N'SOURCE_PASSWORD'; GO EXEC master.dbo.sp_serveroption @server = N'LINKED_SERVER_NAME', @optname = N'rpc out', @optvalue = N'TRUE'; GO SELECT * FROM OPENQUERY([LINKED_SERVER_NAME], 'SELECT @@VERSION AS SourceServerVersion'); GO
Cloud SQL para SQL Server 2025
USE [master]; GO EXEC master.dbo.sp_addlinkedserver @server = N'LINKED_SERVER_NAME', @srvproduct = N'', @provider = N'MSOLEDBSQL19', @datasrc = N'SOURCE_HOST_IP_ADDRESS,SOURCE_PORT_NUMBER', @provstr = N'Encrypt=Optional;TrustServerCertificate=Yes;Authentication=SqlPassword;UID=Placeholder;'; GO EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'LINKED_SERVER_NAME', @useself = N'False', @locallogin = N'sqlserver', @rmtuser = N'SOURCE_USERNAME', @rmtpassword = N'SOURCE_PASSWORD'; GO EXEC master.dbo.sp_serveroption @server = N'LINKED_SERVER_NAME', @optname = N'rpc out', @optvalue = N'TRUE'; GO SELECT * FROM OPENQUERY([LINKED_SERVER_NAME], 'SELECT @@VERSION AS SourceServerVersion'); GO
Reemplaza lo siguiente:
LINKED_SERVER_NAMEcon el nombre de su servidor vinculado en Cloud SQL para SQL Server (por ejemplo,source_sql_linked_server).SOURCE_HOST_IP_ADDRESSpor la dirección IP privada de tu instancia de SQL Server de origen (o la dirección IP del objeto de escucha del grupo de disponibilidad si se configuró para un grupo de disponibilidad de origen con varias réplicas).SOURCE_PORT_NUMBERpor el número de puerto en el que el motor de base de datos de SQL Server de origen acepta conexiones (el valor predeterminado es1433).SOURCE_USERNAMEpor el nombre de acceso de SQL dedicado que creaste en tu instancia de origen en Crea el acceso y los permisos dedicados de Database Migration Service.SOURCE_PASSWORDpor la contraseña para el acceso deSOURCE_USERNAME.
Crea perfiles de conexión y ejecuta el trabajo de migración
Usa Google Cloud CLI para crear los perfiles de conexión de origen y destino, crear el trabajo de migración de DAG continuo, verificar la configuración de la migración y, luego, iniciar el trabajo de migración:
-
Crea el perfil de conexión de origen.
Ejecuta el comandogcloud database-migration connection-profiles create sqlserver(haz clic para expandir):gcloud database-migration connection-profiles create sqlserverEn este ejemplo, se usa la marca opcional
--no-asyncpara 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-asyncpara ejecutar comandos de forma asíncrona. Si lo haces, debes usar el comandogcloud database-migration operations describepara verificar si la operación se realizó correctamente.gcloud database-migration connection-profiles create sqlserver SOURCE_CONNECTION_PROFILE_ID \ --no-async \ --display-name=SOURCE_CONNECTION_PROFILE_NAME \ --region=REGION \ --role=SOURCE \ --host=SOURCE_HOST_IP_ADDRESS \ --port=SOURCE_PORT_NUMBER \ --dbm-port=SOURCE_DBM_PORT_NUMBER \ --username=SOURCE_USERNAME \ --password=SOURCE_PASSWORD
Reemplaza lo siguiente:
SOURCE_CONNECTION_PROFILE_IDpor un identificador legible por máquinas para tu perfil de conexión de origen (por ejemplo,sqlserver-dag-source-profile).SOURCE_CONNECTION_PROFILE_NAMEpor un nombre legible por humanos para tu perfil de conexión de origen. Este valor se muestra en Database Migration Service en la consola de Google Cloud .REGIONpor el identificador de la región en la que deseas guardar el perfil de conexión (por ejemplo,us-central1).SOURCE_HOST_IP_ADDRESSpor la dirección IP privada de tu instancia de SQL Server de origen (o la dirección IP del objeto de escucha del grupo de disponibilidad si se configuró para un grupo de disponibilidad de origen con varias réplicas).SOURCE_PORT_NUMBERpor el número de puerto en el que el motor de base de datos de SQL Server de origen acepta conexiones (el valor predeterminado es1433).SOURCE_DBM_PORT_NUMBERpor el número de puerto TCP de tu extremo de duplicación de base de datos de origen (el valor predeterminado es5022).SOURCE_USERNAMEpor el nombre de acceso de SQL dedicado que creaste en tu instancia de origen en Crea el acceso y los permisos dedicados de Database Migration Service.SOURCE_PASSWORDpor la contraseña para el acceso deSOURCE_USERNAME.
-
Crea el perfil de conexión de destino.
Ejecuta el comandogcloud database-migration connection-profiles create sqlserver(haz clic para expandir):gcloud database-migration connection-profiles create sqlserverEn este ejemplo, se usa la marca opcional
--no-asyncpara 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-asyncpara ejecutar comandos de forma asíncrona. Si lo haces, debes usar el comandogcloud database-migration operations describepara verificar si la operación se realizó correctamente.gcloud database-migration connection-profiles create sqlserver DESTINATION_CONNECTION_PROFILE_ID \ --no-async \ --display-name=DESTINATION_CONNECTION_PROFILE_NAME \ --region=REGION \ --role=DESTINATION \ --cloudsql-instance=CLOUDSQL_INSTANCE_ID \ --host=DESTINATION_HOST_IP_ADDRESS \ --port=DESTINATION_PORT_NUMBER \ --dbm-port=DESTINATION_DBM_PORT_NUMBER \ --username=sqlserver \ --password=CLOUD_SQL_DB_USER_PASSWORD
Reemplaza lo siguiente:
DESTINATION_CONNECTION_PROFILE_IDpor un identificador legible por máquinas para tu perfil de conexión de destino (por ejemplo,sqlserver-dag-dest-profile).DESTINATION_CONNECTION_PROFILE_NAMEpor un nombre legible por humanos para tu perfil de conexión de destino. Este valor se muestra en Database Migration Service en la consola de Google Cloud .REGIONpor el identificador de la región en la que deseas guardar el perfil de conexión.CLOUDSQL_INSTANCE_IDpor el nombre de tu instancia de destino de Cloud SQL para SQL Server.DESTINATION_HOST_IP_ADDRESSpor la dirección IP privada de tu instancia de Cloud SQL para SQL Server de destino (o la dirección IP de su extremo de Private Service Connect) como accesible desde tu instancia de SQL Server de origen.DESTINATION_PORT_NUMBERpor el número de puerto de la base de datos de tu instancia de destino de Cloud SQL para SQL Server (1433).DESTINATION_DBM_PORT_NUMBERpor el número de puerto de duplicación de la base de datos de tu instancia de destino de Cloud SQL para SQL Server (5022).CLOUD_SQL_DB_USER_PASSWORDpor la contraseña del usuariosqlserveren tu instancia de destino de Cloud SQL para SQL Server (--usernamedebe establecerse ensqlserver).
-
Crear el trabajo de migración de DAG continuo
Ejecuta el comandogcloud database-migration migration-jobs create(haz clic para expandir):gcloud database-migration migration-jobs createEn este ejemplo, se usa la marca opcional
--no-asyncpara 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-asyncpara ejecutar comandos de forma asíncrona. Si lo haces, debes usar el comandogcloud database-migration operations describepara verificar si la operación se realizó correctamente.gcloud database-migration migration-jobs create MIGRATION_JOB_ID \ --no-async \ --display-name=MIGRATION_JOB_NAME \ --region=REGION \ --type=CONTINUOUS \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --sqlserver-dag-source-ag=SOURCE_AVAILABILITY_GROUP_NAME \ --sqlserver-dag-linked-server=LINKED_SERVER_NAME
Reemplaza lo siguiente:
MIGRATION_JOB_IDpor un identificador legible por máquinas para tu trabajo de migración (por ejemplo,sqlserver-dag-job).MIGRATION_JOB_NAMEpor un nombre legible por humanos para tu trabajo de migración. Este valor se muestra en la consola de Google Cloud .REGIONpor el identificador de la región en la que deseas crear el trabajo de migración.SOURCE_CONNECTION_PROFILE_IDpor el identificador de tu perfil de conexión de origen.DESTINATION_CONNECTION_PROFILE_IDpor el identificador de tu perfil de conexión de destino.SOURCE_AVAILABILITY_GROUP_NAMEpor el nombre del grupo de disponibilidad en tu instancia de SQL Server de origen.LINKED_SERVER_NAMEpor el nombre del servidor vinculado que configuraste en tu instancia de destino de Cloud SQL para SQL Server en Crea y verifica el servidor vinculado en tu instancia de destino de Cloud SQL para SQL Server.
-
Verifica la configuración del trabajo de migración.
Antes de iniciar un trabajo de migración de DAG, debes ejecutarverifypara validar la conectividad de red bidireccional, el acceso RPC del servidor vinculado, los permisos degcp_dms_db(si usas el privilegio mínimo), los propietarios de la base de datos de origen (verificando que ninguna base de datos sea propiedad desa) y las rutas de acceso predeterminadas de los archivos de datos. Ejecuta el comandogcloud database-migration migration-jobs verify(haz clic para expandir):gcloud database-migration migration-jobs verifygcloud database-migration migration-jobs verify MIGRATION_JOB_ID \ --region=REGION
Reemplaza lo siguiente:
MIGRATION_JOB_IDpor el identificador de tu trabajo de migración.REGIONpor el identificador de la región en la que se guarda el trabajo de migración.
Para verificar el estado de la operación de verificación, ejecuta el comando
gcloud database-migration operations describe. -
Inicia el trabajo de migración.
Después de que la verificación se realice correctamente, ejecuta el comandogcloud database-migration migration-jobs start(haz clic para expandir):gcloud database-migration migration-jobs startgcloud database-migration migration-jobs start MIGRATION_JOB_ID \ --region=REGION
Reemplaza lo siguiente:
MIGRATION_JOB_IDpor el identificador de tu trabajo de migración.REGIONpor el identificador de la región en la que se guarda el trabajo de migración.
Supervisa y verifica tu migración
Mientras se ejecuta el trabajo de migración de DAG, puedes supervisar su progreso en
la consola de Google Cloud , consultar tus bases de datos de destino en modo de solo lectura
durante CDC y administrar la replicación activa.
Supervisa el progreso en la consola de Google Cloud
Puedes supervisar un trabajo de migración de DAG en ejecución en la consola de Google Cloud en la página Detalles del trabajo de migración, al igual que otros trabajos de migración de Database Migration Service:
- En la tabla Bases de datos de la página de detalles del trabajo de migración, consulta la
fase en tiempo real (
Full dumpdurante la carga completa inicial,CDCdurante la replicación continua y cualquier mensaje de error a nivel de la base de datos) y el retraso de restablecimiento de cada base de datos de tu grupo de disponibilidad. - En la pestaña Supervisión, consulta el gráfico Retraso de restablecimiento
(
datamigration.googleapis.com/migration_job/max_replica_sec_lag, que informa el retraso de replicación del grupo de disponibilidad distribuido en segundos por base de datos).
Para obtener más información sobre las métricas de supervisión y los estados de los trabajos, consulta Métricas de trabajos de migración y Códigos de estado de trabajos de migración.
Verifica las bases de datos migradas en modo de solo lectura durante la CDC
A diferencia de las migraciones basadas en copias de seguridad (en las que las bases de datos de destino permanecen en el
estado RESTORING hasta la promoción), las migraciones de grupos de disponibilidad distribuidos
te permiten consultar tus bases de datos de Cloud SQL para SQL Server de destino en
modo de solo lectura en cuanto ingresan a la fase CDC.
Para cada base de datos que pertenezca a un acceso de SQL en la instancia de origen,
Database Migration Service crea automáticamente un acceso en la instancia de destino
de Cloud SQL para SQL Server con el prefijo gcp_dms_, un identificador de 6 caracteres
y el nombre del propietario de origen (por ejemplo, gcp_dms_a1b2c3_myowner).
Para consultar la base de datos con ese acceso antes de la promoción, conéctate a tu
instancia de destino de Cloud SQL para SQL Server como sqlserver, busca el nombre de acceso generado
en sys.server_principals y restablece su contraseña:
SELECT name FROM sys.server_principals WHERE name LIKE 'gcp_dms_%'; GO ALTER LOGIN [GENERATED_DMS_OWNER_LOGIN] WITH PASSWORD = 'NEW_OWNER_PASSWORD'; GO
Reemplaza lo siguiente:
GENERATED_DMS_OWNER_LOGINpor el nombre de acceso del propietario de la base de datos generado que devuelve la consulta.NEW_OWNER_PASSWORDpor una contraseña nueva para el acceso.
Para obtener más información sobre cómo verificar los objetos y los datos migrados, consulta Verifica una migración.
Administra un trabajo de migración de DAG activo (opcional)
Mientras tu trabajo de migración se ejecuta en la fase CDC, puedes realizar las
siguientes operaciones de administración:
- Agrega o quita bases de datos en tu grupo de disponibilidad de origen en tu instancia de SQL Server de origen ejecutando
ALTER AVAILABILITY GROUP ... ADD DATABASEoALTER AVAILABILITY GROUP ... REMOVE DATABASE. Database Migration Service detecta automáticamente el cambio en su próximo ciclo de sondeo y actualiza la instancia de destino de Cloud SQL para SQL Server. - Detén temporalmente la replicación de datos ejecutando
gcloud database-migration migration-jobs stop. La detención de un trabajo de migración de DAG solo debe usarse durante un período definido y breve, ya que las actualizaciones se siguen acumulando en los registros de transacciones mientras se detiene la replicación y pueden hacer que se llenen los discos de registro de transacciones. Desde un estado detenido, puedes ejecutargcloud database-migration migration-jobs resumepara reanudar la replicación de datos o ejecutargcloud database-migration migration-jobs deletepara completar la migración y realizar la limpieza necesaria. - Ejecuta
gcloud database-migration migration-jobs restartpara reiniciar un trabajo de migración con errores. Si reinicias un trabajo de migración de DAG, se borrarán las bases de datos migradas en tu instancia de destino de Cloud SQL para SQL Server, se volverá a crear el grupo de disponibilidad distribuido y se volverá a ejecutar la carga completa inicial en la red.
Ascender, conmutar por recuperación o completar la migración
Cuando estés listo para cambiar tus aplicaciones a Cloud SQL para SQL Server, asciende
el trabajo de migración. En una migración de DAG, cuando se promociona el trabajo,
Cloud SQL para SQL Server cambia a la instancia principal de lectura y escritura, y el trabajo de migración pasa
a la fase FAILBACK (PHASE_FAILBACK en las respuestas de la API y Google Cloud CLI)
con replicación inversa activa de vuelta a tu instancia de SQL Server
de origen:
- Detén las escrituras de la aplicación en tus bases de datos de SQL Server de origen y verifica la métrica Retraso de restablecimiento en la consola de Google Cloud para confirmar que el retraso de la replicación haya llegado a cero.
-
Ascender el trabajo de migración para realizar la transición a Cloud SQL
Ejecuta el comandogcloud database-migration migration-jobs promote(haz clic para expandir):gcloud database-migration migration-jobs promotegcloud database-migration migration-jobs promote MIGRATION_JOB_ID \ --region=REGION
Reemplaza lo siguiente:
MIGRATION_JOB_IDpor el identificador de tu trabajo de migración.REGIONpor el identificador de la región en la que se guarda el trabajo de migración.
Durante la promoción, Database Migration Service realiza las siguientes acciones:
- Establece el grupo de disponibilidad distribuido en confirmación síncrona, emite un
CHECKPOINTen todas las bases de datos de origen, espera a que todas las transacciones se sincronicen sin pérdida de datos y revierte los roles del grupo de disponibilidad para que tu instancia de Cloud SQL para SQL Server de destino se convierta en la instancia principal de lectura y escritura, y tu instancia de SQL Server de origen original se convierta en la secundaria. - Mantiene el trabajo de migración en el estado
Runningy cambia el subestado a la faseFAILBACK(PHASE_FAILBACKen Google Cloud CLI y las respuestas de la API), replicando de forma continua las nuevas escrituras de tu instancia de Cloud SQL para SQL Server de destino en la instancia de SQL Server de origen.
Una vez que se complete el ascenso, conecta tus aplicaciones a la nueva instancia de Cloud SQL para SQL Server.
-
(Opcional) Realiza una conmutación por recuperación a tu instancia de SQL Server de origen.
Si tienes un problema después de cambiar tus aplicaciones a Cloud SQL para SQL Server mientras el trabajo de migración está en la faseFAILBACK, puedes revertir la migración de sistemas sin pérdida de datos deteniendo las escrituras de la aplicación en Cloud SQL para SQL Server y ejecutando el comandogcloud database-migration migration-jobs promotecon la marca--failback(haz clic para expandir):gcloud database-migration migration-jobs promote --failbackgcloud database-migration migration-jobs promote MIGRATION_JOB_ID \ --region=REGION \ --failback
Reemplaza lo siguiente:
MIGRATION_JOB_IDpor el identificador de tu trabajo de migración.REGIONpor el identificador de la región en la que se guarda el trabajo de migración.
Ejecutar
promotecon la marca--failbackdurante la faseFAILBACKsincroniza todos los cambios escritos en Cloud SQL para SQL Server, vuelve a cambiar la dirección de replicación para que tu grupo de disponibilidad de SQL Server de origen original se convierta en el principal de lectura y escritura, y Cloud SQL para SQL Server se convierta en el secundario, y devuelve el trabajo de migración a la faseCDC. Ten en cuenta que--failbacksolo es válido cuando el trabajo de migración está en la faseFAILBACK; la ejecución depromotesin--failbackdurante la faseFAILBACK(o el paso de--failbackdurante la faseCDC) falla la validación con un errorFAILED_PRECONDITIONy deja el trabajo de migración en ejecución. -
Detén la replicación de datos antes de borrar el trabajo de migración (opcional).
Si quieres detener la replicación de datos antes de borrar de forma permanente el trabajo de migración, ejecuta el comandogcloud database-migration migration-jobs stop(haz clic para expandir):gcloud database-migration migration-jobs stopgcloud database-migration migration-jobs stop MIGRATION_JOB_ID \ --region=REGION
Reemplaza lo siguiente:
MIGRATION_JOB_IDpor el identificador de tu trabajo de migración.REGIONpor el identificador de la región en la que se guarda el trabajo de migración.
-
Completa la migración y borra el trabajo de migración.
Una vez que verifiques que tus aplicaciones están completamente operativas con la nueva instancia de destino de Cloud SQL para SQL Server y ya no necesites la replicación inversa en la instancia de SQL Server de origen, borra el trabajo de migración (desde el estadoRunningoStopped) para completar la migración y realizar la limpieza necesaria. Ejecuta el comandogcloud database-migration migration-jobs delete(haz clic para expandir):gcloud database-migration migration-jobs deleteEste comando devuelve un mensaje de confirmación interactivo que requiere tu entrada para completarse. Puedes omitir el mensaje de confirmación con la marca opcional
--quiet.gcloud database-migration migration-jobs delete MIGRATION_JOB_ID \ --region=REGION
Reemplaza lo siguiente:
MIGRATION_JOB_IDpor el identificador de tu trabajo de migración.REGIONpor el identificador de la región en la que se guarda el trabajo de migración.
Si borras el trabajo de migración, se completa la migración, se detiene cualquier replicación inversa activa, se descartan los certificados de creación de reflejo de la base de datos y del grupo de disponibilidad distribuido en ambas instancias, y se te permite habilitar las funciones de Cloud SQL para SQL Server que están restringidas durante la replicación de DAG (como la recuperación de un momento determinado [PITR] o las réplicas de lectura).
Después de borrar el trabajo de migración, puedes inhabilitar o quitar la marca de base de datos
cloud sql enable dag supporten tu instancia de Cloud SQL para SQL Server de destino, descartar el servidor vinculado en tu instancia de Cloud SQL para SQL Server (EXEC master.dbo.sp_dropserver @server = N'LINKED_SERVER_NAME', @droplogins = 'droplogins';) y quitar la base de datos auxiliargcp_dms_dby el acceso de migración en tu instancia de SQL Server de origen.