Esegui la migrazione del database SQL Server da AWS EC2 a Compute Engine


Questo tutorial illustra i diversi approcci che puoi utilizzare per eseguire la migrazione di un database Microsoft SQL Server su Amazon Elastic Compute Cloud (AWS EC2) a Compute Engine.

Questa pagina illustra i seguenti approcci:

Ogni metodo di migrazione presenta vantaggi e svantaggi diversi. La strategia di migrazione più adatta dipende dalle tue circostanze e priorità specifiche. Ti consigliamo di scegliere il metodo di migrazione più adatto alle tue esigenze in base alle seguenti considerazioni:

  • Disponibilità: valuta se un approccio di migrazione è supportato da tutte le versioni e licenze del tuo database SQL Server.

  • Dimensioni del database:le dimensioni del database possono influire notevolmente sulle opzioni di migrazione possibili, poiché i database più grandi potrebbero richiedere strategie diverse rispetto a quelli più piccoli. Quando scegli un approccio di migrazione, tieni conto della durata del trasferimento dei dati, del potenziale tempo di riposo e dei requisiti delle risorse.

  • Tolleranza al tempo di riposo:il livello accettabile di tempo di riposo durante la migrazione è un fattore fondamentale. Alcuni metodi consentono un tempo di riposo minimo o quasi nullo, mentre altri richiedono un tempo di riposo più lungo. Valuta un approccio di migrazione che offra un tempo di riposo accettabile per te.

  • Complessità: la complessità dello schema del database, delle dipendenze delle applicazioni e dell'ambiente complessivo può influire sull'approccio alla migrazione. Assicurati che il metodo di migrazione scelto supporti la migrazione di oggetti non di database come job dell'agente SQL, server collegati, autorizzazioni e oggetti utente.

  • Costo: anche l'aspetto finanziario della migrazione può essere preso in considerazione. I diversi metodi di migrazione comportano costi variabili associati al trasferimento dei dati, alle risorse di calcolo e ad altri servizi. Valuta un metodo di migrazione più adatto alle tue esigenze.

  • Sicurezza e conformità dei dati: assicurati che il metodo di migrazione scelto rispetti i requisiti di sicurezza e conformità dei dati. Valuta la crittografia dei dati, i controlli di accesso e eventuali requisiti specifici del settore applicabili ai tuoi dati.

Obiettivi

Questo tutorial mostra come completare le seguenti attività per eseguire la migrazione del database SQL Server da AWS EC2 a Compute Engine:

Costi

Questo tutorial utilizza i componenti fatturabili di Google Cloud, tra cui:

Utilizza il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.

Prima di iniziare

Prima di iniziare, completa le seguenti attività:

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

Preparare il progetto e la rete

Per preparare il Google Cloud progetto e il Virtual Private Cloud (VPC) per il deployment di SQL Server per la migrazione, segui questi passaggi:

  1. Nella Google Cloud console, fai clic su Attiva Cloud Shell Attiva Cloud Shell. per aprire Cloud Shell.

    Vai alla Google Cloud console

  2. Imposta l'ID progetto predefinito:

    gcloud config set project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del tuo Google Cloud progetto.

  3. Imposta la regione predefinita:

    gcloud config set compute/region REGION
    

    Sostituisci REGION con l'ID della regione in cui vuoi eseguire il deployment.

  4. Imposta la zona predefinita:

    gcloud config set compute/zone ZONE
    

    Sostituisci ZONE con l'ID della zona in cui vuoi eseguire il deployment. Assicurati che la zona sia valida nella regione specificata nel passaggio precedente.

Creare un'istanza SQL Server su Compute Engine

Prima di eseguire la migrazione del database SQL Server a Compute Engine, devi creare una macchina virtuale (VM) su Compute Engine per ospitarlo.

Utilizza il seguente comando per creare un'istanza SQL Server su Compute Engine:

Standard 2022

gcloud compute instances create sql-server-std-migrate-vm \
--project=PROJECT_ID \
--zone ZONE \
--machine-type n4-standard-8 \
--subnet SUBNET_NAME \
--create-disk=auto-delete=yes,boot=yes,device-name=node-1,image=projects/windows-sql-cloud/global/images/sql-2022-standard-windows-2022-dc-v20250213,mode=rw,size=50,type=projects/PROJECT_ID/zones/ZONE/diskTypes/pd-balanced \
--scopes=https://www.googleapis.com/auth/compute,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/trace.append,https://www.googleapis.com/auth/devstorage.read_write

Sostituisci quanto segue:

  • PROJECT_ID: con l'ID del tuo progetto Google Cloud .
  • ZONE: con l'ID della zona.
  • SUBNET_NAME: con il nome della subnet VPC.

Enterprise 2022

gcloud compute instances create sql-server-ent-migrate-vm \
--project=PROJECT_ID \
--zone ZONE \
--machine-type n4-standard-8 \
--subnet SUBNET_NAME \
--create-disk=auto-delete=yes,boot=yes,device-name=node-1,image=projects/windows-sql-cloud/global/images/sql-2022-enterprise-windows-2022-dc-v20250213,mode=rw,size=50,type=projects/PROJECT_ID/zones/ZONE/diskTypes/pd-balanced \
--scopes=https://www.googleapis.com/auth/compute,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/trace.append,https://www.googleapis.com/auth/devstorage.read_write

Sostituisci quanto segue:

  • PROJECT_ID: con l'ID del tuo progetto Google Cloud .
  • ZONE: con l'ID della zona.
  • SUBNET_NAME: con il nome della subnet VPC.

Per ulteriori informazioni sulla creazione di istanze SQL Server su Compute Engine, consulta Creare un'istanza SQL Server.

Configurare e connettersi alla VM SQL Server

Per configurare la VM SQL Server e connetterti, segui questi passaggi:

  1. Imposta la password iniziale di Windows per il tuo account:

    1. Nella Google Cloud console, vai alla pagina Istanze VM.

      Vai a Istanze VM

    2. Fai clic sul nome della VM SQL Server.

    3. Fai clic sul pulsante Imposta password di Windows.

    4. Inserisci una password e fai clic su Imposta quando ti viene chiesto di impostare la nuova password di Windows.

    5. Salva il nome utente e la password.

  2. Connettiti alla VM SQL Server:

    1. Utilizza l'indirizzo IP pubblico della VM SQL Server dalla pagina Istanze VM e le credenziali salvate nel passaggio precedente per connetterti alla VM SQL Server utilizzando Microsoft Remote Desktop (RDP).

    2. Esegui SQL Server Management Studio (SSMS) come amministratore.

    3. Verifica che la casella di controllo Attendi il certificato del server sia selezionata e fai clic su Connetti.

La VM SQL Server è ora pronta per essere utilizzata per la migrazione del database. Per creare nuovi accessi utente per connetterti e gestire la VM SQL Server, consulta Creare un accesso.

Backup e ripristino completi del database

Un backup e un ripristino completi del database sono il metodo più comune e semplice per la migrazione del database. Con questo approccio, viene eseguito un backup completo del database SQL Server dall'ambiente di origine e poi ripristinato nell'ambiente Google Cloud di destinazione. Sebbene questo metodo sia relativamente semplice, può richiedere molto tempo per i database di grandi dimensioni a causa del tempo necessario per creare e ripristinare il backup.

Questa sezione illustra come utilizzare SSMS per esportare il database SQL Server utilizzando un database AdventureWorks2022 di esempio.

Creare un backup completo del database

Per creare un backup completo del database:

  1. Accedi alla VM AWS EC2 utilizzando Microsoft RDP.

  2. Connettiti a SQL Server utilizzando SSMS.

  3. Espandi la cartella dei database in Esplora oggetti.

  4. Fai clic con il tasto destro del mouse sul nome del database, poi fai clic su Tasks nel menu.

  5. Fai clic su Esegui il backup per aprire la procedura guidata per il backup del database.

    1. Verifica che il nome del database di cui eseguire il backup e il tipo di backup siano impostati su Completo.

    2. Fai clic su Aggiungi sotto la destinazione per il backup completo.

    3. Fai clic sull'icona dei tre puntini () per selezionare la cartella e il nome del file di backup.

    4. Fai clic su OK per impostare il nome del file e di nuovo su OK per impostare la destinazione.

      Opzioni di backup del database.

    5. Fai clic su OK per avviare il backup del database e attendi il completamento del backup.

      Al termine della procedura di backup viene creato un file di backup. Ora puoi utilizzare questo file di backup per eseguire la migrazione dei contenuti del database a una VM Compute Engine.

    6. Fai clic su OK per uscire dalla procedura guidata di backup del database.

