Migra la base de datos de SQL Server de AWS EC2 a Compute Engine


En este instructivo, se explican los diferentes enfoques que puedes usar para migrar una base de datos de Microsoft SQL Server en Amazon Elastic Compute Cloud (AWS EC2) a Compute Engine.

En esta página, se analizan los siguientes enfoques:

Cada método de migración presenta diferentes ventajas y desventajas. La estrategia de migración más adecuada depende de tus circunstancias y prioridades específicas. Te recomendamos que elijas un método de migración que te resulte más conveniente en función de las siguientes consideraciones:

  • Disponibilidad: Considera si un enfoque de migración es compatible con todas las versiones y licencias de tu base de datos de SQL Server.

  • Tamaño de la base de datos: El tamaño de la base de datos puede afectar significativamente las opciones de migración viables, ya que las bases de datos más grandes pueden requerir estrategias diferentes a las más pequeñas. Ten en cuenta la duración de la transferencia de datos, el posible tiempo de inactividad y los requisitos de recursos a la hora de elegir un enfoque de migración.

  • Tolerancia al tiempo de inactividad: El nivel aceptable de tiempo de inactividad durante la migración es un factor fundamental. Algunos métodos permiten un tiempo de inactividad mínimo o casi nulo, mientras que otros requieren un tiempo de inactividad más prolongado. Considera un enfoque de migración que ofrezca un tiempo de inactividad aceptable para ti.

  • Complejidad: La complejidad del esquema de la base de datos, las dependencias de la aplicación y el entorno general pueden influir en el enfoque de migración. Asegúrate de que el método de migración que elijas admita la migración de objetos que no sean de base de datos, como trabajos de agentes de SQL, servidores vinculados, permisos y objetos de usuario.

  • Costo: El aspecto financiero de la migración también puede ser una consideración. Los diferentes métodos de migración tienen costos variables asociados con la transferencia de datos, los recursos de procesamiento y otros servicios. Considera un método de migración que funcione mejor para ti.

  • Seguridad y cumplimiento de los datos: Asegúrate de que el método de migración elegido cumpla con tus requisitos de seguridad y cumplimiento de los datos. Ten en cuenta la encriptación de datos, los controles de acceso y cualquier requisito específico de la industria que se aplique a tus datos.

Objetivos

En este instructivo, se muestra cómo completar las siguientes tareas para migrar tu base de datos de SQL Server de AWS EC2 a Compute Engine:

Costos

En este instructivo, se usan los siguientes componentes facturables de Google Cloud:

Usa la calculadora de precios para generar una estimación de los costos según el uso previsto.

Antes de comenzar

Completa las siguientes tareas antes de comenzar:

  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

Prepara el proyecto y la red

Para preparar tu Google Cloud proyecto y la nube privada virtual (VPC) para la implementación de SQL Server para la migración, haz lo siguiente:

  1. En la Google Cloud consola, haz clic en Activar Cloud Shell Activar Cloud Shell. para abrir Cloud Shell.

    Ve a la Google Cloud consola.

  2. Establece tu ID de proyecto predeterminado:

    gcloud config set project PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID de tu Google Cloud proyecto.

  3. Configura la región predeterminada:

    gcloud config set compute/region REGION
    

    Reemplaza REGION por el ID de la región en la que deseas realizar la implementación.

  4. Establece la zona predeterminada:

    gcloud config set compute/zone ZONE
    

    Reemplaza ZONE por el ID de la zona en la que deseas realizar la implementación. Asegúrate de que la zona sea válida en la región que especificaste en el paso anterior.

Crea una instancia de SQL Server en Compute Engine

Antes de migrar tu base de datos de SQL Server a Compute Engine, debes crear una máquina virtual (VM) en Compute Engine para alojarla.

Usa el siguiente comando para crear una instancia de SQL Server en Compute Engine:

Estándar de 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

Reemplaza lo siguiente:

  • PROJECT_ID: Con el ID de tu Google Cloud proyecto.
  • ZONE: Con el ID de la zona.
  • SUBNET_NAME: Con el nombre de la subred de tu 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

Reemplaza lo siguiente:

  • PROJECT_ID: Con el ID de tu Google Cloud proyecto.
  • ZONE: Con el ID de la zona.
  • SUBNET_NAME: Con el nombre de la subred de tu VPC.

Para obtener más información sobre cómo crear instancias de SQL Server en Compute Engine, consulta Cómo crear una instancia de SQL Server.

Configura y conéctate a tu VM de SQL Server

