将 SQL Server 数据库从 AWS EC2 迁移到 Compute Engine


本教程将引导您了解可用于将 Amazon Elastic Compute Cloud (AWS EC2) 上的 Microsoft SQL Server 数据库迁移到 Compute Engine 的不同方法。

本页将讨论以下方法:

每种迁移方法都有不同的优点和缺点。最合适的迁移策略取决于您自己的具体情况和优先事项。我们建议您根据以下注意事项选择最适合您的迁移方法:

  • 可用性:考虑 SQL Server 数据库的所有版本和许可是否支持某种迁移方法。

  • 数据库大小:数据库的大小可能会显著影响可行的迁移选项,因为较大的数据库可能需要采用与较小数据库不同的策略。在选择迁移方法时,请考虑数据传输时长、可能的停机时间和资源要求。

  • 停机容忍度:迁移期间可接受的停机级别是一项关键因素。有些方法可实现几乎零停机时间,而有些方法则需要更长的停机时间。考虑采用可接受的停机时间的迁移方法。

  • 复杂性:数据库架构、应用依赖项和整体环境的复杂性可能会影响迁移方法。确保您选择的迁移方法支持迁移非数据库对象,例如 SQL 代理作业、关联的服务器、权限和用户对象。

  • 费用:您还可以考虑迁移的财务方面。不同的迁移方法在数据传输、计算资源和其他服务方面会产生不同的费用。考虑最适合您的迁移方法。

  • 数据安全和合规性:确保所选的迁移方法符合您的数据安全和合规性要求。考虑数据加密、访问控制以及适用于您数据的任何行业特定要求。

目标

本教程介绍了如何完成以下任务,以便将 SQL Server 数据库从 AWS EC2 迁移到 Compute Engine:

费用

本教程使用 Google Cloud的计费组件,包括:

您可使用价格计算器根据您的预计使用情况来估算费用。

准备工作

在开始之前,请完成以下任务:

  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

准备项目和网络

如需准备 Google Cloud 项目和虚拟私有云 (VPC) 以部署 SQL Server 以进行迁移,请执行以下操作:

  1. 在 Google Cloud 控制台中,点击激活 Cloud Shell 激活 Cloud Shell。 以打开 Cloud Shell

    前往 Google Cloud 控制台

  2. 设置默认项目 ID:

    gcloud config set project PROJECT_ID
    

    PROJECT_ID 替换为您的 Google Cloud 项目的 ID。

  3. 设置默认区域:

    gcloud config set compute/region REGION
    

    REGION 替换为要在其中部署的区域的 ID。

  4. 设置默认可用区:

    gcloud config set compute/zone ZONE
    

    ZONE 替换为要在其中部署的可用区的 ID。 确保该可用区在您在上一步中指定的区域中有效。

在 Compute Engine 上创建 SQL Server 实例

在将 SQL Server 数据库迁移到 Compute Engine 之前,您必须先在 Compute Engine 上创建一个虚拟机 (VM) 来托管该数据库。

使用以下命令在 Compute Engine 上创建 SQL Server 实例:

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

替换以下内容:

  • PROJECT_ID:包含 Google Cloud 项目的 ID。
  • ZONE:包含可用区的 ID。
  • SUBNET_NAME:您的 VPC 子网的名称。

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

替换以下内容:

  • PROJECT_ID:包含 Google Cloud 项目的 ID。
  • ZONE:包含可用区的 ID。
  • SUBNET_NAME:您的 VPC 子网的名称。

如需详细了解如何在 Compute Engine 上创建 SQL Server 实例,请参阅创建 SQL Server 实例

配置并连接到 SQL Server 虚拟机

如需配置 SQL Server 虚拟机并连接到该虚拟机,请按以下步骤操作:

  1. 为您的账号设置初始 Windows 密码:

    1. 在 Google Cloud 控制台中,前往虚拟机实例页面。

      前往“虚拟机实例”页面

    2. 点击 SQL Server 虚拟机的名称。

    3. 点击设置 Windows 密码按钮。

    4. 输入密码,然后在系统提示设置新的 Windows 密码时点击设置

    5. 保存用户名和密码。

  2. 连接到 SQL Server 虚拟机:

    1. 使用 VM 实例页面中的 SQL Server VM 的公共 IP 地址和上一步保存的凭据,通过 Microsoft 远程桌面 (RDP) 连接到 SQL Server VM。

    2. 以管理员身份运行 SQL Server Management Studio (SSMS)

    3. 确认已选中信任服务器证书复选框,然后点击连接

