SQL Server Management Studio(SSMS)中的 Migrate SQL Server 功能可帮助你评估SQL Server实例、比较Azure SQL迁移目标、查看迁移准备情况、获取目标大小调整和定价建议,并开始迁移到Azure。
| 已启用Azure Arc | 详细信息 |
|---|---|
| 是的 | SSMS 使用从Azure Arc收集的就绪情况评估。这些评估包括兼容性发现、目标大小调整、可用时的定价估算以及建议的迁移路径。 |
| 否 | SSMS 运行评估并比较受支持的Azure SQL目标。 报告可以包括迁移准备情况、兼容性发现、大小调整建议、定价估算和建议的迁移路径。 从结果中,可以使用SQL 托管实例链接、本机备份和还原或Azure 数据库迁移服务(Azure DMS)开始迁移。 |
还可以预配Azure SQL目标,并监视从 SSMS 或 Azure 门户迁移。
先决条件
- SQL Server Management Studio 22 或更高版本。
- 具有执行迁移的 sysadmin 权限的SQL Server实例登录名。
有关仅限评估的权限,请参阅 权限。
安装和配置
- 使用 Visual Studio Installer 安装最新版本的 SQL Server Management Studio (SSMS)。
- 在Visual Studio安装程序中,为 SSMS 安装选择“修改”。
- 选择 混合和迁移 工作负荷。
- 下载时选择“安装”,然后选择“修改”以完成安装。
迁移过程
工作流取决于Azure Arc是否启用SQL Server实例。
此工作流适用于Azure Arc未启用的SQL Server实例。
连接到SQL Server
从 SSMS 启动迁移工作流。
- 打开 SSMS。
- 连接到源SQL Server实例。
- 在对象资源管理器中右键单击SQL Server实例,然后选择“迁移SQL Server”。
此操作将打开 迁移 登陆页,可在其中评估源环境、比较目标并打开适当的迁移体验。
评估迁移准备情况
评估迁移兼容性并生成目标建议。
迁移登陆页将打开到 数据库评估 阶段。
Azure迁移就绪情况会评估SQL Server环境,并帮助你选择适当的Azure SQL目标。 该评估会评估迁移兼容性,并可提供目标、规模和定价建议。
若要运行评估,请执行以下操作:
从迁移登录页中选择“运行评估”。
评估完成后,打开生成的 HTML 报表。
查看可用的迁移目标和建议,了解以下情况:
- 迁移就绪情况
- 兼容性发现
- 推荐的 Azure SQL 目标
- 最低目标配置
- 计算与存储容量规划
- 估计每月成本
- 可用的定价选项
报告可以比较以下目标:
- Azure SQL 数据库
- Azure SQL 托管实例
- 在 Azure 虚拟机上的 SQL Server
迁移就绪情况类别
评估使用以下面向用户的迁移准备类别:
| 类别 | 说明 |
|---|---|
| 就绪 | 可以将数据库迁移到目标,无需查看任何条件。 |
| 准备好条件 | 数据库在迁移前有一些需要审查的条件,包括问题、警告、受影响的对象以及建议的修复措施。 |
显示为 有条件就绪 的目标可能包含需要修复的发现项。 打开目标详细信息,在规划迁移之前查看受影响的数据库和对象。
目标大小建议
当提供了规模估算信息时,报告可以包括:
- 建议的服务层级
- vCore 中建议的计算配置
- 建议的存储
- 数据库级大小设定(适用于 Azure SQL 数据库 目标)
- 针对特定目标的存储配置
- 基于评估中的计算、内存、存储和 I/O 输入的推荐原因
大小调整表示基于报告生成时可用的评估数据建议的最低目标配置。 在预配目标之前,根据预期的生产工作负荷、增长、复原能力和操作要求验证建议。
小窍门
查看建议详情,了解影响建议配置的规模因素。 根据可用的评估数据,这些因素可能包括计算、内存、存储、IOPS 和 I/O 吞吐量。
定价建议
当定价信息可用时,报告会为每个评估的目标提供每月估计成本。 估算值可能包括:
- 计算成本
- 存储成本
- 估计每月总成本
- 定价区域
- 货币
- 定价基础
- 可用的预留或节省计划价格
承诺定价可能会影响计算费用,而存储可以单独定价。 如果定价不适用于目标或定价选项,则报表将该值显示为不可用,而不是计算假定的折扣。
Important
评估报告中的价格是估计值。 实际Azure费用可能因使用情况、配置、区域、产品/服务、许可选择、折扣、税款和Azure定价更改而异。 使用Azure定价工具和组织的商业协议在预配之前验证成本。
选择目标
在进行预配之前,先比较评估结果中的各个目标。
评估完成后,在预配目标环境之前,请先比较可用的迁移目标。
对于每个目标,请查看:
- 迁移就绪情况
- 兼容性发现
- 估计每月成本
- 建议的最低目标配置
- 建议的服务层级
- 计算和存储建议
- 建议详细信息
报告突出显示了建议的迁移目标。 选择 “查看详细信息 ”以查看数据库就绪情况、评估结果、目标配置、大小调整信息和定价信息,然后再做出决定。
选择目标后:
选择“预配目标”以访问Azure SQL中心。
创建符合迁移要求的Azure SQL目标:
- Azure SQL 数据库
- Azure SQL 托管实例
- Azure VM 上的SQL Server
根据建议和生产要求验证预配的配置。
迁移数据
选择符合目标、停机时间要求和运营需求的迁移方法。
在“迁移”着陆页上,选择“迁移数据”。
SQL 托管实例 链接
使用SQL 托管实例链接在SQL Server和Azure SQL 托管实例之间连续复制数据。
对于需要最短停机时间的联机迁移,请考虑此方法。
备份和还原
使用 SSMS 备份和还原功能进行SQL Server迁移。
如果可以接受停机时间,并且源和目标支持所需的备份和还原路径,请考虑此方法。
Azure 数据库迁移服务
对支持的迁移方案使用Azure 数据库迁移服务。
当所选源和目标支持时,请使用脱机或联机迁移选项。
考虑Azure DMS 进行大规模或复杂的迁移。
监视迁移
通过相应的监控界面跟踪迁移进度。
跟踪迁移进度并完成切换:
- 对于 Azure DMS 迁移,请使用 Azure DMS 监视功能。
- 对于 SQL 托管实例链接迁移,请监控 SQL 托管实例链接。
SQL Server升级
除了Azure迁移,SSMS 还提供 database 兼容性升级功能。 升级评估确定与重大更改、行为更改和已弃用的功能相关的兼容性问题。 该报告还提供针对跨平台数据库迁移的功能对等性检查。
升级评估
- 从迁移到更高版本的 SQL Server 部分中选择升级评估。
- 允许该工具评估兼容性级别的升级准备情况。
- 查看报告中的重大更改和已弃用的功能。
数据库升级
- 从“迁移到更高版本的 SQL Server”部分选择“升级SQL Server”。
- 按照 升级数据库 步骤操作。
- 测试和完成兼容性级别升级。
最佳做法
在规划迁移之前进行评估。
查看目标级别和数据库级就绪情况。
将 准备条件 视为查看和处理相关发现的说明,而不是自动批准迁移。
根据代表性工作负荷数据、预期增长、复原能力和性能要求验证目标大小调整。
根据预期区域、许可模型、商业协议和当前Azure定价验证定价估算。
如果生产工作负荷需要最短的停机时间,并且该方法支持方案,请选择联机迁移方法。
在非生产环境中测试迁移和应用程序行为。
监视迁移期间和之后的性能。
在已获批准的变更窗口内安排切换。
迁移选项比较
| 迁移方法 | 主要目标 | 停机时间概况 | 在以下情况下考虑 |
|---|---|---|---|
| SQL 托管实例 链接 | Azure SQL 托管实例 | 最小 | 需要持续复制和在线切换。 |
| 备份和还原 | 支持的SQL Server和Azure SQL目标 | 中等到高 | 计划内中断是可接受的。 |
| 日志传送 | Azure SQL 托管实例在受支持的集成方案中 | 低等到中等 | 基于日志的迁移方法满足方案要求。 |
| Azure DMS | 支持的 Azure SQL 目标 | 取决于所选迁移模式 | 需要集中式迁移编排。 |
已知问题
评估失败
- 验证与源数据库的连接。
- 检查登录名是否具有评估所需的权限。
- 确保 SSMS 和迁移组件是最新的。
- 查看生成的报告中的评估错误。
尺寸或定价建议暂不可用
- 确认评估已成功完成。
- 检查报告中是否缺少评估或定价数据。
- 验证建议数据是否支持所选的目标、区域、货币和定价选项。
- 不要将无法获取的价格理解为免费推荐。
迁移性能缓慢
- 检查源与Azure之间的网络带宽和延迟。
- 查看目标尺寸建议。
- 验证计算、存储、IOPS 和吞吐量要求。
- 如果符合网络体系结构和迁移要求,请考虑Azure ExpressRoute。
切换验证失败
- 验证数据完整性检查。
- 查看应用程序与目标平台的兼容性。
- 查看未解决的条件和迁移错误。
- 在切换前,确认复制或同步状态正常。
Permissions
若要执行迁移,SQL Server实例登录名需要 sysadmin 权限。
若要在不运行或监视迁移的情况下运行评估,需要以下最低权限。
| 对象类型 | 数据库或对象名称 | 权限 |
|---|---|---|
| Server | CONNECT ANY DATABASE |
|
| Server | CONNECT SQL |
|
| Server | VIEW ANY DATABASE |
|
| Server | VIEW ANY DEFINITION |
|
| Server | VIEW SERVER STATE |
|
| Database | 所有数据库 | SELECT sys.sql_expression_dependencies |
| Database | msdb |
EXECUTE dbo.agent_datetime |
| Database | msdb |
SELECT dbo.syscategories |
| Database | msdb |
SELECT dbo.sysjobhistory |
| Database | msdb |
SELECT dbo.sysjobs |
| Database | msdb |
SELECT dbo.sysjobsteps |
| Database | msdb |
SELECT dbo.sysmail_account |
| Database | msdb |
SELECT dbo.sysmail_profile |
| Database | msdb |
SELECT dbo.sysmail_profileaccount |
| Database | msdb |
SELECT dbo.syssubsystems |
| Database | msdb |
DB DATA READER |
| Database | msdb |
EXECUTE |