[專案設定] 對話方塊的 [轉換] 頁面,包含自訂 SSMA 如何將 MySQL 語法 轉換成 SQL Server 或 SQL Azure 語法的設定。
[轉換] 窗格位於 [專案設定] 和 [預設專案設定] 對話方塊中。
使用 [預設專案設定] 對話方塊來設定所有專案的組態選項。 要進入轉換設定,請在工具選單中選擇預設Project設定,從遷移目標版本下拉選單選擇需要查看/更改設定的遷移project類型,點選左側窗格底部的「一般」,然後選擇轉換。
若要指定目前專案的設定,請在 [工具] 功能表上按一下 [專案設定],接著按一下左窗格底部的 [一般],然後按一下 [轉換]。
選項
定序子句
| 字詞 | 定義 |
|---|---|
| 明確 COLLATE 子句轉換 | 明確 COLLATE 子句轉換選項指定如何在 MySQL 程式碼中轉換明確 COLLATE 子句。 可能的選項:忽略並標示為警告/產生錯誤 預設模式:忽略並標示為警告 開放式模式:忽略並標示為警告 完整模式:忽略並標示為警告 |
資料行條件約束
| 字詞 | 定義 |
|---|---|
| 為 ENUM 資料類型的資料行產生約束條件 | 如果 MySQL 資料表中沒有 ENUM 資料類型的資料行,則會在 SQL Server 或 SQL Azure 資料表中針對該資料行產生條件約束。 如果是,則所有轉換後的 ENUM 資料類型資料行都會附帶用於限制其值的 CHECK 約束。 預設模式:否 開放式模式:否 完整模式:是 |
| 為資料型態 SET 欄位產生限制 | 若 MySQL 資料表中不存在資料型態欄位,則為 SQL Server 或 SQL Azure 資料表中的欄位SET產生限制。 若是,所有轉換為 SET 資料類型的欄位都會加上 CHECK 條件約束,以控制其值。 預設模式:否 開放式模式:否 完整模式:是 |
| 為 UNSIGNED 數值資料類型的資料行產生限制式 | 針對非負數的值,將 CHECK 新增至 UNSIGNED 數值資料類型的資料行。 預設模式:否 開放式模式:否 完整模式:是 |
| 為 YEAR 資料類型資料行產生約束 | 如果 MySQL 資料表中沒有 YEAR 資料類型的資料行,則會在 SQL Server 或 SQL Azure 資料表中針對該資料行產生條件約束。 如果是,則所有已轉換為 YEAR 資料類型的資料行都會附帶用來限制其值的 CHECK 約束。 預設模式:否 開放式模式:否 完整模式:是 |
資料類型
| 字詞 | 定義 |
|---|---|
| ENUM 資料類型轉換 | 指定 MySQL ENUM 資料類型的轉換方式:「轉換成 NVARCHAR」或「轉換成數值」 預設模式:轉換成 NVARCHAR 樂觀模式:轉換為 NVARCHAR 完整模式:轉換為 NVARCHAR |
| SET 資料型態轉換 | 指定如何轉換 MySQL SET 資料型別,轉換為 NVARCHAR(L)/轉換為 BINARY(L) 預設模式:轉換成 NVARCHAR(L) 樂觀模式:轉換為 NVARCHAR(L) 完整模式:轉換為 NVARCHAR(L) |
泛型
| 字詞 | 定義 |
|---|---|
| 欄位中沒有 DEFAULT 值與 INSERT 替換 | 如果為「是」,則所有參照使用 MyISAM 和 InnoDb 以外儲存引擎之資料表的陳述式,都應標示警告轉換訊息。 預設模式:新增至資料行清單 樂觀模式:新增至資料行清單 完整模式:新增至資料行清單 |
| 除以零轉換會產生 | 指定是否要在沒有 ERROR_FOR_DIVISION_BY_ZERO 行為的情況下模擬 MySQL。 預設模式:Error 樂觀模式:錯誤 完整模式:NULL |
| IN 運算子 | 指定如何轉換 MySQL IN 運算子。 預設模式:一律轉換為 IN 樂觀模式:一律轉換為 IN 完整模式:視需要展開 |
| MySQL 函式轉換 | 指定如何轉換 MySQL 標準函式。 預設模式:樂觀 樂觀模式:樂觀 完整模式:精確 |
| 不支援的儲存引擎 | 如果為「是」,則所有參照使用 MyISAM 和 InnoDb 以外儲存引擎之資料表的陳述式,都應標示警告轉換訊息。 預設模式:否 開放式模式:否 完整模式:是 |
| 隱藏 ROWID 輔助資料行產生 | 如果為「是」,此設定會禁止在目標資料表上建立 ROWID 輔助資料行。 可能會影響某些結構的移轉。 預設模式:否 開放式模式:否 完整模式:否 |
| TRUNCATE 指令轉換 | 指定如何轉換 TRUNCATE 陳述式。 預設模式:TRUNCATE 樂觀模式:TRUNCATE 完整模式:TRUNCATE |
其他
| 字詞 | 定義 |
|---|---|
| 預設結構描述對應 | 指定如何將 MySQL 資料庫對應至 SQL Server 結構描述。 預設模式:資料庫對資料庫 樂觀模式:資料庫對資料庫 完整模式:資料庫對資料庫 |
程序及函數
| 字詞 | 定義 |
|---|---|
| 預設函式轉換 | 指定函式是否應預設為轉換成 T-SQL 函式或預存程序。 預設模式:轉換成函式 樂觀模式:轉換為函式 完整模式:轉換成函式 |
| 產生 SET XACT_ABORT ON | 指定是否 SET XACT_ABORT 需要在轉換程序或觸發器的開頭加上 ON。 預設模式:是 開放式模式:是 完整模式:是 |
| 產生 SET NOCOUNT ON | 指定是否 SET NOCOUNT 需要在轉換程序或觸發器的開頭加上 ON。 預設模式:是 開放式模式:是 完整模式:是 |
空間資料類型
| 字詞 | 定義 |
|---|---|
| 空間索引的預設週框方塊 {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:預設 |
交易
| 字詞 | 定義 |
|---|---|
| 非交易式資料表 | 指定是否應將所有對不支援交易之資料表的參考標記為轉換警告訊息。 預設模式:否 開放式模式:否 完整模式:是 |
| 交易隔離等級 | 指定新交易應使用的交易隔離等級。 預設模式:預設 開放式模式:預設 完整模式:可重複讀取 |
值控制
| 字詞 | 定義 |
|---|---|
| 字元到數值的轉換 | 指定如何處理從 Character 資料類型到數值數據類型的隱含和明確轉換。 預設模式:樂觀 樂觀模式:樂觀 完整模式:精確 |
| 控管 UNSIGNED 數值 | 控制將值指派給 UNSIGNED 數值變數和參數。 預設模式:否 開放式模式:否 完整模式:是 |
| 控制無符號減法 | 修改插入於未簽名資料型態資料表欄位的負值。 預設模式:依原樣轉換 樂觀模式:按原樣轉換 完整模式:加上警告標示 |
| 在二進位資料類型之間來回轉換 | 指定如何處理從 Binary 資料類型進行的隱式和顯式轉換。 預設模式:樂觀 樂觀模式:樂觀 完整模式:精確 |
| 轉換成日期/時間資料類型 | 指定如何處理對日期/時間數據類型的隱含和明確轉換。 預設模式:模擬 MySQL 格式 樂觀模式:使用 SQL Server 格式 完整模式:模擬 MySQL 格式 |
| 精度超過 38 的數值字面值 | 指定如何轉換精確度超過 38 的數值常值。 預設模式:若可行則四捨五入 樂觀模式:可行時四捨五入 完整模式:可行時四捨五入 |
| NOT NULL 資料行中的零日期 | 指定如何處理將零日期、日期中含零或無效的日期/時間值指定給 NOT NULL 欄位的情況。 預設模式:GETDATE () 樂觀模式: GETDATE() 完整模式:GETDATE () |