使用数据迁移助手进行 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. 单击“创建”。

    Create an assessment

选择评估选项

  1. 选择要迁移到其中的目标 SQL Server 版本。

  2. 选择报表类型。

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

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

    Select an assessment report type for SQL Server target

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

    • 检查数据库兼容性
    • 检查功能奇偶一致性

    Select assessment report type for SQL Database target

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

  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. 单击“下一步”以开始评估。

    Add sources and start assessment

注意

你可以通过打开“所有评估”页同时运行多个评估并查看评估的状态。

查看结果

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

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

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

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

View assessment results

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

功能建议涵盖了不同类型的功能,例如内存中 OLTP、列存储、Always Encrypted、动态数据掩码以及透明数据加密。

View feature recommendations

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

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

    View information for SQL Server feature parity

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

    View compatibility issues

对数据资产的目标就绪情况进行评估

如果要进一步将这些评估扩展到整个数据资产,并找到要迁移到 Azure SQL 数据库的 SQL Server 实例和数据库的相对就绪情况,则请选择“上传到 Azure Migrate”来将结果上传到 Azure Migrate 中心。

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

此处提供了目标就绪情况评估的详细分步指南。

Upload results to Azure Migrate

导出结果

在所有数据库都完成评估后,选择“导出报表”,以将结果导出到 JSON 文件或 CSV 文件。 然后,你可以在方便时分析数据。

保存和加载评估

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