Trasferisci il file di backup in una VM Compute Engine

Per eseguire la migrazione dei contenuti del database SQL Server, devi trasferire il file di backup creato nel passaggio precedente alla VM Compute Engine che hai creato. Per informazioni sulle varie opzioni di trasferimento, consulta Trasferire file nelle VM Windows.

Ripristina il database SQL Server dal file di backup

Per ripristinare il database dal file di backup:

  1. Accedi alla VM Compute Engine utilizzando RDP.

  2. Connettiti a SQL Server utilizzando SSMS.

  3. In Esplora oggetti, fai clic con il tasto destro del mouse sulla cartella Database e poi su Ripristina database.

  4. Per Origine, fai clic su Dispositivo e sull'icona a tre puntini () per aprire la pagina Seleziona dispositivo di backup.

  5. Verifica che il tipo di supporto di backup sia impostato su File e fai clic su Aggiungi per selezionare il file di backup.

    Ripristina il database Seleziona dispositivo.

  6. Fai clic su OK per impostare il file di backup come dispositivo di ripristino.

  7. Fai clic su OK per ripristinare il database.

    Al termine della procedura, viene eseguita la migrazione del database a SQL Server di destinazione su Compute Engine.

  8. Per verificare se la procedura è stata completata correttamente, puoi espandere la cartella databases in Esplora oggetti e verificare se riesci a vedere il database di cui è stata eseguita la migrazione.

    Verifica il database ripristinato.

Eseguire la migrazione utilizzando un file BACPAC

Un file del pacchetto di backup (BACPAC) è una rappresentazione logica di un database SQL Server. Può essere esportato dall'ambiente AWS di origine e poi importato nell'ambiente Google Cloud di destinazione. Questo metodo è in genere più veloce di un backup e un ripristino completi per i database più piccoli, ma potrebbe non essere adatto per i database di grandi dimensioni o con dipendenze complesse.

La sezione seguente illustra come eseguire la migrazione del database SQL Server utilizzando un file BACPAC.

Creare un'esportazione BACPAC

Per creare un'esportazione BACPAC:

  1. Accedi alla VM AWS EC2 utilizzando Microsoft RDP.

  2. Connettiti a SQL Server utilizzando SSMS.

  3. Espandi la cartella databases in Esplora oggetti.

  4. Fai clic con il tasto destro del mouse sul nome del database e poi su Tasks.

  5. Fai clic su Esporta applicazione a livello di dati per aprire la procedura guidata per l'esportazione.

    1. Fai clic su Avanti.

    2. Fai clic su Sfoglia nell'opzione Salva su disco locale e seleziona il file BACPAC.

    3. Fai clic sulla scheda Avanzate e seleziona gli schemi da esportare.

    4. Fai clic su Avanti per passare al riepilogo.

    5. Fai clic su Fine per esportare il file BACPAC e attendi il completamento dell'esportazione.

    6. Fai clic su Chiudi per uscire dalla procedura guidata.

  6. Trasferisci il file BACPAC creato nei passaggi precedenti alla VM di destinazione su Compute Engine. Per informazioni sulle opzioni di trasferimento, consulta Trasferire file nelle VM Windows.

Ripristinare il database SQL Server da un file BACPAC

Per ripristinare il database dal file BACPAC:

  1. Accedi alla VM Compute Engine utilizzando RDP.

  2. Connettiti a SQL Server utilizzando SSMS.

  3. In Esplora oggetti, fai clic con il tasto destro del mouse sulla cartella Database e poi su Importa applicazione a livello di dati.

  4. Fai clic su Avanti.

  5. Fai clic su Sfoglia, seleziona il file BACPAC da ripristinare e poi fai clic su Avanti.

  6. Verifica il nome del nuovo database e fai clic su Avanti.

  7. Fai clic su Fine e attendi il completamento dell'importazione.

  8. Fai clic su Chiudi per uscire dalla procedura guidata.

  9. Per verificare se la procedura è stata completata correttamente, puoi espandere la cartella databases in Esplora oggetti e verificare se riesci a vedere il database di cui è stata eseguita la migrazione.

Eseguire la migrazione utilizzando i gruppi di disponibilità AlwaysOn

Un AOAG è una funzionalità di alta disponibilità e ripristino di emergenza di SQL Server. Puoi utilizzare un AOAG per eseguire la migrazione di cluster AOAG, SQL Server autonomi e cluster di failover di Windows Server (WSFC) esistenti. Con questo metodo, viene creata una replica del database nell'ambiente Google Cloud di destinazione e i dati vengono sincronizzati tra l'origine e la destinazione. Al termine della sincronizzazione, la replica nell' Google Cloud ambiente di destinazione può essere impostata come principale. Questo metodo riduce al minimo il tempo di riposo, ma richiede una configurazione aggiuntiva. Per le migrazioni semplici con una tolleranza al tempo di riposo significativa, altri metodi potrebbero essere più semplici ed economici.

Prima di iniziare

Prima di iniziare la migrazione, verifica quanto segue:

  • Per garantire una transizione sicura e senza interruzioni dei dati, stabilisci una connessione di peering tra AWS e Google Cloud. Per ulteriori informazioni, consulta Creare connessioni VPN ad alta disponibilità tra Google Cloud e AWS.

  • Assicurati che il database di origine sia in esecuzione in modalità autonoma e che i server di origine e di destinazione siano uniti a un dominio Active Directory (AD). Se il database di origine fa già parte di un cluster WSFC che utilizza un AOAG, consulta Eseguire la migrazione utilizzando gruppi di disponibilità distribuiti.

  • Assicurati che tutte le chiavi di crittografia nel database SQL Server di origine siano installate su tutte le istanze SQL Server che si uniranno all'AOAG.

Preparare SQL Server per far parte di un AOAG

Per poter aggiungere SQL Server a un gruppo di disponibilità Always On, devi attivare la funzionalità di gruppo di disponibilità Always On su tutte le istanze SQL Server che vuoi aggiungere al gruppo.

Per attivare la funzionalità AOAG su tutte le VM SQL Server che vuoi aggiungere a un AOAG, svolgi i seguenti passaggi:

  1. Attiva AOAG su SQL Server.

    1. Accedi alla VM SQL Server utilizzando RDP.

    2. Apri PowerShell in modalità amministratore.

    3. Esegui il seguente comando per attivare AOAG su SQL Server.

      Enable-SqlAlwaysOn -ServerInstance $env:COMPUTERNAME -Force
      

    4. Esegui il comando seguente per aprire una porta del firewall per la replica dei dati.

      netsh advfirewall firewall add rule name="Allow SQL Server replication" dir=in action=allow protocol=TCP localport=5022
      
    5. Ripeti il passaggio 1 per tutte le VM SQL Server che vuoi aggiungere all'AOAG.

  2. Crea un nuovo utente per SQL Server nel tuo AD.

    $Credential = Get-Credential -UserName sql_server -Message 'Enter password'
    New-ADUser `
    -Name "sql_server" `
    -Description "SQL Admin account." `
    -AccountPassword $Credential.Password `
    -Enabled $true -PasswordNeverExpires $true
    
  3. Esegui i seguenti passaggi su tutte le istanze SQL Server che fanno parte dell'AOAG:

    1. Apri SQL Server Configuration Manager.
    2. Nel riquadro di navigazione, seleziona Servizi SQL Server.
    3. Nell'elenco dei servizi, fai clic con il tasto destro del mouse su SQL Server (MSSQLSERVER) e seleziona Proprietà.
    4. In Accedi come, modifica l'account come segue:
      • Nome account: DOMAIN\sql_server, dove DOMAIN è il nome NetBIOS del tuo dominio AD.
      • Password:inserisci la password scelta nel passaggio 2 di questa sezione precedente.
    5. Fai clic su OK.

    6. Quando ti viene chiesto di riavviare SQL Server, seleziona .

