您可以使用备份和恢复流程,通过 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 会自动处理所有必需的备份文件导出。
本页概述了 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 2022)。
下表列出了所有受支持的 SQL Server 源数据库和目标数据库:
| 源数据库 | 目标数据库 |
|---|---|
| Amazon RDS | Cloud SQL for SQL Server 版本 2022、2019、2017 |
| 自行管理的 SQL Server
(在本地或由您完全控制的任何云虚拟机上) | |
| Cloud SQL for SQL Server (由 Database Migration Service 自动导出备份) |
持续迁移数据流
对于到 Cloud SQL 的同构 SQL Server 迁移, Database Migration Service 支持 持续迁移流程。在这种方法中,您的数据首先从完整数据库备份文件加载,然后从差异备份文件加载,然后根据您上传到专用 Cloud Storage 存储桶的事务日志文件持续更新。
从宏观层面来看,您的数据在迁移阶段的移动方式如下:
Cloud SQL for SQL Server 源
对于 Cloud SQL for SQL Server 源:
- 您需要配置源 Cloud SQL for SQL Server 实例以支持 时间点恢复 (PITR),并为 Cloud SQL 和 Database Migration Service 服务账号分配必要的权限。
- 创建并运行迁移作业时,Database Migration Service 首先会创建数据库的完整备份,将其存储在 提供的 Cloud Storage 存储桶中,然后将其加载到目标 实例。
- 完整转储完成后,Database Migration Service 会继续从源 Cloud SQL for SQL Server 实例导出事务日志文件,并将其加载到目标实例。
当您想要 切换应用以使其将 Cloud SQL for SQL Server 目标实例用作生产数据库时,可以停止正在进行的复制并提升迁移作业。如需详细的分步 迁移指南,请参阅 Cloud SQL 源的 Cloud SQL for SQL Server 迁移指南。
自行管理和 AWS 源
对于自行管理和 AWS 源:
- 您需要将备份文件上传到 Cloud Storage。
对于自行管理的源,如需进行持续 SQL Server 迁移,您需要先对源数据库进行完整备份,然后将备份文件上传到 Cloud Storage 存储桶。对于后续更新,您可以选择提供差异备份文件, 然后上传事务日志文件。 您还可以自动执行持续事务日志创建和上传。
如需详细了解如何自动执行持续事务日志创建和 上传,请参阅 安排事务日志备份。
如需详细了解 Database Migration Service 如何在同构 SQL Server 迁移中使用不同类型的备份文件,请参阅 支持的备份文件类型。
- 迁移作业开始后,Database Migration Service 会将最新的完整 数据库备份加载到目标 Cloud SQL for SQL Server 实例。
- 初始加载完成后,Database Migration Service 会切换到增量
加载阶段。此时,Database Migration Service 会执行以下操作:
-
如果您的迁移作业配置为使用差异备份文件,
Database Migration Service 会扫描 `diff` 文件夹并将差异备份
文件加载到目标实例。如果您的迁移作业配置为使用差异备份文件,但 Database Migration Service 无法在 Cloud Storage 存储桶中找到该文件,则迁移作业会显示错误,同时持续在 `diff` 文件夹中搜索差异备份文件。
Database Migration Service 仅在增量加载阶段开始时加载一次差异备份文件。 当迁移作业继续处理 事务日志文件时,如果您将新的差异备份文件上传到 `diff` 文件夹,系统将无法识别这些文件。
- 现在,Database Migration Service 会持续扫描您的 Cloud Storage 存储桶 以查找要在目标实例上复制的事务日志备份文件。
-
如果您的迁移作业配置为使用差异备份文件,
Database Migration Service 会扫描 `diff` 文件夹并将差异备份
文件加载到目标实例。如果您的迁移作业配置为使用差异备份文件,但 Database Migration Service 无法在 Cloud Storage 存储桶中找到该文件,则迁移作业会显示错误,同时持续在 `diff` 文件夹中搜索差异备份文件。
- 当源数据库中出现新数据时,您可以继续导出 事务日志备份文件并将其上传到同一 Cloud Storage 存储桶。Database Migration Service 会提取所有新的事务日志备份文件,并在目标数据库上复制这些文件。
当您想要 切换应用以使其将 Cloud SQL for SQL Server 目标实例用作生产数据库时,可以停止正在进行的复制并提升迁移作业。如需详细的分步 迁移指南,请参阅 Cloud SQL for SQL Server 迁移指南。
监控
Database Migration Service 提供了广泛的日志记录和可观测性功能,可帮助您监控迁移进度。这些功能包括复制延迟和事务日志备份文件处理的实时诊断,以及 Cloud SQL for SQL Server 目标实例运行状况和迁移作业状态的详细日志。
如需了解详情,请参阅 迁移作业指标。
加密
对于自行管理和 Amazon RDS 源,Database Migration Service 完全支持 加密的 SQL Server 备份。如果您将 加密密钥上传到 Google Cloud,Database Migration Service 可以安全地解密 您的数据并将其加载到 Cloud SQL for SQL Server 目标实例,而不会 损害您的数据安全性。
如需了解详情,请参阅 加密的 SQL Server 备份文件。
后续步骤
如需详细了解 Database Migration Service 中的 SQL Server 数据和功能支持,请参阅 已知限制。
如需获取完整的分步迁移演练,请参阅: