适用于:SQL Server
Azure SQL 数据库
在本指南中,了解如何将 SQL Server 实例迁移到 Azure SQL 数据库。
在继续之前完成迁移前的步骤。
完成预迁移阶段的步骤后,便可以执行架构和数据迁移。
使用所选的迁移方法迁移你的数据。
若要使用 Azure Data Studio 执行脱机迁移,请按照以下概要步骤操作。 如需详细的分步教程,请参阅教程:将 SQL Server 迁移到 Azure SQL 数据库(脱机)。
- 下载并安装 Azure Data Studio 和 Azure SQL 迁移扩展。
- 在 Azure Data Studio 的扩展中启动迁移到 Azure SQL 迁移向导。
- 选择数据库进行评估,并查看迁移就绪性或问题(如果有)。 此外,收集性能数据并获取适当大小的 Azure 建议。
- 从订阅中选择 Azure 帐户和目标 Azure SQL 数据库。
- 选择要迁移的表列表。
- 使用 Azure Data Studio 中的向导创建新的 Azure 数据库迁移服务。 如果之前使用 Azure Data Studio 创建了 Azure 数据库迁移服务,则可以根据需要重复使用该服务。
- 可选:如果备份在本地网络共享上,请在可以连接到源 SQL Server 的计算机上包含备份文件的位置中下载并安装自承载集成运行时。
- 在 Azure Data Studio 中启动数据库迁移并监视进度。 也可以在 Azure 门户中的 Azure 数据库迁移服务资源下监视进度。
当使用将数据更改持续从源复制/同步到目标的迁移选项时,源数据和架构可能会变化并偏离目标。 在数据同步过程中,请确保在迁移过程中捕获对源的所有更改并将其应用到目标。
验证源和目标上的数据是否相同后,可以从源环境直接转换到目标环境。 请务必与业务/应用程序团队一起计划直接转换过程,以确保直接转换过程中的最小中断不会影响业务连续性。
如果在发生迁移时你无法承受从生产中删除 SQL Server 数据库的后果,可以使用 SQL Server 事务复制作为迁移解决方案。 若要使用此方法,源数据库必须满足事务复制要求且兼容 Azure SQL 数据库。 有关使用可用性组的 SQL 复制的信息,请参阅配置 Always On 可用性组的复制。
要使用此解决方案,请将 Azure SQL 数据库中的数据库配置为要迁移的 SQL Server 实例的订阅服务器。 在新的事务不断发生时,事务复制分发器将对要同步的数据库(发布服务器)中的数据进行同步。
使用事务复制时,对数据或架构所做的所有更改都会显示在 Azure SQL 数据库中的数据库中。 同步完成后,如果你已准备好进行迁移,则可更改应用程序的连接字符串,使其指向数据库。 在事务复制排出源数据库上剩余的所有更改,并且所有应用程序都指向 Azure SQL 数据库之后,可以卸载事务复制。 Azure SQL 数据库中的数据库现在是生产系统。
事务复制工作流
有关迁移到 SQL 数据库的一些
提示和差异
- 使用本地分发服务器
- 这会对服务器产生性能影响。
- 如果性能影响无法接受,可使用其他服务器,但会增加管理的复杂性。
- 选择快照文件夹时,请确保选择的文件夹足够大,可以保存想要复制的每个表的 BCP。
- 快照创建操作在完成之前会锁定关联的表,因此,请适当地计划好快照。
- Azure SQL 数据库中仅支持推送订阅。 只能从源数据库添加订阅服务器。
若要加快迁移到 Azure SQL 数据库的速度,应考虑以下建议:
还可考虑以下建议,以在迁移过程中获得最佳性能。
- 若要获得最高的传输性能,请在预算允许范围内选择最高的服务层级和计算大小。 为了节省资金,可以在迁移完成后缩减规模。
- 如果使用 BACPAC 文件,尽量缩短 BACPAC 文件和目标数据中心的距离。
- 在迁移期间禁用自动更新和自动创建数据统计。
- 分区表和索引。
- 删除已编制索引的视图,在完成后重新创建这些视图。
- 将很少查询的历史数据转移到其他数据库,将这些历史数据迁移到 Azure SQL 数据库中的单独数据库。 然后,可以使用 弹性查询来查询这些历史数据。
成功完成迁移阶段后,执行以下迁移后任务,确保一切顺利高效地进行。
迁移后阶段对于协调任何数据准确性问题、验证完整性以及解决工作负载的性能问题至关重要。
在迁移完成后更新统计信息并进行完全扫描。
将数据迁移到目标环境后,以前使用源的所有应用程序都需要开始使用目标。 在某些情况下,实现这一点需要对应用程序进行更改。
数据库迁移的测试方法包括以下活动:
- 开发验证测试:要测试数据库迁移,需要使用 SQL 查询。 必须创建针对源数据库和目标数据库运行的验证查询。 验证查询应涵盖已定义的范围。
- 设置测试环境:测试环境应包含源数据库和目标数据库的副本。 请确保隔离测试环境。
- 运行验证测试:针对源和目标运行验证测试,然后分析结果。
- 运行性能测试:针对源和目标运行性能测试,然后分析和比较结果。
请确保利用 Azure SQL 数据库提供的基于云的高级功能,例如内置高可用性、威胁检测以及监视和优化工作负荷。
只有将数据库兼容性级别更改为最新的兼容性级别后,某些 SQL Server 功能才可用。
要了解详细信息,请参阅在迁移后管理 Azure SQL 数据库。
你可能会遇到各种各样的兼容性问题,具体取决于源数据库中的 SQL Server 版本以及正在迁移的数据库复杂性。 旧版 SQL Server 的兼容性问题更多。 除了使用所选搜索引擎的目标 Internet 搜索以外,还可以使用以下资源:
- SQL Server 与 Azure SQL 数据库之间的 Transact-SQL 数据转移 差异
- SQL Server 中弃用的数据库引擎功能
- 可用于数据迁移方案的服务和工具
- 使用 Azure Data Studio 的 Azure SQL 迁移扩展迁移数据库
- 教程:将 SQL Server 数据转移 迁移到 Azure SQL 数据库(脱机)
- 关于 Azure Migrate
- 什么是 Azure SQL 数据库?
- Azure 总拥有成本计算器
- 适用于 Azure 的云采用框架
- 为迁移到 Azure 的工作负载计算成本和调整大小的最佳做法
- 云迁移资源
- 数据库实验助手概述