SQL Server ora è in esecuzione con un account utente di dominio.

Configura l'endpoint di mirroring per il database SQL Server

Per creare l'endpoint per l'AOAG:

  1. Se il database SQL Server di origine è criptato con la crittografia trasparente dei dati (TDE), esegui questo passaggio per eseguire il backup, il trasferimento e l'installazione dei certificati e delle chiavi sul SQL Server di destinazione.

  2. Accedi al database di origine su AWS utilizzando SSMS.

  3. Esegui il seguente comando T-SQL per creare l'endpoint per il gruppo di disponibilità.

    USE [master]
    GO
    CREATE LOGIN [NET_DOMAIN\sql_server] FROM WINDOWS
    GO
    
    USE [DATABASE_NAME]
    GO
    CREATE USER [NET_DOMAIN\sql_server] FOR LOGIN [NET_DOMAIN\sql_server]
    GO
    
    USE [master]
    GO
    CREATE ENDPOINT migration_endpoint
        STATE=STARTED
        AS TCP (LISTENER_PORT=5022)
        FOR DATABASE_MIRRORING (ROLE=ALL);
    GO
    
    GRANT CONNECT ON ENDPOINT::[migration_endpoint] TO [NET_DOMAIN\sql_server]
    GO
    

    Sostituisci NET_DOMAIN con il nome NetBIOS del tuo dominio AD e DATABASE_NAME con il nome del database di cui eseguire la migrazione.

  4. Connettiti a SQL Server di destinazione su Google Cloud utilizzando SSMS ed esegui il seguente comando T-SQL per creare l'endpoint di mirroring del database.

    CREATE LOGIN [NET_DOMAIN\sql_server] FROM WINDOWS
    GO
    
    CREATE ENDPOINT migration_endpoint
        STATE=STARTED
        AS TCP (LISTENER_PORT=5022)
        FOR DATABASE_MIRRORING (ROLE=ALL);
    GO
    
    GRANT CONNECT ON ENDPOINT::[migration_endpoint] TO [NET_DOMAIN\sql_server]
    GO
    

    Sostituisci NET_DOMAIN con il nome NetBIOS del tuo dominio AD.

  5. Verifica gli endpoint selezionando Oggetti server > Endpoint > Mirroring dei database in Esplora oggetti in SSMS.

    Visualizzazione endpoint SMSS.

Creare l'AOAG

Per creare un gruppo di annunci adattabili all'app:

  1. Accedi al database di origine su AWS utilizzando SSMS.

  2. Esegui il seguente comando T-SQL per impostare la modalità di recupero del database su completa ed eseguire un backup completo.

    USE [master]
    GO
    
    ALTER DATABASE [DATABASE_NAME]
    SET RECOVERY FULL;
    BACKUP DATABASE [DATABASE_NAME]
    TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup\DATABASE_NAME.bak';
    

    Sostituisci DATABASE_NAME con il nome del database di cui eseguire la migrazione.

  3. Esegui il seguente comando T-SQL per creare l'AOAG.

    USE [master]
    GO
    
    CREATE AVAILABILITY GROUP [migration-ag]
    WITH (
        AUTOMATED_BACKUP_PREFERENCE = SECONDARY,
        DB_FAILOVER = OFF,
        DTC_SUPPORT = NONE,
        REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 0
    )
    FOR DATABASE [DATABASE_NAME]
    REPLICA ON
    N'SOURCE_SERVERNAME' WITH (
        ENDPOINT_URL = 'TCP://SOURCE_HOSTNAME:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        BACKUP_PRIORITY = 50,
        SEEDING_MODE = AUTOMATIC,
        SECONDARY_ROLE(ALLOW_CONNECTIONS = READ_ONLY)
    ),
    N'DEST_SERVERNAME' WITH (
        ENDPOINT_URL = 'TCP://DEST_HOSTNAME:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        BACKUP_PRIORITY = 50,
        SEEDING_MODE = AUTOMATIC,
        SECONDARY_ROLE(ALLOW_CONNECTIONS = READ_ONLY)
    );
    GO
    

    Sostituisci quanto segue:

    • DATABASE_NAME: con il nome del database di cui eseguire la migrazione.
    • SOURCE_SERVERNAME: con il nome del server del database di origine.
    • DEST_SERVERNAME: con il nome del server del database di destinazione.
    • SOURCE_HOSTNAME: con il nome di dominio completo (FQDN) dell'origine.
    • DEST_HOSTNAME: con il FQDN del target.
  4. Esegui il seguente comando T-SQL sul database di destinazione per aggiungerlo all'AOAG.

    USE [master]
    GO
    
    ALTER AVAILABILITY GROUP [migration-ag] JOIN WITH (CLUSTER_TYPE = EXTERNAL);
    ALTER AVAILABILITY GROUP [migration-ag] GRANT CREATE ANY DATABASE;
    GO
    
  5. Verifica lo stato del database e dell'AOAG appena creato in Object Explorer o eseguendo il seguente comando T-SQL.

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

    Verifica il database della replica.

