项目设置(转换)(MySQLToSQL)

“项目设置”对话框的“转换”页面包含的设置,用于自定义 SSMA 如何将 MySQL 语法转换为 SQL Server 或 SQL Azure 语法。

“项目设置”和“默认项目设置”对话框中提供了“转换”窗格:

  • 使用“默认项目设置”对话框为所有项目设置配置选项。 要访问转换设置,请在“工具”菜单上选择“默认项目设置”,从“迁移目标版本”下拉列表中选择需要查看/更改设置的迁移项目类型,单击左侧窗格底部的“常规”,然后选择“转换”

  • 要指定当前项目的设置,请在“工具”菜单上单击“项目设置”,然后单击左侧窗格底部的“常规”,然后单击“转换”

选项

COLLATE 子句

Term 定义
显式 COLLATE 子句转换 显式 COLLATE 子句转换选项指定如何在 MySQL 代码中转换显式 COLLATE 子句。 可能的选项:忽略并标记警告/生成错误

默认模式:忽略并标记警告

乐观模式:忽略并标记警告

完整模式:忽略并标记警告

列约束

Term 定义
为 ENUM 数据类型的列生成约束 如果 MySQL 表中不存在 ENUM 数据类型的列,则为 SQL Server 或 SQL Azure 表中的列生成约束。 如果是,则 ENUM 数据类型的所有转换列都将附带 CHECK 约束来控制该值。

默认模式:否

乐观模式:否

完整模式:是
为 SET 数据类型的列生成约束 如果 MySQL 表中不存在 SET 数据类型的列,则为 SQL Server 或 SQL Azure 表中的列生成约束。 如果是,则 SET 数据类型的所有转换列都将附带 CHECK 约束来控制该值。

默认模式:否

乐观模式:否

完整模式:是
为 UNSIGNED 数值数据类型列生成约束 将 CHECK for non-negative 值添加到 UNSIGNED 数值数据类型列。

默认模式:否

乐观模式:否

完整模式:是
为 YEAR 数据类型列生成约束 如果 MySQL 表中不存在 YEAR 数据类型列,则为 SQL Server 或 SQL Azure 表中的列生成约束。 如果是,则 YEAR 数据类型的所有转换列都将附带 CHECK 约束来控制该值。

默认模式:否

乐观模式:否

完整模式:是

数据类型

Term 定义
ENUM 数据类型转换 指定如何将 MySQL ENUM 数据类型转换为 NVARCHAR 或转换为数值

默认模式:转换为 NVARCHAR

乐观模式:转换为 NVARCHAR

完整模式:转换为 NVARCHAR
SET 数据类型转换 指定应如何转换 MySQL SET 数据类型,将其转换为 NVARCHAR(L)/转换为 BINARY(L)

默认模式:转换为 NVARCHAR(L)

乐观模式:转换为 NVARCHAR(L)

完整模式:转换为 NVARCHAR(L)

常规

Term 定义
INSERT 和 REPLACE 中无 DEFAULT 值的列 如果为“是”,对于引用表使用了除 MyISAM 和 InnoDb 以外的存储引擎的所有语句,都应使用警告转换消息进行标记。

默认模式:添加到列列表

乐观模式:添加到列列表

完整模式:添加到列列表
除以零转换生成 指定是否在没有 ERROR_FOR_DIVISION_BY_ZERO 行为的情况下模拟 MySQL。

默认模式:错误

乐观模式:错误

完整模式:NULL
IN 运算符 指定如何转换 MySQL IN 运算符。

默认模式:始终转换为 IN

乐观模式:始终转换为 IN

完整模式:如有必要,请展开
MySQL 函数转换 指定如何转换 MySQL 标准函数。

默认模式:乐观

乐观模式:乐观

完整模式:精确
不支持的存储引擎 如果为“是”,对于引用表使用了除 MyISAM 和 InnoDb 以外的存储引擎的所有语句,都应使用警告转换消息进行标记。

默认模式:否

乐观模式:否

