使用数据迁移助手进行 SQL Server 迁移评估

以下分步说明可帮助你执行首次评估,以便使用数据迁移助手迁移到本地 SQL Server、在 Azure VM 上运行的 SQL Server 或 Azure SQL 数据库。

数据迁移助手 v5.0 在应用程序代码中引入了对分析数据库连接和嵌入式 SQL 查询的支持。 有关详细信息,请参阅博客文章使用数据迁移助手评估应用程序的数据访问层

备注

如果要在 VMware 上大规模评估整个SQL Server数据资产,请使用 Azure Migrate 获取Azure SQL部署建议、目标大小调整和每月估算。

创建评估

  1. 选择“新建(+)”图标,然后选择“评估”项目类型。

  2. 设置源和目标服务器类型。

    如果要将本地 SQL Server 实例升级到新式本地 SQL Server 实例或 Azure VM 上托管的 SQL Server,请将源和目标服务器类型设置为 SQL Server。 如果要迁移到 Azure SQL 数据库,请将目标服务器类型设置为 Azure SQL 数据库。

  3. 单击“创建”。

    创建评估

选择评估选项

  1. 选择计划迁移到的目标 SQL Server 版本。

  2. 选择报表类型。

    在评估源 SQL Server 实例以迁移到本地 SQL Server 或 Azure VM 目标上托管的 SQL Server 时,可以选择以下一种或两种评估报告类型:

    • 兼容性问题
    • 新功能的建议

    为 SQL Server 目标选择评估报告类型

    在评估源 SQL Server 实例以迁移到 Azure SQL 数据库时,可以选择以下一种或两种评估报告类型:

    • 检查数据库兼容性
    • 检查功能奇偶校验

    为 SQL 数据库目标选择评估报告类型

添加数据库和扩展事件跟踪以进行评估

  1. 选择“添加源”以打开连接浮出控件菜单。

  2. 输入 SQL Server 实例名称,选择身份验证类型,设置正确的连接属性,然后选择“连接”。

  3. 选择要评估的数据库,然后选择“添加”。

    注意

    你可以移除多个数据库,方式是按住 Shift 或 Ctrl 键将其选中,然后单击“移除源”。 还可以选择“添加源”,从多个 SQL Server 实例添加数据库。

  4. 如果有任何临时或动态 SQL 查询或任何通过应用程序数据层启动的 DML 语句,请输入放置所有扩展事件会话文件的文件夹路径,收集这些文件是为了捕获源 SQL Server 上的工作负载。

    以下示例显示如何在源 SQL Server 上创建扩展事件会话以捕获应用程序数据层工作负载。 捕获表示峰值工作负载的时间段内的工作负载。

    DROP EVENT SESSION [DatalayerSession] ON SERVER
    go
    CREATE EVENT SESSION [DatalayerSession] ON SERVER  
    ADD EVENT sqlserver.sql_batch_completed( 
        ACTION (sqlserver.sql_text,sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_id))
    ADD TARGET package0.asynchronous_file_target(SET filename=N'C:\temp\Demos\DataLayerAppassess\DatalayerSession.xel')  
    WITH (MAX_MEMORY=2048 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=3 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
    go
    ---Start the session
    ALTER EVENT SESSION [DatalayerSession]
          ON SERVER
        STATE = START;
    ---Wait for few minutes
    
    ---Query events
    
        SELECT 
        object_name,
        CAST(event_data as xml) as event_data,
        file_name, 
        file_offset
    FROM sys.fn_xe_file_target_read_file('C:\temp\Demos\DataLayerAppassess\DatalayerSession*xel', 
                'C:\\temp\\Demos\\DataLayerAppassess\\DatalayerSession*xem', 
                null,
                null)
    ---Stop the session after capturing the peak load.
    ALTER EVENT SESSION [DatalayerSession]
          ON SERVER
        STATE = STOP;
    
        go
    
  5. 单击“下一步”,以开始评估。

    添加源并开始评估

注意

可以并发运行多个评估,然后打开“所有评估”页来查看评估的状态。

查看结果

评估的持续时间取决于添加的数据库数和每个数据库的架构大小。 每个数据库的结果一旦生成,便会立即显示。

  1. 选择已完成评估的数据库,然后使用切换器在“兼容性问题”和“功能建议”之间切换。

  2. 查看在“选项”页面上选择的目标 SQL Server 版本所支持的所有兼容性级别的兼容性问题。

可通过分析受影响的对象、其详细信息以及针对“中断性变更”、“行为更改”和“已弃用的功能”下确定的每个问题的潜在修复方法,查看兼容性问题。

查看评估结果

同样,可以查看“性能”、“存储”和“安全”方面的功能建议。

功能建议涵盖了各种功能,例如内存中 OLTP、列存储、Always Encrypted、动态数据掩码和透明数据加密。

查看功能建议

对于 Azure SQL 数据库,评估提供迁移阻塞性问题和功能奇偶一致性问题。 通过选择特定选项查看这两个类别的结果。

  • “SQL Server 功能奇偶一致性”类别在 Azure 中提供了一套全面的建议、Azure 中可用的替代方法和缓解步骤。 它可以帮助你在迁移项目中计划这项工作。

    查看 SQL Server 功能奇偶一致性信息

  • “兼容性问题”类别提供部分支持或不支持的功能,这些功能会阻止将本地 SQL Server 数据库迁移到 Azure SQL 数据库。 然后它会提供一些建议来帮助你解决这些问题。

    查看兼容性问题

评估数据资产的目标就绪性

如果希望将这些评估进一步扩展到整个数据资产并查找 SQL Server 实例和数据库的相关就绪信息,以迁移到 Azure SQL 数据库,请选择“上传到 Azure Migrate”将结果上传到 Azure Migrate 中心。

这样做可以让你查看 Azure Migrate 中心项目的合并结果。

可在此处获取有关目标就绪性评估的详细分步指南。

将结果上传到 Azure Migrate

导出结果

在所有数据库完成评估后,选择“导出报告”将结果导出为 JSON 文件或 CSV 文件。 然后,可以自行分析数据。

保存和加载评估

除了导出评估结果外,还可将评估详细信息保存到文件,然后加载评估文件供日后查看。 有关详细信息,请参阅使用数据迁移助手保存和加载评估一文。