了解数据迁移助手

已完成

数据迁移助手(DMA)识别可能影响新版 SQL Server 或 Azure SQL 中数据库功能的兼容性问题,从而促进数据库迁移。 DMA 也有助于诊断可能会阻止升级过程或由于重大更改而需要修改现有脚本或应用程序的问题。

此外,它还允许将数据库架构、数据、用户、服务器角色、SQL Server 和 Windows 登录名无缝传输到托管在本地的 SQL Server 实例或可从本地网络访问的 Azure 虚拟机(VM)上。

数据迁移助手工具和新的迁移项目选项的屏幕截图。

注意

虽然数据库迁移助手是一个有用的工具,但建议使用 Azure 数据库迁移服务 进行大型迁移和增强的整体体验。

提示

若要了解如何评估要迁移到 Azure SQL 的本地 SQL Server 实例,以及如何发现目标 SQL Server 平台中数据库可以在升级后从中受益的新功能,请参阅 评估 SQL Server 数据库以迁移到 Azure SQL 模块

迁移 SQL Server 登录

数据迁移助手允许将基于 Windows 主体的登录名或 SQL Server 登录名迁移到 Azure 虚拟机上的 SQL Server。 但是,它目前不支持与独立安全证书、非对称密钥或凭据关联的登录名。

sa 登录名和名称用双哈希标记 (##) 括起来的服务器主体不会移动,因为它们只供内部使用。 默认情况下,选择所有限定登录名进行迁移,但如果需要,可以选择特定的登录名。

在迁移期间,还会移动用户定义的服务器角色和权限,并将角色所有者设置为sa主体。 迁移后,该工具会将权限映射到目标 SQL Server 的安全对象,并且仅在登录名已存在时迁移其他权限。 必须查看迁移结果并考虑任何推荐的迁移后操作。

微调配置

可以在 dma.exe.config 文件中更改配置值,从而微调某些数据迁移助手行为。

数据迁移助手的 dma.exe.config 文件可以位于计算机的以下文件夹中:

  • 桌面应用程序: %ProgramFiles%\Microsoft Data Migration Assistant\dma.exe.config

  • Command-Line 实用工具: %ProgramFiles%\Microsoft Data Migration Assistant\dmacmd.exe.config

并行数据库迁移

数据迁移助手会并行迁移多个数据库。 从数据迁移助手 v2.0 开始,可以在处理大量数据库时防止超时失败,调整parallelDatabases配置值。

<advisorGroup>
<workflowSettings>
<migration parallelDatabases="8″ />
</workflowSettings>
</advisorGroup>

连接超时值

可以在评估或迁移期间调整源实例和目标实例的 SQL 连接超时。 默认值为 15 秒。

<appSettings>
<add key="ConnectionTimeout" value="15" />
</appSettings>

有关更多选项,请参阅 “配置数据迁移助手的设置”。

运行数据迁移助手的最佳做法

使用数据迁移助手时,请考虑以下最佳做法:

  • 避免直接在 SQL Server 主机上安装并运行数据迁移助手。

  • 在非高峰时间对生产数据库运行评估。 如果可能,请在具有生产数据库最新副本的测试环境中运行它。

  • 单独的兼容性问题和新功能建议评估以减少评估持续时间。

  • 在非高峰时间执行服务器迁移。

  • 对于数据库迁移,请使用源服务器和目标服务器都可访问的单个共享位置,从而避免不必要的复制操作。 提供单个位置时,数据迁移助手会绕过复制操作。

  • 为了防止迁移失败,请确保对共享文件夹具有正确的权限。

  • 连接到源服务器和目标服务器时,启用加密连接。