映射 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)