Para configurar tu VM de SQL Server y conectarte a ella, sigue estos pasos:

  1. Establece la contraseña inicial de Windows para tu cuenta:

    1. En la Google Cloud consola, ve a la página Instancias de VM.

      Ir a Instancias de VM

    2. Haz clic en el nombre de la VM de SQL Server.

    3. Haz clic en el botón Configurar contraseña de Windows.

    4. Ingresa una contraseña y haz clic en Configurar cuando se te solicite establecer la nueva contraseña de Windows.

    5. Guarda el nombre de usuario y la contraseña.

  2. Conéctate a la VM de SQL Server:

    1. Usa la dirección IP pública de la VM de SQL Server de la página Instancias de VM y las credenciales guardadas del paso anterior para conectarte a la VM de SQL Server con el escritorio remoto de Microsoft (RDP).

    2. Ejecuta SQL Server Management Studio (SSMS) como administrador.

    3. Verifica que la casilla de verificación Confiar en el certificado del servidor esté seleccionada y haz clic en Conectar.

Tu VM de SQL Server ya está lista para usarse en la migración de bases de datos. Para crear accesos de usuario nuevos para conectar y administrar tu VM de SQL Server, consulta Crea un acceso.

Copia de seguridad y restablecimiento completos de bases de datos

La creación de una copia de seguridad completa de la base de datos y su restablecimiento es el método más común y sencillo para migrar bases de datos. Con este enfoque, se toma una copia de seguridad completa de la base de datos de SQL Server del entorno de origen y, luego, se restablece en el entorno Google Cloud de destino. Si bien este método es relativamente sencillo, puede llevar mucho tiempo en bases de datos grandes debido al tiempo que se tarda en crear y restablecer la copia de seguridad.

En esta sección, se explica cómo puedes usar SSMS para exportar tu base de datos de SQL Server con una base de datos de ejemplo de AdventureWorks2022.

Crea una copia de seguridad completa de la base de datos

Para crear una copia de seguridad completa de la base de datos, sigue estos pasos:

  1. Accede a tu VM de AWS EC2 con el RDP de Microsoft.

  2. Conéctate a SQL Server con SSMS.

  3. Expande la carpeta de bases de datos en el Explorador de objetos.

  4. Haz clic con el botón derecho en el nombre de la base de datos y, luego, en Tasks en el menú.

  5. Haz clic en Crear copia de seguridad para abrir el asistente de copia de seguridad de la base de datos.

    1. Verifica el nombre de la base de datos de la que quieres crear una copia de seguridad y que el tipo de copia de seguridad esté configurado como Completa.

    2. Haz clic en Agregar debajo del destino de la copia de seguridad completa.

    3. Haz clic en el ícono de puntos suspensivos () para seleccionar la carpeta y el nombre del archivo de copia de seguridad.

    4. Haz clic en Aceptar para establecer el nombre del archivo y, luego, haz clic en Aceptar para establecer el destino.

      Opciones de copia de seguridad de la base de datos.

    5. Haz clic en Aceptar para iniciar la copia de seguridad de la base de datos y espera a que se complete.

      Cuando se completa el proceso de copia de seguridad, se crea un archivo de copia de seguridad. Ahora puedes usar este archivo de copia de seguridad para migrar el contenido de la base de datos a una VM de Compute Engine.

    6. Haz clic en Aceptar para salir del asistente de copia de seguridad de la base de datos.

Transfiere el archivo de copia de seguridad a una VM de Compute Engine

Para migrar el contenido de tu base de datos de SQL Server, debes transferir el archivo de copia de seguridad creado en el paso anterior a la VM de Compute Engine que creaste. Para obtener información sobre las diferentes opciones de transferencia, consulta Cómo transferir archivos a VMs de Windows.

Restablece tu base de datos de SQL Server a partir del archivo de copia de seguridad

Para restablecer la base de datos a partir del archivo de copia de seguridad, sigue estos pasos:

  1. Accede a tu VM de Compute Engine con el RDP.

  2. Conéctate a SQL Server con SSMS.

  3. En el explorador de objetos, haz clic con el botón derecho en la carpeta Bases de datos y, luego, en Restaurar base de datos.

  4. En Fuente, haz clic en Dispositivo y en el ícono de puntos suspensivos () para abrir la página Seleccionar dispositivo de copia de seguridad.

  5. Verifica que el tipo de medio de copia de seguridad esté configurado como Archivo y haz clic en Agregar para seleccionar el archivo de copia de seguridad.

    Restablece la base de datos del dispositivo seleccionado.

  6. Haz clic en Aceptar para establecer el archivo de copia de seguridad como el dispositivo de restablecimiento.

  7. Haz clic en Aceptar para restablecer la base de datos.

    Cuando se complete el proceso, tu base de datos se migrará al SQL Server de destino en Compute Engine.

  8. Para verificar si el proceso se completó correctamente, puedes expandir la carpeta bases de datos en el Explorador de objetos y verificar si puedes ver la base de datos migrada.

    Verifica la base de datos restablecida.

