培训
认证
Microsoft Certified: Azure Database Administrator Associate - Certifications
使用 Microsoft PaaS 关系数据库产品/服务,管理云、本地和混合关系数据库的 SQL Server 数据库基础结构。
适用于:Azure SQL 托管实例
在本指南中,了解如何将用户数据库从 SQL Server 迁移到 Azure SQL 托管实例。
在继续之前完成迁移前的步骤。
完成预迁移阶段的步骤后,便可以执行架构和数据迁移。
使用所选的迁移方法迁移你的数据。
本部分提供以下建议迁移选项的常规迁移步骤:
RESTORE DATABASE FROM URL
- 使用来自 SQL Server 的本机备份,且需要停机一段时间。SQL 托管实例面向需要从本地或 Azure VM 数据库实现迁移大量数据库的用户方案。 如果需要直接迁移定期使用实例级功能和/或跨数据库功能的应用程序的后端,则托管实例是最佳选择。 若采用此方案,可将整个实例转移到 Azure 中对应的环境,而无需重新构建应用程序。
若要转移 SQL 实例,需要认真规划:
SQL 托管实例是一项托管服务,可便于将一些常规 DBA 活动委托给平台,就像平台中已内置这些活动一样。 因此,不需要迁移某些实例级数据,例如日常备份的维护作业或 Always On 配置,因为系统中内置了高可用性。
本部分提供在 Azure Data Studio 中使用 Azure SQL 迁移扩展从 SQL Server 迁移到 Azure SQL 托管实例的高级步骤,此过程的故障时间最短。 有关详细说明,请参阅教程:在 Azure Data Studio 中将 SQL Server 联机迁移到 Azure SQL 托管实例。
若要使用 Azure Data Studio 进行迁移,请按照下列步骤操作:
本部分提供使用托管实例链接从 SQL Server 迁移到 Azure SQL 托管实例的高级步骤,此过程的故障时间最短。 有关详细说明,请查看使用链接进行迁移。
要使用链接进行迁移,请执行以下步骤:
本部分提供使用日志重播服务 (LRS) 从 SQL Server 迁移到 Azure SQL 托管实例的高级步骤,此过程的故障时间最短。 有关详细说明,请查看使用日志重播服务从 SQL Server 迁移数据库。
要使用 LRS 进行迁移,请执行以下步骤:
可让 Azure SQL 托管实例实现快速轻松的数据库迁移的一项关键功能是对存储在 .bak
中的数据库备份 () 文件的 SQL 托管实例进行本机还原。 备份和还原是基于数据库大小的异步操作。
下图高度概括了该过程:
备注
进行备份、将其上传到 Azure 存储以及对 Azure SQL 托管实例执行本机还原操作所花的时间取决于数据库大小。 请为针对大数据库的操作预留足够的停机时间。
下表提供了可以根据所运行的源 SQL Server 版本使用的方法的详细信息:
步骤 | SQL 引擎和版本 | 备份/还原方法 |
---|---|---|
将备份放入 Azure 存储 | 在 2012 SP1 CU2 之前 | 将 .bak 文件直接上传到 Azure 存储 |
2012 SP1 CU2 - 2016 | 使用已弃用的 WITH CREDENTIAL 语法直接备份 | |
2016 及更高版本 | 使用 WITH SAS CREDENTIAL 直接备份 | |
从 Azure 存储还原到托管实例 | 使用 SAS CREDENTIAL 执行 RESTORE FROM URL |
重要
使用本机还原选项将透明数据加密保护的数据库迁移到托管实例时,需要先迁移本地或 Azure VM SQL Server 中的相应证书,再还原数据库。 有关详细步骤,请参阅将受 TDE 保护的数据库的证书迁移到 Azure SQL 托管实例。
不支持还原系统数据库。 若要迁移实例级对象(存储在 master
或 msdb
数据库中),建议编写 T-SQL 脚本,并在目标实例上运行这些脚本。
要使用备份和还原进行迁移,请执行以下步骤:
将数据库备份到 Azure Blob 存储。 例如,在 SQL Server Management Studio 中使用备份到 URL。 使用 Microsoft Azure Tools 支持早于 SQL Server 2012 SP1 CU2 的数据库。
使用 SQL Server Management Studio 连接到 Azure SQL 托管实例。
使用共享访问签名创建凭据,以通过数据库备份访问 Azure Blob 存储帐户。 例如:
CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<secret>'
从 Azure 存储 blob 容器还原备份。 例如:
RESTORE DATABASE [TargetDatabaseName]
FROM URL = 'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
还原完成后,请在 SQL Server Management Studio 的“对象资源管理器”中查看数据库。
若要详细了解此迁移选项,请参阅快速入门:使用 SSMS 将数据库还原到 Azure SQL 托管实例。
备注
数据库还原操作是异步且可重试的。 如果连接中断或某些超时过期,SQL Server Management Studio 中可能会显示错误。 Azure SQL 数据库将在后台继续尝试还原数据库,可以使用 sys.dm_exec_requests 和 sys.dm_operation_status 视图来跟踪还原进度。
当使用将数据更改持续从源复制/同步到目标的迁移选项时,源数据和架构可能会变化并偏离目标。 在数据同步过程中,请确保在迁移过程中捕获对源的所有更改并将其应用到目标。
验证了源和目标上的数据相同后,可以从源环境直接转换到目标环境。 请务必与业务/应用程序团队一起计划直接转换过程,以确保直接转换过程中的最小中断不会影响业务连续性。
重要
有关与使用 DMS 进行迁移时执行直接转换相关的特定步骤的详细信息,请参阅执行直接转换迁移。
成功完成迁移阶段后,执行一系列的迁移后任务,确保一切顺利高效进行。
迁移后阶段对于协调所有数据准确性问题、验证完整性以及解决工作负载的性能问题至关重要。
迁移到托管实例后,应跟踪应用程序的行为和工作负载的性能。 此过程包括以下活动:
数据库迁移的测试方法包括以下活动:
可以充分利用 SQL 托管实例提供的基于云的高级功能,例如内置高可用性、威胁检测以及监视和优化工作负载。
使用 Azure SQL Analytics 可以集中监视大量托管实例。
只有将数据库兼容性级别更改为最新的兼容性级别 (150) 后,某些 SQL Server 功能才可用。
培训
认证
Microsoft Certified: Azure Database Administrator Associate - Certifications
使用 Microsoft PaaS 关系数据库产品/服务,管理云、本地和混合关系数据库的 SQL Server 数据库基础结构。