Migrar la base de datos de SQL Server desde AWS EC2 a Compute Engine


Este tutorial lo guía a través de los diferentes enfoques que puede utilizar para migrar una base de datos de Microsoft SQL Server en Amazon Elastic Compute Cloud (AWS EC2) a Compute Engine.

Esta página analiza los siguientes enfoques:

Cada método de migración presenta diferentes ventajas y desventajas. La estrategia de migración más adecuada depende de sus circunstancias y prioridades específicas. Le recomendamos que elija el método de migración que mejor se adapte a sus necesidades según las siguientes consideraciones:

  • Disponibilidad: considere si un enfoque de migración es compatible con todas las versiones y licencias de su base de datos 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. Considere la duración de la transferencia de datos, el posible tiempo de inactividad y los requisitos de recursos al 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 crucial. Algunos métodos permiten un tiempo de inactividad mínimo o casi nulo, mientras que otros requieren un tiempo de inactividad más prolongado. Considere un enfoque de migración que le ofrezca un tiempo de inactividad aceptable.

  • Complejidad: la complejidad del esquema de la base de datos, las dependencias de las aplicaciones y el entorno general pueden influir en el enfoque de migración. Asegúrese de que el método de migración que elija admita la migración de objetos que no sean de base de datos, como trabajos del agente 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 conllevan distintos costos asociados con la transferencia de datos, los recursos informáticos y otros servicios. Considere un método de migración que funcione mejor para usted.

  • Seguridad y cumplimiento de los datos: asegúrese de que el método de migración elegido cumpla con sus requisitos de cumplimiento y seguridad de los datos. Considere el cifrado de datos, los controles de acceso y cualquier requisito específico de la industria que se aplique a sus datos.

Objetivos

Este tutorial le muestra cómo completar las siguientes tareas para migrar su base de datos de SQL Server desde AWS EC2 a Compute Engine:

Costos

Este tutorial utiliza componentes facturables de Google Cloud, incluido:

Utilice la calculadora de precios para generar una estimación de costos basada en su uso proyectado.

Antes de comenzar

Complete 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

Preparar el proyecto y la red.

Para preparar tu Google Cloud proyecto y Virtual Private Cloud (VPC) para la implementación de SQL Server para la migración, haga lo siguiente:

  1. En el Google Cloud consola, haga clic en Activar Cloud ShellActive Cloud Shell. para abrir Cloud Shell .

    Ir al Google Cloud consola

  2. Establezca su ID de proyecto predeterminado:

    gcloud config set project PROJECT_ID
    

    Reemplace PROJECT_ID con el ID de su Google Cloud proyecto.

  3. Establece tu región predeterminada:

    gcloud config set compute/region REGION
    

    Reemplace REGION con el ID de la región en la que desea implementar.

  4. Establece tu zona predeterminada:

    gcloud config set compute/zone ZONE
    

    Reemplace ZONE con el ID de la zona en la que desea implementar. Asegúrese de que la zona sea válida en la región que especificó en el paso anterior.

Crear 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.

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

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

Reemplace 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 su subred de VPC.

2022 Empresa

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

Reemplace 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 su subred de VPC.

Para obtener más información sobre la creación de instancias de SQL Server en Compute Engine, consulte Crear una instancia de SQL Server .

Configure y conéctese a su máquina virtual SQL Server

Para configurar su máquina virtual SQL Server y conectarse a ella, siga los siguientes pasos:

  1. Establezca la contraseña inicial de Windows para su cuenta:

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

      Ir a instancias de VM

    2. Haga clic en el nombre de la máquina virtual del servidor SQL.

    3. Haga clic en el botón Establecer contraseña de Windows .

    4. Ingrese una contraseña y haga clic en Establecer una vez que se le solicite establecer la nueva contraseña de Windows.

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

  2. Conéctese a la máquina virtual de SQL Server:

    1. Utilice la dirección IP pública de la VM con SQL Server desde la página Instancias de VM y las credenciales guardadas en el paso anterior para conectarse a su VM con SQL Server mediante Microsoft Remote Desktop (RDP).

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

    3. Verifique que la casilla de verificación Certificado del servidor de confianza esté seleccionada y haga clic en Conectar .

Su máquina virtual con SQL Server ya está lista para usarse en la migración de la base de datos. Para crear nuevos inicios de sesión de usuario para conectarse y administrar su máquina virtual con SQL Server, consulte Crear un inicio de sesión .

Copia de seguridad y restauración completa de la base de datos

Una copia de seguridad y restauración completa de la base de datos es el método más común y sencillo de migración de bases de datos. Con este enfoque, se toma una copia de seguridad completa de la base de datos de SQL Server desde el entorno de origen y luego se restaura en el destino. Google Cloud ambiente. Si bien este método es relativamente sencillo, puede llevar mucho tiempo para bases de datos grandes debido al tiempo que lleva crear y restaurar la copia de seguridad.

Esta sección analiza cómo puede usar SSMS para exportar su base de datos de SQL Server usando una base de datos de muestra AdventureWorks2022 .

Crear una copia de seguridad completa de la base de datos

Para crear una copia de seguridad completa de la base de datos, siga los siguientes pasos:

  1. Inicie sesión en su máquina virtual AWS EC2 mediante Microsoft RDP.

  2. Conéctese a SQL Server mediante SSMS.

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

  4. Haga clic derecho en el nombre de la base de datos, haga clic en Tareas en el menú.

  5. Haga clic en Copia de seguridad para abrir el asistente de copia de seguridad de la base de datos.

    1. Verifique el nombre de la base de datos a respaldar y el tipo de copia de seguridad esté configurado en Completo.

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

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

    4. Haga clic en Aceptar para configurar el nombre del archivo y en Aceptar nuevamente para configurar el destino.

      Opciones de copia de seguridad de la base de datos.

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

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

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

Transfiere el archivo de respaldo a una VM de Compute Engine

Para migrar el contenido de su base de datos de SQL Server, debe transferir el archivo de respaldo creado en el paso anterior a la VM de Compute Engine que creó. Para obtener información sobre las distintas opciones de transferencia, consulte Transferir archivos a máquinas virtuales Windows .

Restaure su base de datos de SQL Server desde el archivo de respaldo

Para restaurar la base de datos desde el archivo de copia de seguridad, siga los siguientes pasos:

  1. Inicie sesión en su máquina virtual Compute Engine usando RDP.

  2. Conéctese a SQL Server mediante SSMS.

  3. En el Explorador de objetos, haga clic derecho en la carpeta Bases de datos y haga clic en Restaurar base de datos .

  4. Para Fuente , haga clic en Dispositivo y el ícono de puntos suspensivos ( ... ) para abrir la página Seleccionar dispositivo de respaldo.

  5. Verifique que el tipo de medio de respaldo esté configurado en Archivo y haga clic en Agregar para seleccionar el archivo de respaldo.

    Restaurar base de datos Seleccionar dispositivo.

  6. Haga clic en Aceptar para configurar el archivo de copia de seguridad como dispositivo de restauración.

  7. Haga clic en Aceptar para restaurar la base de datos.

    Cuando se completa el proceso, su base de datos se migra al SQL Server de destino en Compute Engine.

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

    Verificar la base de datos restaurada.

Migrar usando un archivo BACPAC

Un archivo de paquete de respaldo (BACPAC) es una representación lógica de una base de datos de SQL Server. Se puede exportar desde el entorno de origen de AWS y luego importarlo al destino. Google Cloud ambiente. Este método suele ser más rápido que una copia de seguridad y restauración completas para bases de datos más pequeñas, pero puede no ser adecuado para bases de datos muy grandes o aquellas con dependencias complejas.

La siguiente sección analiza cómo puede migrar su base de datos de SQL Server utilizando un archivo BACPAC.

Crear una exportación BACPAC

Para crear una exportación BACPAC, siga los siguientes pasos:

  1. Inicie sesión en la máquina virtual AWS EC2 mediante Microsoft RDP.

  2. Conéctese a SQL Server mediante SSMS.

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

  4. Haga clic derecho en el nombre de la base de datos y haga clic en Tareas .

  5. Haga clic en Exportar aplicación de capa de datos para abrir el asistente de exportación.

    1. Haga clic en Siguiente .

    2. Haga clic en Examinar en la opción Guardar en disco local y seleccione el archivo BACPAC.

    3. Haga clic en la pestaña Avanzado y seleccione los esquemas que desea exportar.

    4. Haga clic en Siguiente para avanzar al resumen.

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

    6. Haga clic en Cerrar para salir del asistente.

  6. Transfiera el archivo BACPAC creado en los pasos anteriores a su VM de destino en Compute Engine. Para obtener información sobre las opciones de transferencia, consulte Transferir archivos a máquinas virtuales Windows .

Restaure su base de datos de SQL Server desde un archivo BACPAC