Cómo migrar con un archivo BACPAC

Un archivo de paquete de copia de seguridad (BACPAC) es una representación lógica de una base de datos de SQL Server. Se puede exportar desde el entorno de AWS de origen y, luego, importarlo al entorno Google Cloud de destino. Por lo general, este método es más rápido que una copia de seguridad y un restablecimiento completos para bases de datos más pequeñas, pero es posible que no sea adecuado para bases de datos muy grandes o con dependencias complejas.

En la siguiente sección, se explica cómo migrar tu base de datos de SQL Server con un archivo BACPAC.

Crea una exportación BACPAC

Para crear una exportación de BACPAC, sigue estos pasos:

  1. Accede a la VM de AWS EC2 con el RDP de Microsoft.

  2. Conéctate a SQL Server con SSMS.

  3. Expande la carpeta databases en el Explorador de objetos.

  4. Haz clic con el botón derecho en el nombre de la base de datos y, luego, en Tasks.

  5. Haz clic en Exportar aplicación de nivel de datos para abrir el asistente de exportación.

    1. Haz clic en Siguiente.

    2. Haz clic en Explorar en la opción Guardar en el disco local y selecciona el archivo BACPAC.

    3. Haz clic en la pestaña Advanced y selecciona los esquemas que deseas exportar.

    4. Haz clic en Siguiente para avanzar al resumen.

    5. Haz clic en Finalizar para exportar el archivo BACPAC y espera a que se complete la exportación.

    6. Haz clic en Cerrar para salir del asistente.

  6. Transfiere el archivo BACPAC creado en los pasos anteriores a la VM de destino en Compute Engine. Para obtener información sobre las opciones de transferencia, consulta Cómo transferir archivos a VMs de Windows.

Cómo restablecer tu base de datos de SQL Server a partir de un archivo BACPAC

Para restablecer la base de datos desde el archivo BACPAC, sigue estos pasos:

  1. Accede a la VM de Compute Engine con RDP.

  2. Conéctate a SQL Server con SSMS.

  3. En el explorador de objetos, haz clic con el botón derecho en la carpeta Bases de datos y, luego, en Importar aplicación de nivel de datos.

  4. Haz clic en Siguiente.

  5. Haz clic en Explorar, selecciona el archivo BACPAC que deseas restablecer y, luego, haz clic en Siguiente.

  6. Verifica el nombre de la base de datos nueva y haz clic en Siguiente.

  7. Haz clic en Finalizar y espera a que se complete la importación.

  8. Haz clic en Cerrar para salir del asistente.

  9. Para verificar si el proceso se completó correctamente, puedes expandir la carpeta bases de datos en el Explorador de objetos y verificar si puedes ver la base de datos migrada.

Cómo migrar con grupos de disponibilidad siempre activados

Un AOAG es una función de alta disponibilidad y recuperación ante desastres de SQL Server. Puedes usar un AOAG para migrar clústeres de AOAG existentes, SQL Server independientes y clústeres de conmutación por error de Windows Server (WSFC). Con este método, se crea una réplica de la base de datos en el entorno Google Cloud de destino y los datos se sincronizan entre la fuente y el destino. Una vez que se complete la sincronización, se puede establecer como principal la réplica del entorno Google Cloud de destino. Este método minimiza el tiempo de inactividad, pero requiere configuración adicional. Para las migraciones sencillas con una tolerancia significativa de tiempo de inactividad, otros métodos pueden ser más simples y rentables.

Antes de comenzar

Antes de comenzar la migración, asegúrate de lo siguiente:

  • Para garantizar una transición de datos segura y sin inconvenientes, establece una conexión de intercambio entre AWS y Google Cloud. Para obtener más información, consulta Crea conexiones de VPN con alta disponibilidad entre Google Cloud y AWS.

  • Asegúrate de que la base de datos de origen se ejecute en modo independiente y de que los servidores de origen y destino estén unidos a un Active Directory (AD). Si la base de datos fuente ya forma parte de un clúster de WSFC que usa un AOAG, consulta Cómo migrar con grupos de disponibilidad distribuidos.

  • Asegúrate de que todas las claves de encriptación de la base de datos de SQL Server de origen estén instaladas en todas las instancias de SQL Server que se unirán al AOAG.