L'AOAG di SQL Server è ora configurato e continua a sincronizzarsi tra AWS e Google Cloud. Come passaggio successivo, devi configurare un cluster WSFC e un listener per l'alta disponibilità e il ripristino di emergenza. Per ulteriori informazioni, consulta Clustering di failover di Windows Server con SQL Server e Che cos'è un listener del gruppo di disponibilità.

Esegui la migrazione utilizzando i gruppi di disponibilità distribuiti

Un gruppo di disponibilità distribuito è un tipo speciale di gruppo di disponibilità che si estende su due gruppi di disponibilità distinti. È progettato per fornire funzionalità di alta disponibilità e di ripristino di emergenza in località geograficamente distribuite. Questa architettura consente la replica e il failover dei dati senza interruzioni tra i gruppi di disponibilità principali e secondari, ideale per la migrazione dei dati. Per informazioni più dettagliate, consulta Gruppi di disponibilità distribuiti.

Le sezioni seguenti spiegano come eseguire la migrazione del database SQL Server utilizzando i gruppi di disponibilità distribuiti.

Prima di iniziare

Assicurati di avere un cluster WSFC con SQL Server che utilizza un gruppo di disponibilità con un listener VNN (Virtual Network Name) in esecuzione su AWS.

Prepara l'ambiente di destinazione

Per preparare l'ambiente di destinazione:

  1. Per configurare un cluster WSFC con SQL Server utilizzando un gruppo di disponibilità con un bilanciatore del carico interno su Google Cloud, consulta Configurare i gruppi di disponibilità AlwaysOn di SQL Server con commit sincrono utilizzando un bilanciatore del carico interno.

  2. In Esplora oggetti, verifica che bookshelf-ag sia stato creato e che stia replicando il database bookshelf. Una volta verificata, segui i passaggi successivi per rimuovere sia il gruppo di disponibilità sia il database da entrambi i nodi del cluster di failover.

    Verifica lo stato iniziale del cluster di destinazione.

  3. Connettiti a node-1 in SSMS e salva l'indirizzo IP del listener bookshelf.

    SELECT * FROM sys.availability_group_listeners
    
  4. Esegui il seguente comando T-SQL per rimuovere il gruppo di disponibilità bookshelf-ag e il database bookshelf.

    USE master
    GO
    
    DROP AVAILABILITY GROUP [bookshelf-ag]
    GO
    ALTER DATABASE [bookshelf] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    GO
    DROP DATABASE [bookshelf]
    GO
    
  5. Esegui il seguente codice T-SQL su node-2 in SSMS per rimuovere il database replicato.

    USE master
    GO
    
    DROP DATABASE [bookshelf]
    GO
    

Creare un gruppo di disponibilità distribuito

