2011-07-18 46 views
6

我有一個MySQL數據庫的完整數據的,我需要保持,但遷移到SQL Server 2008的MySQL到SQL Server遷移

我知道端到端其中數據應該去,桌到桌,但我沒有想法如何去移動數據。我瀏覽過網頁,但似乎有「解決方案」,你必須下載並運行。如果可能的話,我寧願自己寫一些腳本或代碼。

任何人都可以推薦最好的方法嗎?

回答

6

您有幾種選擇在這裏:

  • 上的SQL Server端,您可以設置使用分貝東西叫做linked server你的舊版本的MySQL連接。這將允許您爲從mysql表返回數據的sql server編寫sql代碼。您可以使用它來構建INSERT或SELECT INTO語句。
  • 您可以編寫mysql查詢以將您的數據導出爲csv,然後使用sql server的BULK INSERT功能高效地導入csv數據。
  • 您可以使用Sql Server集成服務來設置從mysql移動數據。

無論哪個選擇,非數據工件,如索引,外鍵,觸發器,存儲過程,並安全將不得不手動移動。

+0

+1鏈接的服務器選項可能是我如何處理它。在SQL Server計算機上,您需要一個用於MySQL的ODBC連接器。 –

0

我之前做過一次,前一段時間。首先你可以對夫婦使用ODBC MySQL連接

http://dev.mysql.com/downloads/connector/

連接成功後,你的MSSQL服務器的MySQL服務器,你可以寫你的數據庫的程序,你會如果兩個MSSQL數據庫的。可能最簡單的方法是編寫一些sql批處理腳本,包括一個光標,您可以在表中查看每一行的每一行,並根據字段確定將來需要該字段的位置。光標的

例如:http://www.mssqltips.com/tip.asp?tip=1599

如果你決定使用光標,你可以用參數發揮,以提高性能。我特別記得FORWARD_ONLY參數給予了很大的提升。

0

您可以使用自帶的導入/導出嚮導很簡單與SQL Server標準版。

使用ODBC數據源從MySQL中選擇'數據源'。注意:您需要先安裝MySQL的ODBC驅動程序(ODBC Connector)。然後,選擇您的SQL Server目標。選擇所有表格,並將其啓動。您將需要添加主鍵和外鍵,並手動添加索引。

更多的自動化手段將通過使用SQL Server Migration Assistant for MySQL,也是免費的。它具有爲您自動重新創建關係和索引的好處。可能是你最好的選擇。