项目设置(转换)(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() |