您的 SQL Server VM 现在可以用于数据库迁移了。如需创建新的用户登录名以连接和管理 SQL Server 虚拟机,请参阅创建登录名

完整数据库备份和恢复

完整的数据库备份和恢复是最常用且最简单的数据库迁移方法。采用这种方法时,系统会从源环境中获取 SQL Server 数据库的完整备份,然后在目标环境中恢复该备份。 Google Cloud 虽然此方法相对简单,但对于大型数据库,由于创建和恢复备份需要时间,因此可能非常耗时。

本部分将介绍如何使用 SSMS 通过示例 AdventureWorks2022 数据库导出 SQL Server 数据库。

创建完整的数据库备份

如需创建完整的数据库备份,请按以下步骤操作:

  1. 使用 Microsoft RDP 登录您的 AWS EC2 虚拟机。

  2. 使用 SSMS 连接到 SQL Server。

  3. 在对象资源管理器中展开“数据库”文件夹。

  4. 右键点击数据库名称,然后点击菜单中的任务

  5. 点击备份以打开数据库备份向导。

    1. 验证要备份的数据库名称,并将备份类型设置为“完整”。

    2. 在完整备份的目标位置下方,点击添加

    3. 点击省略号图标 (...) 以选择备份文件的文件夹和名称。

    4. 点击 OK 设置文件名,然后再次点击 OK 设置目标位置。

      数据库备份选项。

    5. 点击 OK 开始数据库备份,然后等待备份完成。

      备份流程完成后,系统会创建备份文件。现在,您可以使用此备份文件将数据库内容迁移到 Compute Engine 虚拟机。

    6. 点击 OK 退出数据库备份向导。

将备份文件传输到 Compute Engine 虚拟机

如需迁移 SQL Server 数据库内容,您必须将在上一步中创建的备份文件传输到您创建的 Compute Engine 虚拟机。如需了解各种传输选项,请参阅将文件传输到 Windows 虚拟机

从备份文件恢复 SQL Server 数据库

如需从备份文件恢复数据库,请按以下步骤操作:

  1. 使用 RDP 登录您的 Compute Engine 虚拟机。

  2. 使用 SSMS 连接到 SQL Server。

  3. 在 Object Explorer 中,右键点击 Databases 文件夹,然后点击 Restore Database

  4. 对于 Source,依次点击 Device 和省略号图标 (...),打开“选择备份设备”页面。

  5. 确认备份媒体类型已设为“文件”,然后点击 Add 以选择备份文件。

    恢复数据库 选择设备。

  6. 点击 OK 将备份文件设置为恢复设备。

  7. 点击 OK 以恢复数据库。

    该过程完成后,您的数据库会迁移到 Compute Engine 上的目标 SQL Server。

  8. 如需验证该过程是否已成功完成,您可以在 Object Explorer 中展开 databases 文件夹,然后验证是否可以看到已迁移的数据库。

    验证已恢复的数据库。

使用 BACPAC 文件进行迁移

备份文件包 (BACPAC) 文件是 SQL Server 数据库的逻辑表示形式。您可以将其从来源 AWS 环境导出,然后导入目标环境。 Google Cloud 对于较小的数据库,此方法通常比完整备份和恢复更快,但可能不适用于非常大的数据库或具有复杂依赖项的数据库。

以下部分介绍了如何使用 BACPAC 文件迁移 SQL Server 数据库。

创建 BACPAC 导出

如需创建 BACPAC 导出内容,请按以下步骤操作:

  1. 使用 Microsoft RDP 登录 AWS EC2 虚拟机。

  2. 使用 SSMS 连接到 SQL Server。

  3. 在对象资源管理器中展开 databases 文件夹。

  4. 右键点击数据库名称,然后点击任务

  5. 点击导出数据层应用以打开导出向导。

    1. 点击下一步

    2. 保存到本地磁盘选项中,点击浏览,然后选择 BACPAC 文件。

    3. 点击高级标签页,然后选择要导出的架构。

    4. 点击下一步进入摘要。

    5. 点击完成以导出 BACPAC 文件,然后等待导出完成。

    6. 点击关闭以退出向导。

  6. 将在上一步中创建的 BACPAC 文件传输到 Compute Engine 上的目标虚拟机。如需了解传输选项,请参阅将文件传输到 Windows 虚拟机

从 BACPAC 文件恢复 SQL Server 数据库