Prepara tu SQL Server para que forme parte de un AOAG

Para poder agregar servidores SQL a un AOAG, debes habilitar la función AOAG en todas las instancias de SQL Server que quieras agregar al grupo.

Para habilitar la función de AOAG en todas las VMs de SQL Server que deseas agregar a un AOAG, sigue estos pasos:

  1. Habilita AOAG en tu SQL Server.

    1. Accede a tu VM de SQL Server con RDP.

    2. Abre PowerShell en modo de administrador.

    3. Ejecuta el siguiente comando para habilitar AOAG en tu SQL Server.

      Enable-SqlAlwaysOn -ServerInstance $env:COMPUTERNAME -Force
      

    4. Ejecuta el siguiente comando para abrir un puerto de firewall para la replicación de datos.

      netsh advfirewall firewall add rule name="Allow SQL Server replication" dir=in action=allow protocol=TCP localport=5022
      
    5. Repite el paso 1 para todas las VMs de SQL Server que quieras agregar al AOAG.

  2. Crea un usuario nuevo para tu SQL Server en tu 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. Realiza los siguientes pasos en todas las instancias de SQL Server que forman parte del AOAG:

    1. Abre el Administrador de configuración de SQL Server.
    2. En el panel de navegación, selecciona SQL Server Services.
    3. En la lista de servicios, haz clic con el botón derecho en SQL Server (MSSQLSERVER) y selecciona Propiedades.
    4. En Acceder como, cambia la cuenta de la siguiente manera:
      • Nombre de la cuenta: DOMAIN\sql_server, en el que DOMAIN es el nombre de NetBIOS de tu dominio de AD.
      • Contraseña: Ingresa la contraseña que elegiste en el paso 2 anterior de esta sección.
    5. Haz clic en Aceptar.

    6. Cuando se te solicite reiniciar SQL Server, selecciona .

SQL Server ahora se ejecuta con una cuenta de usuario de dominio.

Configura el extremo de duplicación para tu base de datos de SQL Server

Para crear el extremo de tu AOAG, sigue estos pasos:

  1. Si la base de datos de SQL Server de origen está encriptada con la encriptación de datos transparente (TDE), sigue este paso para crear una copia de seguridad de los certificados y las claves, transferirlos e instalarlos en el SQL Server de destino.

  2. Accede a la base de datos de origen en AWS con SSMS.

  3. Ejecuta el siguiente comando de T-SQL para crear el extremo del grupo de disponibilidad.

    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
    

    Reemplaza NET_DOMAIN por el nombre NetBIOS de tu dominio de AD y DATABASE_NAME por el nombre de la base de datos que deseas migrar.

  4. Conéctate al SQL Server de destino en Google Cloud con SSMS y ejecuta el siguiente comando T-SQL para crear el extremo de duplicación de bases de datos.

    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
    

    Reemplaza NET_DOMAIN por el nombre NetBIOS de tu dominio de AD.

  5. Para verificar los extremos, navega a Objetos del servidor > Extremos > Reflejo de bases de datos en el Explorador de objetos de SSMS.

    Vista del extremo de SMSS.

Crea el AOAG

Para crear un AOAG, sigue estos pasos:

  1. Accede a la base de datos de origen en AWS con SSMS.

  2. Ejecuta el siguiente comando de T-SQL para establecer el modo de recuperación de la base de datos en completo y crear una copia de seguridad completa.

    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';
    

    Reemplaza DATABASE_NAME por el nombre de la base de datos que deseas migrar.

  3. Ejecuta el siguiente comando de T-SQL para crear el 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
    

    Reemplaza lo siguiente:

    • DATABASE_NAME: Con el nombre de la base de datos que se migrará.
    • SOURCE_SERVERNAME: Con el nombre del servidor de la base de datos de origen.
    • DEST_SERVERNAME: Con el nombre del servidor de la base de datos de destino.
    • SOURCE_HOSTNAME: Con el nombre de dominio completamente calificado (FQDN) de la fuente.
    • DEST_HOSTNAME: Con el FQDN del destino.
  4. Ejecuta el siguiente comando de T-SQL en la base de datos de destino para agregarla al 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 el AOAG y el estado de la base de datos recién creados en el Explorador de objetos o ejecuta el siguiente comando de T-SQL.

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

    Verifica la base de datos de réplica.

