映射 MySQL 和 SQL Server 数据类型 (MySQLToSQL)

MySQL 数据库类型不同于 SQL Server 或 Azure SQL 数据库类型。 将 MySQL 数据库对象转换为 SQL Server 或 SQL Azure 对象时,必须指定如何将数据类型从 MySQL 映射到 SQL Server 或 SQL Azure。 可以接受默认数据类型映射,也可以自定义映射,如以下过程所示。

默认映射

SSMA 具有一组默认的数据类型映射。 有关默认映射的列表,请参阅“项目设置”(类型映射)(MySQLToSQL)。

类型映射继承

可以在项目级别、对象类别级别(如所有存储过程)或对象级别自定义类型映射。 除非设置在较低级别被重写,否则这些设置将从较高级别继承。 例如,如果在项目级别将 smallint 映射到 int ,则项目中的所有对象都将使用此映射,除非在对象或类别级别自定义映射。

在 SSMA 中查看 “类型映射 ”选项卡时,背景经过颜色编码以显示继承的类型映射。 对于任何继承的类型映射,类型映射的背景为黄色,对于在当前级别指定的任何映射为白色。

自定义数据类型映射

  • 映射数据类型:

    以下过程演示如何在项目、数据库或数据库对象级别映射数据类型:

    1. 若要自定义整个项目的数据类型映射,请打开“ 项目设置” 对话框。 在“工具”菜单上,选择“ 项目设置”。

      在左窗格中,选择“ 类型映射”。 类型映射图表和按钮显示在右窗格中。

    2. 若要在数据库或表级别自定义数据类型映射,请在 MySQL 元数据资源管理器中选择数据库或表。 在 MySQL 元数据资源管理器中,选择要自定义的文件夹或对象。

      在右窗格中,单击“ 类型映射”。

  • 若要添加新映射,请执行以下作:

    1. 在“类型映射”窗格中,单击“ 添加 ”。

    2. 在“新建类型映射”对话框中的 “源类型”下,选择要映射的 MySQL 数据类型。

    3. 如果类型需要长度,请通过选中“”和“”复选框来指定映射的最小和最大数据长度,然后输入值。

    4. 这样,便可以为相同数据类型的较小值和较大值自定义数据映射。 在 “目标类型”下,选择目标 SQL Server 或 SQL Azure 数据类型。

      1. 某些类型需要目标数据类型长度。 如果需要,请在“ 替换为” 框中输入新数据长度,然后单击“ 确定”。

      2. 某些类型需要目标数据类型的 精度刻度。 如果需要,请在 “替换为”框中输入新的精度和比例,然后单击“确定”

  • 若要编辑类型映射,请执行以下作:

    1. 在“类型映射”窗格中,单击“ 编辑”。

    2. 在“类型映射列表”对话框中的 “源类型”下,选择要映射的 MySQL 数据类型。

    3. 如果类型需要长度,请通过选中“”和“”复选框来指定映射的最小和最大数据长度,然后输入值。

    这样,便可以为相同数据类型的较小值和较大值自定义数据映射。 在 “目标类型”下,选择目标 SQL Server 或 SQL Azure 数据类型。

    • 某些类型需要目标数据类型长度。 如果需要,请在“ 替换为” 框中输入新数据长度,然后单击“ 确定”。

    • 某些类型需要目标数据类型 精度小数位数。 如果需要,请在 “替换为” 框中输入新的精度和小数位数,然后单击“ 确定”。

  • 若要删除数据类型映射,请执行以下作:

    1. 在“类型映射”窗格中,选择类型映射列表中的行,其中包含要删除的数据类型映射。

    2. 单击 “删除”

下一步

迁移过程的下一步是 创建评估报告将 MySQL 数据库对象转换为 SQL Server 或 SQL Azure 语法。 如果创建报表,则评估期间会自动转换 MySQL 对象。

另请参阅

将 MySQL 数据库迁移到 SQL Server - Azure SQL 数据库 (MySQLToSQL)