Para restaurar la base de datos desde el archivo BACPAC, siga estos pasos:

  1. Inicie sesión en Compute Engine VM usando RDP.

  2. Conéctese a SQL Server mediante SSMS.

  3. En el Explorador de objetos, haga clic derecho en la carpeta Bases de datos y haga clic en Importar aplicación de capa de datos .

  4. Haga clic en Siguiente .

  5. Haga clic en Examinar , seleccione el archivo BACPAC que desea restaurar y luego haga clic en Siguiente .

  6. Verifique el nombre de la nueva base de datos y haga clic en Siguiente .

  7. Haga clic en Finalizar y espere a que se complete la importación.

  8. Haga clic en Cerrar para salir del asistente.

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

Migrar usando grupos de disponibilidad siempre activos

Un AOAG es una característica de alta disponibilidad y recuperación ante desastres de SQL Server. Puede utilizar un AOAG para migrar clústeres AOAG existentes, servidores SQL 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 destino Google Cloud entorno y los datos se sincronizan entre el origen y el destino. Una vez completada la sincronización, la réplica en el destino Google Cloud El entorno puede convertirse en primario. Este método minimiza el tiempo de inactividad pero requiere configuración y configuración adicionales. Para migraciones directas con una tolerancia significativa al tiempo de inactividad, otros métodos pueden ser más simples y rentables.

Antes de comenzar

Asegúrese de lo siguiente antes de comenzar la migración:

  • Para garantizar una transición de datos segura y fluida, establezca una conexión de intercambio de tráfico entre AWS y Google Cloud. Para obtener más información, consulte Crear conexiones VPN HA entre Google Cloud y AWS .

  • Asegúrese de que la base de datos de origen se esté ejecutando en modo independiente y que tanto el servidor de origen como el de destino estén unidos a un Active Directory (AD). Si la base de datos de origen ya forma parte de un clúster WSFC que utiliza un AOAG, consulte Migrar mediante grupos de disponibilidad distribuidos .

  • Asegúrese de que todas las claves de cifrado de la base de datos de SQL Server de origen estén instaladas en todas las instancias de SQL Server que se unirán a AOAG.

Prepare su SQL Server para ser parte de un AOAG

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

Para habilitar la característica AOAG en todas las máquinas virtuales de SQL Server que desee agregar a un AOAG, siga los siguientes pasos:

  1. Habilite AOAG en su servidor SQL.

    1. Inicie sesión en su máquina virtual con SQL Server mediante RDP.

    2. Abra Powershell en modo administrador.

    3. Ejecute el siguiente comando para habilitar AOAG en su SQL Server.

      Enable-SqlAlwaysOn -ServerInstance $env:COMPUTERNAME -Force
      

    4. Ejecute 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. Repita el paso 1 para todas las máquinas virtuales de SQL Server que desee agregar al AOAG.

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

    1. Abra el Administrador de configuración de SQL Server .
    2. En el panel de navegación, seleccione Servicios de SQL Server .
    3. En la lista de servicios, haga clic derecho en SQL Server (MSSQLSERVER) y seleccione Propiedades .
    4. En Iniciar sesión como , cambie la cuenta de la siguiente manera:
      • Nombre de cuenta: DOMAIN\sql_server donde DOMINIO es el nombre NetBIOS de su dominio AD.
      • Contraseña: Ingrese la contraseña que eligió en el paso 2 anterior de esta sección.
    5. Haga clic en Aceptar .

    6. Cuando se le solicite reiniciar SQL Server, seleccione .

Su SQL Server ahora se está ejecutando bajo una cuenta de usuario de dominio.

Configure el punto final de duplicación para su base de datos de SQL Server

Para crear el punto final para su AOAG, siga los siguientes pasos:

  1. Si la base de datos de SQL Server de origen está cifrada con cifrado de datos transparente (TDE), siga este paso para realizar una copia de seguridad, transferir e instalar los certificados y claves en el SQL Server de destino.

  2. Inicie sesión en la base de datos de origen en AWS mediante SSMS.

  3. Ejecute el siguiente comando T-SQL para crear el punto final para el 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
    

    Reemplace NET_DOMAIN con el nombre NetBIOS de su dominio AD y DATABASE_NAME con el nombre de la base de datos que se va a migrar.

  4. Conéctese al servidor SQL de destino en Google Cloud usando SSMS y ejecute el siguiente comando T-SQL para crear el punto final de duplicación de la base 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
    

    Reemplace NET_DOMAIN con el nombre NetBIOS de su dominio AD.

  5. Verifique los puntos finales navegando a Objetos de servidor > Puntos finales > Duplicación de base de datos en el Explorador de objetos en SSMS.

    Vista de punto final SMSS.