Per creare un nuovo gruppo di disponibilità da utilizzare per il gruppo di disponibilità distribuito:

  1. Esegui il seguente comando T-SQL su node-1.

    USE master
    GO
    
    CREATE AVAILABILITY GROUP [gcp-dest-ag]
    FOR
    REPLICA ON
        N'NODE-1' WITH
        (
            ENDPOINT_URL = N'TCP://NODE-1:5022',
            FAILOVER_MODE = MANUAL,
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            BACKUP_PRIORITY = 50,
            SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
            SEEDING_MODE = AUTOMATIC
        ),
        N'NODE-2' WITH
        (
            ENDPOINT_URL = N'TCP://NODE-2:5022',
            FAILOVER_MODE = MANUAL,
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            BACKUP_PRIORITY = 50,
            SECONDARY_ROLE(ALLOW_CONNECTIONS = NO),
            SEEDING_MODE = AUTOMATIC
        );
    GO
    
  2. Crea un listener.

    USE master;
    GO
    
    ALTER AVAILABILITY GROUP [gcp-dest-ag]
    ADD LISTENER N'gcp-dest-lsnr' (
    WITH IP (
    (N'LISTENER_IP', N'255.255.255.0')
    ),
    PORT = 1433);
    GO
    

    Sostituisci LISTENER_IP con l'indirizzo IP dell'ascoltatore.

  3. Connettiti a node-2 utilizzando SSMS ed esegui il seguente comando T-SQL per aggiungerlo al gruppo di disponibilità gcp-dest-ag.

    USE master
    GO
    
    ALTER AVAILABILITY GROUP [gcp-dest-ag] JOIN;
    ALTER AVAILABILITY GROUP [gcp-dest-ag] GRANT CREATE ANY DATABASE;
    
  4. Connettiti alla replica principale di SQL Server di origine su AWS utilizzando SSMS ed esegui il seguente comando T-SQL per creare un gruppo di disponibilità distribuito.

    USE [master]
    GO
    
    CREATE AVAILABILITY GROUP [distributed-ag]
    WITH (DISTRIBUTED)
    AVAILABILITY GROUP ON
    'AWS_AG' WITH
    (
        LISTENER_URL = 'tcp://AWS_LISTENER:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        SEEDING_MODE = AUTOMATIC
    ),
    'gcp-dest-ag' WITH
    (
        LISTENER_URL = 'tcp://gcp-dest-lsnr:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        SEEDING_MODE = AUTOMATIC
    )
    GO
    

    Sostituisci AWS_AG con il nome del gruppo di disponibilità in AWS e AWS_LISTENER con l'ascoltatore del gruppo di disponibilità AWS.

  5. Esegui il seguente comando T-SQL in SSMS su node-1 per aggiungerlo al gruppo di disponibilità distribuito.

    USE [master]
    GO
    
    ALTER AVAILABILITY GROUP [distributed-ag]
    JOIN
    AVAILABILITY GROUP ON
    'AWS_AG' WITH
    (
        LISTENER_URL = 'tcp://AWS_LISTENER:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        SEEDING_MODE = AUTOMATIC
    ),
    'gcp-dest-ag' WITH
    (
        LISTENER_URL = 'tcp://gcp-dest-lsnr:5022',
        AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
        FAILOVER_MODE = MANUAL,
        SEEDING_MODE = AUTOMATIC
    )
    GO
    

    Sostituisci AWS_AG con il nome del gruppo di disponibilità in AWS e AWS_LISTENER con l'ascoltatore del gruppo di disponibilità AWS.

  6. Esegui il seguente comando T-SQL su "node-1" per verificare che tutti i gruppi di disponibilità siano operativi e che la replica venga eseguita nel gruppo di disponibilità distribuito al nuovo cluster SQL Server su Google Cloud

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

Esegui la pulizia

Al termine del tutorial, puoi eliminare le risorse che hai creato in modo che smettano di utilizzare la quota e di generare addebiti. Le sezioni seguenti descrivono come eliminare o disattivare queste risorse.

Elimina il progetto

Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai creato per il tutorial.

Per eliminare il progetto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.