El AOAG de SQL Server ahora está configurado y se sigue sincronizando entre AWS y Google Cloud. Como siguiente paso, debes configurar un WSFC y un objeto de escucha para la alta disponibilidad y la recuperación ante desastres. Para obtener más información, consulta Clústeres de conmutación por error de Windows Server con SQL Server y Qué es un objeto de escucha de grupo de disponibilidad.

Cómo migrar con grupos de disponibilidad distribuidos

Un grupo de disponibilidad distribuido es un tipo especial de grupo de disponibilidad que abarca dos grupos de disponibilidad independientes. Está diseñado para proporcionar alta disponibilidad y capacidades de recuperación ante desastres en ubicaciones dispersas geográficamente. Esta arquitectura permite una replicación y conmutación por error de datos sin problemas entre los grupos de disponibilidad principal y secundario, lo que es ideal para la migración de datos. Para obtener información más detallada, consulta Grupos de disponibilidad distribuidos.

En las siguientes secciones, se analiza cómo puedes migrar tu base de datos de SQL Server con grupos de disponibilidad distribuidos.

Antes de comenzar

Asegúrate de tener un WSFC con SQL Server que use un grupo de disponibilidad con un objeto de escucha de nombre de red virtual (VNN) que se ejecute en AWS.

Prepara el entorno de destino

Para preparar el entorno de destino, sigue estos pasos:

  1. Para configurar un WSFC con SQL Server mediante un grupo de disponibilidad con un balanceador de cargas interno en Google Cloud, consulta Configura grupos de disponibilidad Always On de SQL Server con confirmación síncrona mediante un balanceador de cargas interno.

  2. En el Explorador de objetos, verifica que se haya creado bookshelf-ag y que esté replicando la base de datos bookshelf. Una vez que se verifique, sigue los pasos que se indican a continuación para quitar el grupo de disponibilidad y la base de datos de ambos nodos del clúster de conmutación por error.

    Verifica el estado inicial del clúster de destino.

  3. Conéctate a node-1 en SSMS y guarda la dirección IP del objeto de escucha bookshelf.

    SELECT * FROM sys.availability_group_listeners
    
  4. Ejecuta el siguiente comando de T-SQL para quitar el grupo de disponibilidad bookshelf-ag y la base de datos 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. Ejecuta el siguiente comando T-SQL en node-2 en SSMS para quitar la base de datos replicada.

    USE master
    GO
    
    DROP DATABASE [bookshelf]
    GO
    

Crea un grupo de disponibilidad distribuido

Para crear un grupo de disponibilidad nuevo que se usará para el grupo de disponibilidad distribuido, sigue estos pasos:

  1. Ejecuta el siguiente comando de T-SQL en 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 objeto de escucha.

    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
    

    Reemplaza LISTENER_IP por la dirección IP del objeto de escucha.

  3. Conéctate a node-2 con SSMS y ejecuta el siguiente comando de T-SQL para agregarlo al grupo de disponibilidad gcp-dest-ag.

    USE master
    GO
    
    ALTER AVAILABILITY GROUP [gcp-dest-ag] JOIN;
    ALTER AVAILABILITY GROUP [gcp-dest-ag] GRANT CREATE ANY DATABASE;
    
  4. Conéctate a la réplica principal del SQL Server de origen en AWS con SSMS y ejecuta el siguiente comando de T-SQL para crear un grupo de disponibilidad distribuido.

    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
    

    Reemplaza AWS_AG por el nombre del grupo de disponibilidad en AWS y AWS_LISTENER por el objeto de escucha del grupo de disponibilidad de AWS.

  5. Ejecuta el siguiente comando de T-SQL en SSMS en node-1 para agregarlo al grupo de disponibilidad distribuido.

    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
    

    Reemplaza AWS_AG por el nombre del grupo de disponibilidad en AWS y AWS_LISTENER por el objeto de escucha del grupo de disponibilidad de AWS.

  6. Ejecuta el siguiente comando de T-SQL en "node-1" para verificar que todos los grupos de disponibilidad estén en buen estado y se estén replicando en el grupo de disponibilidad distribuido al nuevo clúster de SQL Server en Google Cloud

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

Limpia

Una vez que completes el instructivo, puedes limpiar los recursos que creaste para que dejen de usar la cuota y generar cargos. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, sigue estos pasos:

  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.