Crear el AOAG

Para crear un AOAG, siga los siguientes pasos:

  1. Inicie sesión en la base de datos de origen en AWS mediante SSMS.

  2. Ejecute el siguiente comando T-SQL para configurar el modo de recuperación de la base de datos en completo y realizar 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';
    

    Reemplace DATABASE_NAME con el nombre de la base de datos que se va a migrar.

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

    Reemplace lo siguiente:

    • DATABASE_NAME : con el nombre de la base de datos a 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 completo (FQDN) de la fuente.
    • DEST_HOSTNAME : con el FQDN del destino.
  4. Ejecute el siguiente comando T-SQL en la base de datos de destino para agregarla a 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. Verifique el AOAG recién creado y el estado de la base de datos en el Explorador de objetos o ejecutando el siguiente comando T-SQL.

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

    Verifique la base de datos de réplica.

El SQL Server AOAG ahora está configurado y sigue sincronizándose entre AWS y Google Cloud. Como siguiente paso, debe configurar un WSFC y un oyente para alta disponibilidad y recuperación ante desastres. Para obtener más información, consulte Clústeres de conmutación por error de Windows Server con SQL Server y ¿Qué es un detector de grupo de disponibilidad ?

Migrar mediante grupos de disponibilidad distribuidos

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

Las siguientes secciones analizan cómo puede migrar su base de datos de SQL Server mediante grupos de disponibilidad distribuidos.

Antes de comenzar

Asegúrese de tener un WSFC con SQL Server utilizando un grupo de disponibilidad con un escucha de nombre de red virtual (VNN) que se ejecuta en AWS.

Preparar el entorno de destino.

Para preparar el entorno de destino, utilice los siguientes pasos:

  1. Para configurar un WSFC con SQL Server usando un grupo de disponibilidad usando un balanceador de carga interno en Google Cloud, consulte Configurar grupos de disponibilidad siempre activos de SQL Server con confirmación sincrónica mediante un equilibrador de carga interno .

  2. En Object Explorer , verifique que se haya creado bookshelf-ag y que esté replicando la base de datos bookshelf . Una vez verificado, siga los siguientes pasos para eliminar tanto el grupo de disponibilidad como la base de datos de ambos nodos en su clúster de conmutación por error.

    Verifique el estado inicial del grupo objetivo.

  3. Conéctese al node-1 en SSMS y guarde la dirección IP del oyente bookshelf .

    SELECT * FROM sys.availability_group_listeners
    
  4. Ejecute el siguiente comando T-SQL para eliminar 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. Ejecute el siguiente T-SQL en node-2 en SSMS para eliminar la base de datos replicada.

    USE master
    GO
    
    DROP DATABASE [bookshelf]
    GO
    

Crear un grupo de disponibilidad distribuido

Para crear un nuevo grupo de disponibilidad para usarlo en el grupo de disponibilidad distribuido, siga los siguientes pasos:

  1. Ejecute el siguiente comando 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 oyente.

    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
    

    Reemplace LISTENER_IP con la dirección IP del oyente.

  3. Conéctese al node-2 mediante SSMS y ejecute el siguiente comando 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éctese a la réplica principal del SQL Server de origen en AWS mediante SSMS y ejecute el siguiente comando 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
    

    Reemplace AWS_AG con el nombre del grupo de disponibilidad en AWS y AWS_LISTENER con el oyente del grupo de disponibilidad de AWS.

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

    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
    

    Reemplace AWS_AG con el nombre del grupo de disponibilidad en AWS y AWS_LISTENER con el oyente del grupo de disponibilidad de AWS.

  6. Ejecute el siguiente comando T-SQL en el `nodo-1' para verificar que todos los grupos de disponibilidad estén en buen estado y se repliquen en el grupo de disponibilidad distribuido en el nuevo clúster de SQL Server en Google Cloud

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

Limpiar

Una vez que termine el tutorial, puede limpiar los recursos que creó para que dejen de usar cuota y de incurrir en cargos. Las siguientes secciones describen cómo eliminar o desactivar estos recursos.

Eliminando el proyecto

La forma más sencilla de eliminar la facturación es eliminar el proyecto que creaste para el tutorial.

Para eliminar el proyecto:

  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.