[資料庫轉移]MySQL、Oracle、DB2等資料庫結構及資料無痛轉移至SQL Server

有遇過專案要轉移資料庫嗎?
從MySQL、Oracle etc.移轉至MSSQL是不是不太了解要怎麼做呢?

別擔心,好心的微軟大大就有提供好用的移轉工具SSMA
非常的簡單好用,接下來將會一步一步說明使用步驟,

範例以MySQL移轉至MSSQL為主
注意:用戶端電腦需要安裝ODBC或者直接完整安裝MSSQL及MySQL Client端也可以,
反正就是要確定電腦可以正常使用MySQL及MSSQL。

首先先下載合適的小幫手(此處以MySQL為主),

下載安裝完成後開啟SSMA接著新增檔案,

這裡會要求你選擇SQL Server版本,請選擇本地安裝的版本,
如果使用的是Azure也請選擇相對應的選項。
選擇完成後就可以開始進行連線設定了,
首先先選擇「Connect to MySQL」,並將Server Name、Port、User Name、Password都設定好後按下Connect,

選擇需要要轉移的DataBase
完成後會得到下圖,在這個時候你就可以將你要轉移的項目勾選起來,
如果是整個DataBase都要轉移那就直接將DataBase整個勾選即可,
就像下圖:

接下來選擇「Connect to SQL Server」基本上設定都與MySQL無異,
需要注意的項目如下:
1. DataBase如果不存在SQL Server的話,會通知你並自動建立,此時務必要選擇「是(Y)」,否則將無法選擇指定的DataBase進行轉移
2. Trust Server Certificate請務必勾選起來,強制信任伺服器端的憑證,否則會出現無法信任遠端憑證錯誤

直接選擇「Connect」​即可完成SQL Server連線。

完成後一樣先勾起要被轉移的DataBase即可。

 

到這裡其實已經可以成功轉移資料庫結構了,
但畢竟是兩種不一樣的資料庫總會有地方不一樣,
例如在MySQL內型別為Text轉移到MSSQL要變成nvarchar(max)該怎麼辦呢?

這時候就可以透過Type Map來做轉換了,
這裡示範將MySQL TINYINT(1)轉成SQL SERVER BIT

設定完後點選「Apply」即可。

 

前面這麼多設定終於可以進入轉移的正題了,
對著要轉移的DataBase選擇右鍵,


1. 「Convert Schema」 => 轉移資料結構
2. 「Migrate Data」 => 轉移資料
所以我們要先轉移資料結構再轉移資料哦!
 


轉移完成後,就在SQL Server Metadata Explorer可以檢查一下是否成功轉移,
確認型別等相關資料都沒問題後對著DataBase選擇「Synchronize with Database」,
將這些轉移後的變更通通同步到SQL Server上。

到這一步就已經完成了資料及結構的轉移囉!

 

是不是很簡單?
「是不是很簡單 鮑伯魯斯」的圖片搜尋結果
















如上述有誤,煩請指教。