面向 SQL Server 的 Database Migration Service

Database Migration Service 支持两种将 SQL Server 数据库迁移到 Cloud SQL for SQL Server 的方法:

  • 备份和恢复迁移:通过在 Cloud Storage 存储桶中暂存完整备份和事务日志文件,从自行管理的 SQL Server、Amazon RDS 或 Cloud SQL for SQL Server 来源进行迁移。
  • 分布式可用性组 (DAG) 迁移:使用 SQL Server 分布式可用性组,直接通过专用网络连接从自行管理的 SQL Server 企业版实例进行迁移,而无需将备份文件导出到 Cloud Storage。

备份和恢复迁移

您可以使用 Database Migration Service 通过备份和恢复流程将 SQL Server 数据库迁移到 Cloud SQL for SQL Server 实例。

  • 对于自行管理或 Amazon RDS 来源,您首先需要将完整的数据库备份和事务日志文件上传到 Cloud Storage 存储桶。然后,Database Migration Service 会主动监控您的存储桶,并将数据持续复制到目标 Cloud SQL for SQL Server 实例。

  • 对于 Cloud SQL for SQL Server 来源,Database Migration Service 会自动处理所有必需的备份文件导出。

本部分介绍了同构 SQL Server 备份和恢复迁移的以下功能:

  • 支持的来源和目标列出了 Database Migration Service 支持的所有 SQL Server 版本。

  • 持续迁移数据流提供了迁移过程中数据在 Google Cloud 中移动方式的端到端概览。

  • 加密介绍了如何使用加密的 SQL Server 备份文件进行迁移。

  • 监控介绍了可帮助您观察迁移作业进度和运行状况的日志和指标。

支持的源数据库和目标数据库

您可以使用 Database Migration Service 在相同的 SQL Server 版本和版本之间迁移,也可以从较低版本的 SQL Server 迁移到 Cloud SQL 支持的较高版本,只要您遵循版本兼容性准则即可。如需了解详情,请参阅 Microsoft 文档中针对您的 SQL Server 版本支持的版本和版本升级。例如,请参阅 支持的版本和版本升级 (SQL Server 2025)。

下表列出了所有受支持的 SQL Server 源数据库和目标数据库:

源数据库 目标数据库
Amazon RDS Cloud SQL for SQL Server 2025、2022、2019、2017 版
自管理 SQL Server

(在本地或由您完全控制的任何云虚拟机上)

Cloud SQL for SQL Server

(通过 Database Migration Service 自动导出备份)

持续迁移数据流

对于从同构 SQL Server 迁移到 Cloud SQL,Database Migration Service 支持 持续迁移流程。在这种方法中,系统会先从完整数据库备份文件加载数据,然后从差分备份文件加载数据,最后根据您上传到专用 Cloud Storage 存储桶的事务日志文件持续更新数据。

SQL Server 迁移流程概览
图 1. Database Migration Service for SQL Server 迁移期间的数据移动。(点击可放大)
SQL Server 迁移流程概览

概括来讲,您的数据会按以下方式经历各个迁移阶段:

Cloud SQL for SQL Server 来源

对于 Cloud SQL for SQL Server 来源:

  1. 您需要配置源 Cloud SQL for SQL Server 实例以支持时间点恢复 (PITR),并为 Cloud SQL 和 Database Migration Service 服务账号分配必要的权限。
  2. 创建并运行迁移作业后,Database Migration Service 会先创建数据库的完整备份,将其存储在提供的 Cloud Storage 存储桶中,然后将其加载到目标实例。
  3. 完整转储完成后,Database Migration Service 会继续从源 Cloud SQL for SQL Server 实例导出事务日志文件,并将其加载到目标实例。

当您希望将应用切换为使用 Cloud SQL for SQL Server 目标实例作为生产数据库时,可以停止正在进行的复制并提升迁移作业。如需查看详细的分步迁移指南,请参阅 Cloud SQL for SQL Server 迁移指南(适用于 Cloud SQL 来源)。

自行管理的来源和 AWS 来源

对于自行管理的来源和 AWS 来源:

  1. 将备份文件上传到 Cloud Storage。

    对于自行管理的来源,持续 SQL Server 迁移需要您先对源数据库进行完整备份,然后将备份文件上传到 Cloud Storage 存储桶。 对于后续更新,您可以选择提供差分备份文件,然后上传事务日志文件。 您还可以自动创建和上传持续事务日志。

    如需详细了解如何自动执行持续事务日志创建和上传,请参阅 安排事务日志备份。

    如需详细了解 Database Migration Service 如何在同构 SQL Server 迁移中使用不同类型的备份文件,请参阅 支持的备份文件类型。

  2. 迁移作业启动后,Database Migration Service 会将最新的完整数据库备份加载到目标 Cloud SQL for SQL Server 实例。
  3. 初始加载完成后,Database Migration Service 会切换到增量加载阶段。此时,Database Migration Service 会执行以下操作:
    1. 如果您的迁移作业配置为使用差分备份文件,Database Migration Service 会扫描 `diff` 文件夹,并将差分备份文件加载到目标实例。如果您的迁移作业配置为使用差分备份文件,但 Database Migration Service 在 Cloud Storage 存储桶中找不到该文件,则迁移作业会显示错误,同时会继续在 `diff` 文件夹中搜索差分备份文件。

      Database Migration Service 仅在增量加载阶段开始时加载一次差分备份文件。当迁移作业继续处理事务日志文件时,如果您将新的差分备份文件上传到 `diff` 文件夹,系统将无法识别这些文件。

    2. 现在,Database Migration Service 会持续扫描 Cloud Storage 存储桶,以查找要在目标实例上复制的事务日志备份文件。
  4. 当源数据库中出现新数据时,您可以继续导出事务日志备份文件并将其上传到同一 Cloud Storage 存储桶。Database Migration Service 会提取所有新的事务日志备份文件,并在目标数据库中复制这些文件。

当您希望将应用切换为使用 Cloud SQL for SQL Server 目标实例作为生产数据库时,可以停止正在进行的复制并提升迁移作业。如需查看详细的分步迁移指南,请参阅 Cloud SQL for SQL Server 迁移指南。

加密

对于自行管理的源和 Amazon RDS 源,Database Migration Service 全面支持 加密的 SQL Server 备份。如果您将加密密钥上传到 Google Cloud,Database Migration Service 可以安全地解密数据并将其加载到 Cloud SQL for SQL Server 目标实例,而不会影响数据安全。

如需了解详情,请参阅 加密的 SQL Server 备份文件。

分布式可用性组 (DAG) 迁移

对于自行管理的 SQL Server 企业版实例,您可以使用 SQL Server 分布式可用性组 (DAG) 通过专用网络连接直接迁移数据库,而无需将备份或事务日志文件导出到 Cloud Storage。

本部分简要介绍了 SQL Server 分布式可用性组迁移:

  • 支持的来源和目标列出了 DAG 迁移支持的 SQL Server 版本。

  • 持续迁移数据流总结了在迁移过程中数据如何在可用性组之间移动。

  • 加密介绍了如何在来源实例和目标实例之间保护传输中的数据。

  • 监控介绍了可帮助您观察迁移作业的进度和健康状况的日志和指标。

如需与备份和恢复迁移、架构详细信息和限制进行完整比较,请参阅分布式可用性组 (DAG) 迁移简介。

支持的源数据库和目标数据库

分布式可用性组迁移要求源 SQL Server 实例和目标 Cloud SQL for SQL Server 实例均使用企业版:

源数据库 目标数据库
自管理 SQL Server Enterprise Edition 版本 2025、2022、2019、2017

(在本地或由您完全控制的任何云虚拟机上,并启用了 Always On 可用性组)

Cloud SQL for SQL Server 企业版 2025、2022、2019、2017

持续迁移数据流

在分布式可用性组迁移中,Database Migration Service 会在源可用性组与目标 Cloud SQL for SQL Server 实例上的代管式辅助可用性组之间配置分布式可用性组,从而通过专用网络连接直接流式传输初始完整加载和持续的数据库更改。

分布式可用性组 (DAG) 迁移流程概览
图 2. 分布式可用性组 (DAG) 迁移期间的数据移动。

概括来讲,分布式可用性组迁移的工作原理如下:

  1. 您需要配置双向专用 IP 连接,准备源可用性组,并在目标 Cloud SQL for SQL Server 实例上创建链接服务器。
  2. 启动迁移作业后,Database Migration Service 会创建一个分布式可用性组,并通过网络将源可用性组中所有数据库的初始完整负载直接流式传输到 Cloud SQL for SQL Server。
  3. 初始完整加载完成后,Database Migration Service 会持续复制正在进行的数据库更改(CDC 阶段),同时允许您以只读模式查询目标数据库。
  4. 提升迁移作业后,Database Migration Service 会将 Cloud SQL for SQL Server 实例切换为读写主实例,并进入 FAILBACK 阶段,将新的写入操作复制回源实例。在 FAILBACK 阶段,您可以运行带有 --failback 标志的 promote,将主角色切换回源实例;也可以停止复制并删除迁移作业,以完成迁移并在验证割接后执行必要的清理。

如需详细了解 DAG 迁移的工作原理,请参阅分布式可用性组 (DAG) 迁移简介。如需查看分步演示,请参阅使用分布式可用性组从自行管理的 SQL Server 迁移。

加密

分布式可用性组迁移不会将备份文件导出到 Cloud Storage。相反,在源可用性组和目标 Cloud SQL for SQL Server 可用性组之间传输的所有初始完整加载数据和持续数据库更改都会通过证书进行身份验证,并使用 AES 加密通过专用网络连接在传输过程中进行加密。

监控

Database Migration Service 中迁移作业复制延迟时间的示例图。
图 3. Database Migration Service 中的可观测性图表示例。 (点击可放大)
Database Migration Service 中迁移作业复制延迟时间的示例图。

Database Migration Service 提供广泛的日志记录和可观测性功能,可帮助您监控备份和恢复以及分布式可用性组迁移的进度。这些功能包括:针对复制延迟(恢复延迟)的实时诊断、针对基于备份的迁移的事务日志备份文件处理、目标存储空间用量,以及 Cloud SQL for SQL Server 目标实例运行状况和迁移作业状态的详细日志。

如需了解详情,请参阅迁移作业指标。

后续步骤