Questa guida mostra come eseguire la migrazione dei database da un'istanza SQL Server Enterprise Edition autogestita a Cloud SQL per SQL Server Enterprise Edition tramite una connessione di rete privata utilizzando un gruppo di disponibilità distribuito (DAG) in Database Migration Service.
Con una migrazione DAG, Database Migration Service trasmette in streaming sia il caricamento completo iniziale (noto come fase FULL_DUMP) sia la replica continua del log delle transazioni (nota come fase Change Data Capture - CDC) direttamente sulla rete tra il gruppo di disponibilità di origine e il gruppo di disponibilità Cloud SQL per SQL Server di destinazione. Per ulteriori informazioni su architettura, prerequisiti e limitazioni delle migrazioni DAG, consulta Informazioni sulle migrazioni dei gruppi di disponibilità distribuiti (DAG).
Per eseguire la migrazione utilizzando i file di backup archiviati in Cloud Storage, consulta Esegui la migrazione dei database SQL Server in Cloud SQL per SQL Server.
Per eseguire una migrazione di un gruppo di disponibilità distribuito, completa le seguenti attività di alto livello:
- Crea e prepara l'istanza Cloud SQL per SQL Server di destinazione.
- Prepara l'istanza SQL Server di origine e il gruppo di disponibilità.
- Stabilisci una connessione di rete privata bidirezionale e configura un server collegato.
- Crea i profili di connessione ed esegui il job di migrazione.
- Monitora e verifica la migrazione.
- Promuovi, esegui il failback o completa la migrazione.
Costi
Per le migrazioni omogenee a Cloud SQL, Database Migration Service viene offerto senza costi aggiuntivi. Tuttavia, si applicano i prezzi standard di Cloud SQL e della rete. Per stimare i costi di utilizzo, utilizza il Calcolatore prezzi.
Prima di iniziare
- Verifica che i database di origine e di destinazione soddisfino tutti i prerequisiti e le limitazioni per le migrazioni dei gruppi di disponibilità distribuiti (tra cui l'esecuzione di Enterprise Edition, l'archiviazione dei file di dati nella directory di dati predefinita e il mancato utilizzo di
sacome proprietario del database). Consulta Informazioni sulle migrazioni dei gruppi di disponibilità distribuiti (DAG). - Scegli la regione Google Cloud per la migrazione. Database Migration Service è un prodotto completamente regionale; tutte le entità correlate alla migrazione (profili di connessione di origine e di destinazione, job di migrazione e istanza Cloud SQL per SQL Server di destinazione) devono risiedere nella stessa regione.
- Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .
- Abilita le API Database Migration Service, Compute Engine e Cloud SQL Admin.
Ruoli obbligatori
Assicurati che nel tuo progettoGoogle Cloud siano concessi i seguenti ruoli IAM:
- Account utente che esegue la migrazione:
- Database Migration Admin (
roles/datamigration.admin) - Cloud SQL Editor (
roles/cloudsql.editor)
- Database Migration Admin (
- Account di servizio Database Migration Service (
service-<var>PROJECT_NUMBER</var>@gcp-sa-datamigration.iam.gserviceaccount.com):- Database Migration Service Agent (
roles/datamigration.serviceAgent) - Cloud SQL Editor (
roles/cloudsql.editor) - Cloud SQL Studio User (
roles/cloudsql.studioUser)
- Database Migration Service Agent (
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso.
Crea e prepara l'istanza Cloud SQL per SQL Server di destinazione
In questo passaggio, crei l'istanza Cloud SQL per SQL Server Enterprise Edition di destinazione e attivi il flag di database richiesto per i server collegati.
- Crea l'istanza Cloud SQL per SQL Server di destinazione. Per istruzioni dettagliate sulla creazione, consulta Crea un'istanza Cloud SQL per SQL Server.
Assicurati che l'istanza soddisfi i seguenti requisiti per le migrazioni dei gruppi di disponibilità distribuiti:
- Seleziona Enterprise Edition (versione 2017, 2019, 2022 o 2025).
- Configura il networking privato in modo che sia in linea con il modo in cui prevedi di connettere l'istanza SQL Server di origine e l'istanza Cloud SQL per SQL Server di destinazione. Abilita l'
accesso privato ai servizi se prevedi di connettere le tue istanze tramite il peering Virtual Private Cloud o utilizza
Private Service Connect se prevedi di connettere le tue istanze utilizzando un endpoint Private Service Connect in entrata e un collegamento di rete Private Service Connect in uscita.
Non attivare sia l'accesso privato ai servizi sia Private Service Connect sulla stessa istanza Cloud SQL per SQL Server di destinazione. Cloud SQL per SQL Server non supporta i server collegati quando entrambi sono abilitati. Per i dettagli completi sulla configurazione del networking, consulta Stabilisci la connettività di rete privata bidirezionale.
- Mantieni disabilitato il recupero point-in-time (PITR) e non aggiungere repliche di lettura fino a quando non avrai completato ed eliminato il job di migrazione del DAG.
- Se un database di origine è di proprietà di un accesso Windows Active Directory, cambia il proprietario del database di origine in un accesso SQL prima della migrazione oppure unisci l'istanza Cloud SQL per SQL Server di destinazione ad Active Directory in modo che Database Migration Service possa creare automaticamente l'accesso Windows corrispondente nell'istanza di destinazione all'avvio del job di migrazione. Per istruzioni, consulta Configura Managed Microsoft AD per Cloud SQL per SQL Server.
- Attiva il flag di database
cloudsql enable linked servers(impostato suon) nell'istanza Cloud SQL per SQL Server di destinazione. Per istruzioni sull'impostazione dei flag, consulta Gestisci i server collegati e Configura i flag di database.Questo flag è necessario in un secondo momento in questa guida, quando crei e verifichi il server collegato nell'istanza Cloud SQL per SQL Server di destinazione.
Prepara l'istanza SQL Server di origine
In questo passaggio, attivi i gruppi di disponibilità Always On nell'istanza SQL Server di origine, crei un endpoint e un certificato di mirroring del database, crei un accesso SQL dedicato per Database Migration Service e prepari il gruppo di disponibilità di origine.
Abilita i gruppi di disponibilità Always On
Assicurati che la funzionalità Gruppi di disponibilità Always On sia abilitata nell'istanza SQL Server di origine:
- Per Windows, consulta Abilita e disabilita i gruppi di disponibilità Always On nella documentazione di Microsoft.
- Per Linux, consulta Configura il gruppo di disponibilità Always On di SQL Server per l'alta affidabilità su Linux nella documentazione di Microsoft.
Crea l'endpoint e il certificato di mirroring del database
In SQL Server, i gruppi di disponibilità distribuiti trasmettono dati e log delle transazioni tra le istanze tramite endpoint TCP DATABASE_MIRRORING (DBM) (porta predefinita 5022). Poiché l'istanza SQL Server autogestita e l'istanza Cloud SQL per SQL Server di destinazione sono istanze autonome, richiedono l'autenticazione reciproca basata su certificato e la crittografia AES per stabilire l'attendibilità sull'endpoint DBM.
Devi solo creare un certificato e associarlo all'endpoint DATABASE_MIRRORING nell'istanza SQL Server di origine. Non è necessario esportare manualmente i file dei certificati o creare certificati nell'istanza Cloud SQL per SQL Server di destinazione:
- Quando avvii il job di migrazione, Database Migration Service configura automaticamente l'endpoint e il certificato
DATABASE_MIRRORINGnell'istanza Cloud SQL per SQL Server di destinazione e utilizza il server collegato per scambiare le chiavi pubbliche tra le due istanze. - Quando elimini il job di migrazione dopo aver completato il cutover, Database Migration Service rimuove automaticamente i certificati importati da entrambe le istanze.
Se l'istanza SQL Server di origine non ha già un endpoint DATABASE_MIRRORING autenticato con un certificato, creane uno:
- Connettiti all'istanza di origine con un client SQL, ad esempio l'utilità
sqlcmd. - Esegui i seguenti comandi T-SQL per creare una chiave master del database, un certificato e un endpoint
DATABASE_MIRRORINGin ascolto sulla portaDBMscelta (predefinita5022):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
Sostituisci quanto segue:
MASTER_KEY_PASSWORDcon una password per criptare la chiave master del database.SOURCE_CERT_NAMEcon un nome per il certificato di mirroring del database di origine (ad esempiodbmCertificate).CERT_EXPIRY_DATEcon la data di scadenza del certificato nel formatoYYYYMMDD.HADR_ENDPOINT_NAMEcon il nome dell'endpoint di mirroring del database.SOURCE_DBM_PORT_NUMBERcon il numero di porta TCP per il traffico di mirroring del database (valore predefinito5022).
Crea l'accesso e le autorizzazioni dedicati di Database Migration Service
Database Migration Service si connette all'istanza SQL Server di origine tramite il server collegato utilizzando un accesso SQL dedicato che fornisci nel profilo di connessione di origine. Puoi configurare questo accesso concedendo il ruolo server sysadmin o configurando le autorizzazioni con privilegio minimo con il database helper gcp_dms_db:
Concedi il ruolo sysadmin
Se la tua policy di sicurezza consente di concedere il ruolo server sysadmin all'accesso per la migrazione, esegui i seguenti comandi 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
Sostituisci quanto segue:
SOURCE_USERNAMEcon il nome di accesso SQL utilizzato da Database Migration Service per connettersi all'istanza di origine (ad esempio,cloud_dms_login).SOURCE_PASSWORDcon la password per l'accesso aSOURCE_USERNAME.SOURCE_USERcon il nome utente del database mappato aSOURCE_USERNAME(ad esempiocloud_dms_user).HADR_ENDPOINT_NAMEcon il nome dell'endpoint di mirroring del database (ad esempio,Hadr_endpoint).
Privilegio minimo (gcp_dms_db)
Se la tua policy di sicurezza vieta la concessione di sysadmin all'accesso per la migrazione, crea il database helper gcp_dms_db dedicato (di proprietà di sa con TRUSTWORTHY ON), crea le tre stored procedure wrapper di Database Migration Service e concedi autorizzazioni granulari all'accesso per la migrazione:
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
Sostituisci quanto segue:
SOURCE_USERNAMEcon il nome di accesso SQL utilizzato da Database Migration Service per connettersi all'istanza di origine (ad esempio,cloud_dms_login).SOURCE_PASSWORDcon la password per l'accesso aSOURCE_USERNAME.SOURCE_USERcon il nome utente del database mappato aSOURCE_USERNAME(ad esempiocloud_dms_user).HADR_ENDPOINT_NAMEcon il nome dell'endpoint di mirroring del database (ad esempio,Hadr_endpoint).DATABASE_NAMEcon il nome di ogni database di origine nel tuo gruppo di disponibilità. La concessione didb_backupoperatorsu ogni database migrato è richiesta dalla verifica preflight di Database Migration Service e consente di eseguire il flush dei log delle transazioni conCHECKPOINTdurante la promozione.
Prepara i database di origine e il gruppo di disponibilità
Puoi eseguire la migrazione dei database da un gruppo di disponibilità Always On esistente o creare un nuovo gruppo di disponibilità autonomo (CLUSTER_TYPE = NONE). Prima di continuare, verifica i seguenti requisiti:
- Ogni database nel gruppo di disponibilità utilizza il modello di recupero
FULL, non è di proprietà disae archivia i propri file di dati (.mdfe.ndf) nella directory di dati predefinita. - Se riutilizzi un gruppo di disponibilità esistente, verifica che l'endpoint di mirroring del database sia configurato sulla porta
5022(o sulla porta DBM scelta), cheSECONDARY_ROLE (ALLOW_CONNECTIONS = ALL)sia abilitato sulla replica in modo che i database secondari rimangano leggibili con stringhe di connessione standard dopo che la promozione ha invertito i ruoli DAG e che i dati di accesso per la migrazione abbianoCONNECT ON ENDPOINT. Se il gruppo di disponibilità di origine ha più repliche e un listener del gruppo di disponibilità configurato, utilizza l'indirizzo IP del listener come<var>SOURCE_HOST_IP_ADDRESS</var>durante la configurazione del server collegato e del profilo di connessione di origine, in modo che la migrazione possa riprendere se si verifica un failover nel gruppo di disponibilità di origine.
Per preparare un database e creare un nuovo gruppo di disponibilità autonomo (CLUSTER_TYPE = NONE), esegui i seguenti comandi 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
Sostituisci quanto segue:
DATABASE_NAMEcon il nome del database da includere nel gruppo di disponibilità.DB_OWNER_LOGINcon un accesso nonsaper possedere il database.SOURCE_AVAILABILITY_GROUP_NAMEcon il nome del tuo gruppo di disponibilità di origine (ad esempio,source_ag).SOURCE_SERVER_NAMEcon il nome del server dell'istanza SQL Server di origine (corrispondente al valore restituito daSELECT @@SERVERNAME).SOURCE_DBM_PORT_NUMBERcon il numero di porta TCP dell'endpoint di mirroring del database (valore predefinito5022).
Stabilisci una connettività di rete privata bidirezionale
Per le migrazioni DAG, Database Migration Service comunica con l'istanza Cloud SQL per SQL Server di destinazione tramite API Google Cloud interne, esegue query di orchestrazione sull'istanza SQL Server di origine tramite un server collegato nell'istanza Cloud SQL per SQL Server di destinazione e trasmette i dati direttamente tra le due istanze su una rete privata. Questa migrazione richiede di stabilire una connessione IP privata bidirezionale direttamente tra l'host SQL Server di origine e l'istanza Cloud SQL per SQL Server di destinazione tramite la rete Virtual Private Cloud. La connettività IP pubblico tra le istanze di origine e di destinazione non è supportata.
Porte e indirizzi IP richiesti
La configurazione di rete deve consentire il traffico tra l'istanza SQL Server di origine e l'istanza Cloud SQL per SQL Server di destinazione sulle seguenti due porte TCP:
| Porta | Direzione | Finalità |
|---|---|---|
Porta del database SQL Server (valore predefinito 1433) |
Dall'istanza Cloud SQL per SQL Server di destinazione all'istanza SQL Server di origine | Utilizzato dal server collegato nell'istanza Cloud SQL per SQL Server di destinazione per eseguire query di convalida preflight, scambio di certificati e orchestrazione DAG nell'istanza di origine. |
Porta di mirroring del database (DBM) (valore predefinito 5022) |
Bidirezionale tra l'istanza SQL Server di origine e l'istanza Cloud SQL per SQL Server di destinazione | Utilizzato dai gruppi di disponibilità di origine e di destinazione per trasmettere in streaming il carico completo iniziale durante FULL_DUMP, le modifiche in corso al database durante CDC e la replica inversa durante FAILBACK. |
Quando configuri il server collegato e i profili di connessione più avanti in questa guida, fornisci due indirizzi IP privati:
SOURCE_HOST_IP_ADDRESS(utilizzato nel parametro Linked Server@datasrce nel flag del profilo di connessione di origine--host) è l'indirizzo IP privato dell'host SQL Server di origine (o l'indirizzo IP del listener del gruppo di disponibilità, che è preferibile se configurato per un gruppo di disponibilità di origine con più repliche, in modo che la migrazione possa riprendere se si verifica un failover nel gruppo di disponibilità di origine) raggiungibile dall'istanza Cloud SQL per SQL Server di destinazione.DESTINATION_HOST_IP_ADDRESS(utilizzato nel flag del profilo di connessione di destinazione--host) è l'indirizzo IP privato dell'istanza Cloud SQL per SQL Server di destinazione (o l'indirizzo IP dell'endpoint Private Service Connect) raggiungibile dall'host SQL Server di origine.
Configura il metodo di networking privato
Completa la configurazione del routing di rete per il metodo di networking (accesso privato ai servizi o Private Service Connect) che hai abilitato nell'istanza Cloud SQL per SQL Server di destinazione:
Accesso privato ai servizi
L'accesso privato ai servizi esegue il peering della tua rete Virtual Private Cloud con la rete Virtual Private Cloud del producer di servizi gestiti da Google che ospita l'istanza Cloud SQL per SQL Server di destinazione:
- Verifica che la tua rete Virtual Private Cloud abbia un intervallo di indirizzi IPv4 interni allocato e una connessione privata (peering Virtual Private Cloud con
servicenetworking-googleapis-com) abilitata per l'istanza Cloud SQL per SQL Server di destinazione. Per istruzioni, consulta Configura l'IP privato per Cloud SQL per SQL Server. - Configura il routing all'host SQL Server di origine in base a dove è ospitato:
- Se l'istanza di origine viene eseguita su una macchina virtuale Compute Engine nella stessa rete Virtual Private Cloud, non è necessario alcun routing aggiuntivo. La macchina virtuale e l'istanza Cloud SQL per SQL Server possono raggiungere direttamente i rispettivi indirizzi IP privati tramite la connessione di peering Virtual Private Cloud.
- Se l'istanza di origine viene eseguita on-premise, in un altro cloud provider o in un'altra rete Virtual Private Cloud, completa i seguenti passaggi in modo che le route vengano scambiate attraverso il confine del peering transitivo:
- Connetti la tua rete esterna alla rete Virtual Private Cloud utilizzando Cloud VPN o Cloud Interconnect. Per istruzioni, consulta Accedi a un'istanza Cloud SQL da un'origine esterna.
- In router Cloud, annuncia l'intervallo di indirizzi IP allocato di Cloud SQL per SQL Server alla tua rete di origine. Per le istruzioni, consulta Pubblicizza intervalli IP personalizzati.
- Aggiorna la connessione di peering
servicenetworking-googleapis-comnella tua rete Virtual Private Cloud per abilitare Esporta route personalizzate in modo che l'istanza Cloud SQL per SQL Server apprenda le route alla tua rete di origine. Per le istruzioni, consulta Aggiorna una connessione di peering.
- Registra gli indirizzi IP privati per la migrazione:
- Utilizza l'indirizzo IP interno dell'host SQL Server di origine come
SOURCE_HOST_IP_ADDRESS. - Utilizza l'indirizzo IP privato assegnato all'istanza Cloud SQL per SQL Server di destinazione (mostrato nella pagina Panoramica dell'istanza) come
DESTINATION_HOST_IP_ADDRESS.
- Utilizza l'indirizzo IP interno dell'host SQL Server di origine come
Private Service Connect
Se utilizzi Private Service Connect anziché l'accesso privato ai servizi, devi configurare sia un endpoint Private Service Connect in entrata (in modo che l'istanza di origine possa connettersi a Cloud SQL per SQL Server sulla porta 5022) sia un'interfaccia Private Service Connect in uscita (in modo che Cloud SQL per SQL Server possa avviare connessioni di server collegati e DAG all'istanza di origine sulle porte 1433 e 5022):
- Verifica che l'istanza Cloud SQL per SQL Server di destinazione abbia Private Service Connect abilitato (senza IP privato) e specifichi i progetti consumer consentiti. Per istruzioni, consulta Configura Private Service Connect.
- Per consentire le connessioni in entrata dall'host SQL Server di origine all'istanza Cloud SQL per SQL Server di destinazione, prenota un indirizzo IP interno nella subnet del tuo Virtual Private Cloud e crea un endpoint Private Service Connect (regola di forwarding) che ha come target il collegamento al servizio dell'istanza Cloud SQL per SQL Server. Per le istruzioni, consulta Crea un endpoint Private Service Connect.
- Per consentire le connessioni in uscita dall'istanza Cloud SQL per SQL Server di destinazione all'host SQL Server di origine (necessario per i server collegati e le connessioni DAG in uscita), crea un collegamento di rete Virtual Private Cloud nella subnet che può instradare al tuo host di origine e configura la connettività in uscita di Private Service Connect nell'istanza Cloud SQL per SQL Server di destinazione. Per istruzioni, consulta Crea e gestisci i collegamenti di rete e Configura la connettività in uscita di Private Service Connect.
- Registra gli indirizzi IP privati per la migrazione:
- Utilizza l'indirizzo IP privato dell'host SQL Server di origine come
SOURCE_HOST_IP_ADDRESS. - Utilizza l'indirizzo IP interno dell'endpoint di Private Service Connect (regola di forwarding) nella tua rete Virtual Private Cloud come
DESTINATION_HOST_IP_ADDRESS.
- Utilizza l'indirizzo IP privato dell'host SQL Server di origine come
Configura le regole firewall del Virtual Private Cloud e dell'host di origine
- Nella tua rete Virtual Private Cloud, crea regole firewall in entrata e in uscita che consentano il traffico TCP tra l'indirizzo IP SQL Server di origine (
SOURCE_HOST_IP_ADDRESS) e l'intervallo IP Cloud SQL per SQL Server di destinazione (o l'endpoint Private Service Connect e la subnet del collegamento di rete) sia sulla porta del database (predefinita1433) sia sulla porta di mirroring del database (predefinita5022). Per ulteriori informazioni sulla creazione di regole firewall, consulta Crea regole firewall. - Sulla macchina SQL Server di origine, verifica le seguenti impostazioni del firewall di rete e host:
- TCP/IP è abilitato in Gestione configurazione SQL Server (o
mssql-confsu Linux) e l'istanza è in ascolto su una porta TCP statica (1433per impostazione predefinita). - Il firewall del sistema operativo (ad esempio Windows Defender Firewall o Linux
iptablesofirewalld) consente le connessioni TCP in entrata sia sulla porta del database (predefinita1433) sia sulla porta di mirroring del database (predefinita5022) e le connessioni TCP in uscita versoDESTINATION_HOST_IP_ADDRESSsulla porta5022.
- TCP/IP è abilitato in Gestione configurazione SQL Server (o
Verifica la raggiungibilità con i test di connettività di Cloud SQL
Prima di configurare il server collegato, ti consigliamo di eseguire tre Connectivity Tests dalla scheda Connessioni > Connectivity Tests della tua istanza Cloud SQL per SQL Server nella console Google Cloud . Per istruzioni su come eseguire un test di connettività, consulta Gestisci i test di connettività:
- Per testare la connettività del server collegato in uscita sulla porta
1433, imposta Origine su Istanza Cloud SQL corrente, Destinazione suSOURCE_HOST_IP_ADDRESSe Porta di destinazione su1433(o sulla porta del database personalizzata). - Per testare la connettività di mirroring del database in uscita sulla porta
5022, imposta Origine su Istanza Cloud SQL corrente, Destinazione suSOURCE_HOST_IP_ADDRESSe Porta di destinazione su5022(o sulla portaDBMpersonalizzata). - Per testare la connettività di mirroring del database in entrata sulla porta
5022, imposta Origine suSOURCE_HOST_IP_ADDRESS, Destinazione su Istanza Cloud SQL attuale (oDESTINATION_HOST_IP_ADDRESSse utilizzi Private Service Connect) e Porta di destinazione su5022(o sulla portaDBMpersonalizzata).
Crea e verifica il server collegato nell'istanza Cloud SQL per SQL Server di destinazione
Una volta stabilita la connessione di rete, connettiti all'istanza Cloud SQL per SQL Server di destinazione e crea il server collegato che punta all'istanza SQL Server di origine:
- Connettiti all'istanza Cloud SQL con un client SQL. Puoi utilizzare i seguenti metodi:
- Client
sqlcmd. Puoi utilizzare questo metodo per connetterti all'IP privato dell'istanza, ma potrebbe essere necessario creare una macchina virtuale Compute Engine. - Comando
gcloud sql connect. Questo comando funziona solo per le istanze Cloud SQL con un indirizzo IP pubblico abilitato.
- Client
- Accedi come utente
sqlservered esegui i seguenti comandi T-SQL per la versione di Cloud SQL per SQL Server di destinazione per creare un server collegato che punta all'istanza SQL Server di origine, mappa@locallogin = N'sqlserver'al login di migrazione di origine, abilitarpc oute testa la connessione conOPENQUERY(per ulteriori informazioni sulle opzioni del server collegato su Cloud SQL, consulta Gestisci i server collegati):Cloud SQL per SQL Server 2017, 2019 e 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 per 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
Sostituisci quanto segue:
LINKED_SERVER_NAMEcon il nome del tuo server collegato su Cloud SQL per SQL Server (ad esempio,source_sql_linked_server).SOURCE_HOST_IP_ADDRESScon l'indirizzo IP privato dell'istanza SQL Server di origine (o l'indirizzo IP del listener del gruppo di disponibilità se configurato per un gruppo di disponibilità di origine con più repliche).SOURCE_PORT_NUMBERcon il numero di porta in cui il motore del database SQL Server di origine accetta le connessioni (valore predefinito1433).SOURCE_USERNAMEcon il nome di accesso SQL dedicato che hai creato nell'istanza di origine in Crea l'accesso e le autorizzazioni dedicati di Database Migration Service.SOURCE_PASSWORDcon la password per l'accesso aSOURCE_USERNAME.
Crea profili di connessione ed esegui il job di migrazione
Utilizza Google Cloud CLI per creare i profili di connessione di origine e di destinazione, creare il job di migrazione continua del DAG, verificare la configurazione della migrazione e avviare il job di migrazione:
-
Crea il profilo di connessione di origine.
Esegui il comandogcloud database-migration connection-profiles create sqlserver(fai clic per espandere):gcloud database-migration connection-profiles create sqlserverQuesto esempio utilizza il flag facoltativo
--no-asyncin modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag--no-asyncper eseguire i comandi in modo asincrono. In questo caso, devi utilizzare il comandogcloud database-migration operations describeper verificare se l'operazione è andata a buon fine.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
Sostituisci quanto segue:
SOURCE_CONNECTION_PROFILE_IDcon un identificatore leggibile da macchina per il profilo di connessione di origine (ad esempio,sqlserver-dag-source-profile).SOURCE_CONNECTION_PROFILE_NAMEcon un nome leggibile per il profilo di connessione di origine. Questo valore viene visualizzato in Database Migration Service nella console Google Cloud .REGIONcon l'identificatore della regione in cui vuoi salvare il profilo di connessione (ad esempious-central1).SOURCE_HOST_IP_ADDRESScon l'indirizzo IP privato dell'istanza SQL Server di origine (o l'indirizzo IP del listener del gruppo di disponibilità se configurato per un gruppo di disponibilità di origine con più repliche).SOURCE_PORT_NUMBERcon il numero di porta in cui il motore del database SQL Server di origine accetta le connessioni (valore predefinito1433).SOURCE_DBM_PORT_NUMBERcon il numero di porta TCP dell'endpoint di mirroring del database di origine (valore predefinito5022).SOURCE_USERNAMEcon il nome di accesso SQL dedicato che hai creato nell'istanza di origine in Crea l'accesso e le autorizzazioni dedicati di Database Migration Service.SOURCE_PASSWORDcon la password per l'accesso aSOURCE_USERNAME.
-
Crea il profilo di connessione di destinazione.
Esegui il comandogcloud database-migration connection-profiles create sqlserver(fai clic per espandere):gcloud database-migration connection-profiles create sqlserverQuesto esempio utilizza il flag facoltativo
--no-asyncin modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag--no-asyncper eseguire i comandi in modo asincrono. In questo caso, devi utilizzare il comandogcloud database-migration operations describeper verificare se l'operazione è andata a buon fine.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
Sostituisci quanto segue:
DESTINATION_CONNECTION_PROFILE_IDcon un identificatore leggibile da macchina per il profilo di connessione di destinazione (ad esempio,sqlserver-dag-dest-profile).DESTINATION_CONNECTION_PROFILE_NAMEcon un nome leggibile per il profilo di connessione di destinazione. Questo valore viene visualizzato in Database Migration Service nella console Google Cloud .REGIONcon l'identificatore della regione in cui vuoi salvare il profilo di connessione.CLOUDSQL_INSTANCE_IDcon il nome dell'istanza Cloud SQL per SQL Server di destinazione.DESTINATION_HOST_IP_ADDRESScon l'indirizzo IP privato dell'istanza Cloud SQL per SQL Server di destinazione (o l'indirizzo IP dell'endpoint Private Service Connect) raggiungibile dall'istanza SQL Server di origine.DESTINATION_PORT_NUMBERcon il numero di porta del database dell'istanza Cloud SQL per SQL Server di destinazione (1433).DESTINATION_DBM_PORT_NUMBERcon il numero di porta del mirroring del database dell'istanza Cloud SQL per SQL Server di destinazione (5022).CLOUD_SQL_DB_USER_PASSWORDcon la password dell'utentesqlservernell'istanza Cloud SQL per SQL Server di destinazione (--usernamedeve essere impostato susqlserver).
-
Crea il job di migrazione DAG continuo.
Esegui il comandogcloud database-migration migration-jobs create(fai clic per espandere):gcloud database-migration migration-jobs createQuesto esempio utilizza il flag facoltativo
--no-asyncin modo che tutte le operazioni vengano eseguite in modo sincrono. Ciò significa che il completamento di alcuni comandi potrebbe richiedere un po' di tempo. Puoi saltare il flag--no-asyncper eseguire i comandi in modo asincrono. In questo caso, devi utilizzare il comandogcloud database-migration operations describeper verificare se l'operazione è andata a buon fine.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
Sostituisci quanto segue:
MIGRATION_JOB_IDcon un identificatore leggibile da macchina per il job di migrazione (ad esempio,sqlserver-dag-job).MIGRATION_JOB_NAMEcon un nome leggibile per il job di migrazione. Questo valore viene visualizzato nella console Google Cloud .REGIONcon l'identificatore della regione in cui vuoi creare il job di migrazione.SOURCE_CONNECTION_PROFILE_IDcon l'identificatore del tuo profilo di connessione di origine.DESTINATION_CONNECTION_PROFILE_IDcon l'identificatore del profilo di connessione di destinazione.SOURCE_AVAILABILITY_GROUP_NAMEcon il nome del gruppo di disponibilità nell'istanza SQL Server di origine.LINKED_SERVER_NAMEcon il nome del server collegato che hai configurato nell'istanza Cloud SQL per SQL Server di destinazione in Crea e verifica il server collegato nell'istanza Cloud SQL per SQL Server di destinazione.
-
Verifica la configurazione del job di migrazione.
Prima di avviare un job di migrazione DAG, devi eseguireverifyper convalidare la connettività di rete bidirezionale, l'accesso RPC al server collegato, le autorizzazionigcp_dms_db(se utilizzi il privilegio minimo), i proprietari del database di origine (verificando che nessun database sia di proprietà disa) e i percorsi dei file di dati predefiniti. Esegui il comandogcloud database-migration migration-jobs verify(fai clic per espandere):gcloud database-migration migration-jobs verifygcloud database-migration migration-jobs verify MIGRATION_JOB_ID \ --region=REGION
Sostituisci quanto segue:
MIGRATION_JOB_IDcon l'identificatore del tuo job di migrazione.REGIONcon l'identificatore della regione in cui è salvato il job di migrazione.
Puoi controllare lo stato dell'operazione di verifica eseguendo il comando
gcloud database-migration operations describe. -
Avvia il job di migrazione.
Al termine della verifica, esegui il comandogcloud database-migration migration-jobs start(fai clic per espandere):gcloud database-migration migration-jobs startgcloud database-migration migration-jobs start MIGRATION_JOB_ID \ --region=REGION
Sostituisci quanto segue:
MIGRATION_JOB_IDcon l'identificatore del tuo job di migrazione.REGIONcon l'identificatore della regione in cui è salvato il job di migrazione.
Monitora e verifica la migrazione
Mentre il job di migrazione DAG è in esecuzione, puoi monitorarne l'avanzamento nella console Google Cloud , eseguire query sui database di destinazione in modalità di sola lettura durante CDC e gestire la replica attiva.
Monitora l'avanzamento nella console Google Cloud
Puoi monitorare un job di migrazione DAG in esecuzione nella console Google Cloud nella pagina Dettagli del job di migrazione, proprio come gli altri job di migrazione di Database Migration Service:
- Nella tabella Database della pagina dei dettagli del job di migrazione, visualizza la fase in tempo reale (
Full dumpdurante il caricamento completo iniziale,CDCdurante la replica continua ed eventuali messaggi di errore a livello di database) e il ritardo di ripristino per ogni database nel gruppo di disponibilità. - Nella scheda Monitoraggio, visualizza il grafico Ritardo di ripristino (
datamigration.googleapis.com/migration_job/max_replica_sec_lag, che segnala il ritardo di replica del gruppo di disponibilità distribuito in secondi per database).
Per ulteriori informazioni sulle metriche di monitoraggio e sugli stati dei job, consulta Metriche dei job di migrazione e Codici di stato dei job di migrazione.
Verifica i database di cui è stata eseguita la migrazione in modalità di sola lettura durante il CDC
A differenza delle migrazioni basate su backup (in cui i database di destinazione rimangono nello stato RESTORING fino alla promozione), le migrazioni dei gruppi di disponibilità distribuiti consentono di eseguire query sui database Cloud SQL per SQL Server di destinazione in modalità di sola lettura non appena entrano nella fase CDC.
Per ogni database di proprietà di un accesso SQL nell'istanza di origine, Database Migration Service crea automaticamente un accesso nell'istanza Cloud SQL per SQL Server di destinazione con il prefisso gcp_dms_, un identificatore di 6 caratteri e il nome del proprietario di origine (ad esempio gcp_dms_a1b2c3_myowner). Per eseguire query sul database con questo accesso prima della promozione, connettiti all'istanza Cloud SQL per SQL Server di destinazione come sqlserver, trova il nome di accesso generato in sys.server_principals e reimposta la password:
SELECT name FROM sys.server_principals WHERE name LIKE 'gcp_dms_%'; GO ALTER LOGIN [GENERATED_DMS_OWNER_LOGIN] WITH PASSWORD = 'NEW_OWNER_PASSWORD'; GO
Sostituisci quanto segue:
GENERATED_DMS_OWNER_LOGINcon il nome di accesso del proprietario del database generato restituito dalla query.NEW_OWNER_PASSWORDcon una nuova password per l'accesso.
Per ulteriori informazioni sulla verifica degli oggetti e dei dati migrati, consulta Verifica una migrazione.
(Facoltativo) Gestisci un job di migrazione DAG attivo
Mentre il job di migrazione è in esecuzione nella fase CDC, puoi eseguire le seguenti operazioni di gestione:
- Aggiungi o rimuovi i database nel gruppo di disponibilità di origine nell'istanza SQL Server di origine eseguendo
ALTER AVAILABILITY GROUP ... ADD DATABASEoALTER AVAILABILITY GROUP ... REMOVE DATABASE. Database Migration Service rileva automaticamente la modifica nel ciclo di polling successivo e aggiorna l'istanza Cloud SQL per SQL Server di destinazione. - Interrompi temporaneamente la replica dei dati eseguendo
gcloud database-migration migration-jobs stop. L'interruzione di un job di migrazione DAG deve essere utilizzata solo per un periodo di tempo definito e breve, perché gli aggiornamenti continuano ad accumularsi nei log delle transazioni mentre la replica è interrotta e possono causare il riempimento dei dischi dei log delle transazioni. Dallo stato interrotto, puoi eseguiregcloud database-migration migration-jobs resumeper riprendere la replica dei dati o eseguiregcloud database-migration migration-jobs deleteper completare la migrazione ed eseguire la pulizia necessaria. - Riavvia un job di migrazione non riuscito eseguendo
gcloud database-migration migration-jobs restart. Il riavvio di un job di migrazione DAG elimina i database di cui è stata eseguita la migrazione nell'istanza Cloud SQL per SQL Server di destinazione, ricrea il gruppo di disponibilità distribuito ed esegue nuovamente il caricamento completo iniziale sulla rete.
Promuovi, esegui il failback o completa la migrazione
Quando è tutto pronto per passare le tue applicazioni a Cloud SQL per SQL Server, promuovi il job di migrazione. In una migrazione DAG, la promozione del job imposta Cloud SQL per SQL Server come istanza principale di lettura/scrittura e fa passare il job di migrazione alla fase FAILBACK (PHASE_FAILBACK in Google Cloud CLI e nelle risposte dell'API) con replica inversa attiva nell'istanza SQL Server di origine:
- Interrompi le scritture dell'applicazione nei database SQL Server di origine e controlla la metrica Ritardo di ripristino nella console Google Cloud per verificare che il ritardo di replica abbia raggiunto lo zero.
-
Promuovi il job di migrazione per eseguire il cutover su Cloud SQL.
Esegui il comandogcloud database-migration migration-jobs promote(fai clic per espandere):gcloud database-migration migration-jobs promotegcloud database-migration migration-jobs promote MIGRATION_JOB_ID \ --region=REGION
Sostituisci quanto segue:
MIGRATION_JOB_IDcon l'identificatore del tuo job di migrazione.REGIONcon l'identificatore della regione in cui è salvato il job di migrazione.
Durante la promozione, Database Migration Service esegue le seguenti azioni:
- Imposta il gruppo di disponibilità distribuito sul commit sincrono, esegue un
CHECKPOINTsu tutti i database di origine, attende la sincronizzazione di tutte le transazioni senza perdita di dati e inverte i ruoli del gruppo di disponibilità in modo che l'istanza Cloud SQL per SQL Server di destinazione diventi l'istanza principale di lettura/scrittura e l'istanza SQL Server di origine originale diventi l'istanza secondaria. - Mantiene il job di migrazione nello stato
Runninge passa il sottostato alla faseFAILBACK(PHASE_FAILBACKin Google Cloud CLI e nelle risposte dell'API), replicando continuamente le nuove scritture da Cloud SQL per SQL Server di destinazione all'istanza SQL Server di origine.
Una volta completata la promozione, connetti le tue applicazioni alla nuova istanza Cloud SQL per SQL Server.
-
(Facoltativo) Esegui il failback all'istanza SQL Server di origine.
Se riscontri un problema dopo aver trasferito le tue applicazioni a Cloud SQL per SQL Server mentre il job di migrazione è in fase diFAILBACK, puoi annullare il cutover senza perdita di dati interrompendo le scritture delle applicazioni su Cloud SQL per SQL Server ed eseguendo il comandogcloud database-migration migration-jobs promotecon il flag--failback(fai clic per espandere):gcloud database-migration migration-jobs promote --failbackgcloud database-migration migration-jobs promote MIGRATION_JOB_ID \ --region=REGION \ --failback
Sostituisci quanto segue:
MIGRATION_JOB_IDcon l'identificatore del tuo job di migrazione.REGIONcon l'identificatore della regione in cui è salvato il job di migrazione.
L'esecuzione di
promotecon il flag--failbackdurante la faseFAILBACKsincronizza tutte le modifiche scritte in Cloud SQL per SQL Server, cambia nuovamente la direzione della replica in modo che il gruppo di disponibilità SQL Server di origine originale diventi il Primary di lettura/scrittura e Cloud SQL per SQL Server diventi il Secondary e riporta il job di migrazione alla faseCDC. Tieni presente che--failbackè valido solo quando il job di migrazione è in faseFAILBACK; l'esecuzione dipromotesenza--failbackdurante la faseFAILBACK(o il passaggio di--failbackdurante la faseCDC) non supera la convalida con un erroreFAILED_PRECONDITIONe lascia il job di migrazione in esecuzione. -
(Facoltativo) Interrompi la replica dei dati prima di eliminare il job di migrazione.
Se vuoi interrompere la replica dei dati prima di eliminare definitivamente il job di migrazione, esegui il comandogcloud database-migration migration-jobs stop(fai clic per espandere):gcloud database-migration migration-jobs stopgcloud database-migration migration-jobs stop MIGRATION_JOB_ID \ --region=REGION
Sostituisci quanto segue:
MIGRATION_JOB_IDcon l'identificatore del tuo job di migrazione.REGIONcon l'identificatore della regione in cui è salvato il job di migrazione.
-
Completa la migrazione ed elimina il job di migrazione.
Dopo aver verificato che le tue applicazioni sono completamente operative con la nuova istanza di destinazione Cloud SQL per SQL Server e che non hai più bisogno della replica inversa nell'istanza SQL Server di origine, elimina il job di migrazione (dallo statoRunningoStopped) per completare la migrazione ed eseguire la pulizia necessaria. Esegui il comandogcloud database-migration migration-jobs delete(fai clic per espandere):gcloud database-migration migration-jobs deleteQuesto comando restituisce un prompt di conferma interattivo che richiede il tuo input per essere completato. Puoi saltare la richiesta di conferma utilizzando il flag facoltativo
--quiet.gcloud database-migration migration-jobs delete MIGRATION_JOB_ID \ --region=REGION
Sostituisci quanto segue:
MIGRATION_JOB_IDcon l'identificatore del tuo job di migrazione.REGIONcon l'identificatore della regione in cui è salvato il job di migrazione.
L'eliminazione del job di migrazione completa la migrazione, interrompe qualsiasi replica inversa attiva, elimina i certificati del gruppo di disponibilità distribuito e del mirroring del database su entrambe le istanze e consente di abilitare le funzionalità di Cloud SQL per SQL Server limitate durante la replica DAG (ad esempio Recupero point-in-time (PITR) o repliche di lettura).
Dopo aver eliminato il job di migrazione, puoi facoltativamente disabilitare o rimuovere il flag di database
cloud sql enable dag supportnell'istanza Cloud SQL per SQL Server di destinazione, eliminare il server collegato nell'istanza Cloud SQL per SQL Server (EXEC master.dbo.sp_dropserver @server = N'LINKED_SERVER_NAME', @droplogins = 'droplogins';) e rimuovere il database helpergcp_dms_dbe l'accesso per la migrazione nell'istanza SQL Server di origine.