如需从 BACPAC 文件恢复数据库,请按以下步骤操作:

  1. 使用 RDP 登录 Compute Engine 虚拟机。

  2. 使用 SSMS 连接到 SQL Server。

  3. 在 Object Explorer 中,右键点击 Databases 文件夹,然后点击 Import Data-tier Application

  4. 点击下一步

  5. 点击 Browse(浏览),选择要恢复的 BACPAC 文件,然后点击 Next(下一步)。

  6. 验证新数据库名称,然后点击下一步

  7. 点击完成,然后等待导入完成。

  8. 点击关闭以退出向导。

  9. 如需验证该过程是否已成功完成,您可以在 Object Explorer 中展开 databases 文件夹,然后验证是否可以看到已迁移的数据库。

使用 Always On 可用性组进行迁移

AOAG 是 SQL Server 的高可用性和灾难恢复功能。您可以使用 AOAG 迁移现有的 AOAG 集群、独立 SQL Server 和 Windows Server 故障切换集群 (WSFC)。使用此方法,系统会在目标环境中创建数据库的副本,并在源和目标之间同步数据。 Google Cloud 同步完成后,您可以将目标环境中的副本设为主副本。 Google Cloud 此方法可最大限度地缩短停机时间,但需要进行额外的配置和设置。对于具有较长停机时间容忍度的简单迁移,其他方法可能更简单、更具成本效益。

准备工作

在开始迁移之前,请确保满足以下条件:

  • 为确保数据安全且顺畅地过渡,请在 AWS 和 Google Cloud之间建立对等连接。如需了解详情,请参阅在 Google Cloud 和 AWS 之间创建高可用性 VPN 连接。 Google Cloud

  • 确保源数据库在独立模式下运行,并且源服务器和目标服务器都已加入 Active Directory (AD)。如果源数据库已是使用 AOAG 的 WSFC 集群的一部分,请参阅使用分布式可用性组进行迁移

  • 确保将源 SQL Server 数据库上的所有加密密钥安装到将加入 AOAG 的所有 SQL Server 实例上。

准备将 SQL Server 添加到 AOAG

若要将 SQL Server 添加到 AOAG,您必须在要添加到该组的所有 SQL Server 实例上启用 AOAG 功能。

如需在您要添加到 AOAG 的所有 SQL Server 虚拟机上启用 AOAG 功能,请按以下步骤操作:

  1. 在 SQL Server 上启用 AOAG。

    1. 使用 RDP 登录您的 SQL Server 虚拟机。

    2. 在管理员模式下打开 PowerShell。

    3. 运行以下命令,在 SQL Server 上启用 AOAG。

      Enable-SqlAlwaysOn -ServerInstance $env:COMPUTERNAME -Force
      

    4. 运行以下命令以打开防火墙端口以进行数据复制。

      netsh advfirewall firewall add rule name="Allow SQL Server replication" dir=in action=allow protocol=TCP localport=5022
      
    5. 对您要添加到 AOAG 的所有 SQL Server 虚拟机重复第 1 步。

  2. 在 AD 中为 SQL Server 创建一个新用户。

    $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. 对 AOAG 中的所有 SQL Server 实例执行以下步骤:

    1. 打开 SQL Server 配置管理器
    2. 在导航窗格中,选择 SQL Server 服务
    3. 在服务列表中,右键点击 SQL Server (MSSQLSERVER),然后选择属性
    4. 登录身份下,按如下步骤更改账号:
      • 账号名称DOMAIN\sql_server,其中 DOMAIN 是 AD 网域的 NetBIOS 名称。
      • 密码:输入您在此部分的上一步骤 2 中选择的密码。
    5. 点击确定

    6. 当系统提示您重启 SQL Server 时,请选择

您的 SQL Server 现在在网域用户账号下运行。

为 SQL Server 数据库设置镜像端点

如需为 AOAG 创建端点,请按以下步骤操作:

  1. 如果源 SQL Server 数据库使用透明数据加密 (TDE) 进行加密,请执行此步骤以备份、传输和将证书和密钥安装到目标 SQL Server。

  2. 使用 SSMS 登录 AWS 上的源数据库。

  3. 运行以下 T-SQL 命令,为可用性组创建端点。

    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
    

    NET_DOMAIN 替换为您的 AD 网域的 NetBIOS 名称,将 DATABASE_NAME 替换为要迁移的数据库的名称。

  4. 使用 SSMS 连接到 Google Cloud 上的目标 SQL Server,然后执行以下 T-SQL 命令以创建数据库镜像端点。

    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
    

    NET_DOMAIN 替换为您的 AD 网域的 NetBIOS 名称。

  5. 在 SSMS 的对象资源管理器中,依次选择 Server Objects > Endpoints > Database Mirroring 以验证端点。

    SMSS 端点视图。

创建 AOAG