完整模式:是
禁止生成 ROWID 辅助列 如果“是”,则禁止在目标表上创建 ROWD 辅助列。 可能会影响某些结构的迁移。

默认模式:否

乐观模式:否

完整模式:否
TRUNCATE 语句转换 指定如何转换 TRUNCATE 语句。

默认模式:TRUNCATE

乐观模式:TRUNCATE

完整模式:TRUNCATE

杂项

Term 定义
默认架构映射 制定如何将 MySQL 数据库映射到 SQL Server 架构。

默认模式:数据库到数据库

乐观模式:数据库到数据库

完整模式:数据库到数据库

过程和功能

Term 定义
默认函数转换 指定是否应将函数默认转换为 T-SQL 函数或存储过程。

默认模式:转换为函数

乐观模式:转换为函数

完整模式:转换为函数
生成 SET XACT_ABORT ON 指定是否需要将 SET XACT_ABORT ON 添加到转换过程或触发器的开头。

默认模式:是

乐观模式:是

完整模式:是
生成 SET NOCOUNT ON 指定是否需要将 SET NOCOUNT ON 添加到转换过程或触发器的开头。

默认模式:是

乐观模式:是

完整模式:是

空间数据类型

Term 定义
空间索引的默认边界框 {XMAX|XMIN|YMAX|YMIN} 定义在空间索引中使用的边界框的 {XMAX|XMIN|YMAX|YMIN} 参数的默认值。

默认模式

XMAX:100

XMIN:0

YMAX:100

YMIN: 0

乐观模式

XMAX:100

XMIN:0

YMAX:100

YMIN: 0

完整模式

XMAX:100

XMIN:0

YMAX:100

YMIN: 0
空间索引的默认网格密度 定义在空间索引中使用的网格密度的 LEVEL_1、LEVEL_2、LEVEL_3 和 LEVEL_4 的默认值。

默认模式

LEVEL_1:默认值

LEVEL_2:默认值

LEVEL_3:默认值

LEVEL_4:默认值

乐观模式

LEVEL_1:默认值

LEVEL_2:默认值

LEVEL_3:默认值

LEVEL_4:默认值

完整模式

LEVEL_1:默认值

LEVEL_2:默认值

LEVEL_3:默认值

LEVEL_4:默认值

事务

Term 定义
非事务性表 指定是否应使用警告转换消息标记对不支持事务的表的所有引用。

默认模式:否

乐观模式:否

完整模式:是
事务隔离级别 指定应将哪个事务隔离级别用于新事务。

默认模式:默认

乐观模式:默认

完整模式:可重复读取

值控件

Term 定义
字符到数字的转换 指定如何处理从 Character 数据类型到数值数据类型的隐式和显式转换。

默认模式:乐观

乐观模式:乐观

完整模式:精确
控制 UNSIGNED 数值 控制如何将值分配给 UNSIGNED 数值变量和参数。

默认模式:否

乐观模式:否

完整模式:是
控制 UNSIGNED 减法 修改插入到 UNSIGNED 数据类型的表列中的负值。

默认模式:按原样转换

乐观模式:按原样转换

完整模式:标记为警告
与 Binary 数据类型之间的转换 指定如何处理二进制数据类型的隐式和显式转换。

默认模式:乐观

乐观模式:乐观

完整模式:精确
转换为日期/时间数据类型 指定如何处理到日期/时间数据类型的隐式和显式转换。

默认模式:模拟 MySQL 格式

乐观模式:使用 SQL Server 格式

完整模式:模拟 MySQL 格式
精度超过 38 的数值文字 指定如何转换精度超过 38 的数值文字。

默认模式:如果可能,则舍入

乐观模式:如果可能,则舍入

完整模式:如果可能,则舍入
NOT NULL 列中的 Zero-date 指定如何处理零日期、日期零或无效日期/时间值的 NOT NULL 列的赋值。

默认模式:GETDATE()

乐观模式:GETDATE()

完整模式:GETDATE()

另请参阅

用户界面参考 (MySQLToSQL)