如需创建 AOAG,请按以下步骤操作:

  1. 使用 SSMS 登录 AWS 上的源数据库。

  2. 运行以下 T-SQL 命令,将数据库恢复模式设置为完整并进行完整备份。

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

    DATABASE_NAME 替换为要迁移的数据库的名称。

  3. 运行以下 T-SQL 命令以创建 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
    

    替换以下内容:

    • DATABASE_NAME:包含要迁移的数据库的名称。
    • SOURCE_SERVERNAME:包含源数据库的服务器名称。
    • DEST_SERVERNAME:包含目标数据库的服务器名称。
    • SOURCE_HOSTNAME:包含来源的完全限定域名 (FQDN)。
    • DEST_HOSTNAME:使用目标的 FQDN。
  4. 在目标数据库上运行以下 T-SQL 命令,将其添加到 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. 对象浏览器中或通过运行以下 T-SQL 命令验证新创建的 AOAG 和数据库状态。

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

    验证副本数据库。

SQL Server AOAG 现已配置完毕,并会在 AWS 和 Google Cloud之间保持同步。下一步,您必须配置 WSFC 和监听器,以实现高可用性和灾难恢复。如需了解详情,请参阅 Windows Server 故障切换集群与 SQL Server什么是可用性组监听器

使用分布式可用性组进行迁移

分布式可用性组是一种特殊类型的可用性组,它跨两个单独的可用性组。它旨在跨地理位置分散的多个位置提供高可用性和灾难恢复功能。这种架构支持在主可用性组和辅助可用性组之间无缝复制数据和故障转移,非常适合数据迁移。如需了解详情,请参阅分布式可用性组

以下部分介绍了如何使用分布式可用性组迁移 SQL Server 数据库。

准备工作

确保您有一个 WSFC 与 SQL Server 搭配使用,并且可用性组包含在 AWS 上运行的虚拟网络名称 (VNN) 监听器。

准备目标环境

如需准备目标环境,请按以下步骤操作:

  1. 如需在 Google Cloud上使用内部负载平衡器配置 WSFC 和 SQL Server 可用性组,请参阅使用内部负载平衡器配置具有同步提交功能的 SQL Server Always On 可用性组

  2. Object Explorer 中,验证是否已创建 bookshelf-ag 并正在复制 bookshelf 数据库。验证完毕后,请按照后续步骤从故障切换集群中的两个节点中移除可用性组和数据库。

    验证目标集群的初始状态。

  3. 在 SSMS 中连接到 node-1,并保存 bookshelf 监听器的 IP 地址。

    SELECT * FROM sys.availability_group_listeners
    
  4. 运行以下 T-SQL 命令以移除 bookshelf-ag 可用性组和 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. 在 SSMS 中对 node-2 运行以下 T-SQL 以移除复制的数据库。

    USE master
    GO
    
    DROP DATABASE [bookshelf]
    GO
    

创建分布式可用性组

如需创建要用于分布式可用性组的新可用性组,请按以下步骤操作:

  1. node-1 上运行以下 T-SQL 命令。

    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. 创建监听器。

    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
    

    LISTENER_IP 替换为监听器的 IP 地址。

  3. 使用 SSMS 连接到 node-2,然后运行以下 T-SQL 命令将其添加到 gcp-dest-ag 可用性组。

    USE master
    GO
    
    ALTER AVAILABILITY GROUP [gcp-dest-ag] JOIN;
    ALTER AVAILABILITY GROUP [gcp-dest-ag] GRANT CREATE ANY DATABASE;
    
  4. 使用 SSMS 连接到 AWS 上源 SQL Server 的主副本,然后运行以下 T-SQL 命令以创建分布式可用性组。

    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
    

    AWS_AG 替换为 AWS 中可用性组的名称,并将 AWS_LISTENER 替换为 AWS 可用性组的监听器。

  5. node-1 上的 SSMS 中运行以下 T-SQL 命令,将其添加到分布式可用性组。

    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
    

    AWS_AG 替换为 AWS 中可用性组的名称,并将 AWS_LISTENER 替换为 AWS 可用性组的监听器。

  6. 在 `node-1` 上运行以下 T-SQL 命令,验证所有可用性组是否都处于正常运行状态,以及是否正在跨分布式可用性组复制到 Google Cloud上的新 SQL Server 集群

    SELECT * FROM sys.dm_hadr_availability_group_states
    GO
    

清理

完成本教程后,您可以清理您创建的资源,让它们停止使用配额,以免产生费用。以下部分介绍如何删除或关闭这些资源。

删除项目

为了避免产生费用,最简单的方法是删除您为本教程创建的项目。

要删除项目,请执行以下操作:

  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.