2008-11-20 35 views

回答

0

如果你使用phpMyAdmin,你可以運行整個數據庫導出。它將生成一長串SQL命令來創建所有模式並將所有數據插入其各自的位置。

也可以從命令行執行所有這些操作。

如果您有大量數據,您可能希望將所有數據全部分開,每個表的單個SQL腳本以及每個表的插入。

然後在M $ SQL端創建數據庫,使用SQL查詢分析器或SQL Management Studio連接它,將SQL腳本複製粘貼到窗口中並執行。

很可能你的大部分MySQL代碼只能在M $ SQL中工作。如果遇到問題,可以在MySQL導出上設置兼容級別,以更好地適應目標環境。

如果你只是在做數據,只要模式匹配,你所需要的腳本就是數據導入/導出,不要腳本模式和一定不要腳本滴!

編輯:如果你必須做任何轉換,我相信你可以導出到M $ Excel,當然要CSV,然後在M $ SQL導入做你的映射等。

+0

你確保所有的MySQL數據類型與Mssql中數據類型兼容??? – Fred 2008-11-20 16:50:53

0

我的團隊最近做了與之相反的SqlServer到MySql,使用MySql遷移工具包(用於將Fogbugz安裝從Windows遷移到Linux),它工作得非常好。我們遇到了一個名爲MSSQL2MySql的工具問題,但效果不佳。我不確定遷移工具包是否處理相反的方向,但可能值得一看。

8
-- Create Link Server 

EXEC master.dbo.sp_addlinkedserver 
@server = N'MYSQL', 
@srvproduct=N'MySQL', 
@provider=N'MSDASQL', 
@provstr=N'DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost; _ 
    DATABASE=tigerdb; USER=root; PASSWORD=hejsan; OPTION=3' 

-- Import Data 

SELECT * INTO testMySQL.dbo.shoutbox 
FROM openquery(MYSQL, 'SELECT * FROM tigerdb.shoutbox') 
+0

我用過這個。它適用於創建基本表模式並複製行(這非常好)。雖然我沒有看到我的索引或鍵盤。我猜猜一些數據類型可能會失敗,但迄今爲止這麼好。謝謝! – 2012-02-14 16:18:42

+0

我遇到了這種方法的各種錯誤。例如,長度大於4000的varchar列要求我使用ANSI驅動程序,否則它會嘗試創建nvarchar列並失敗,因爲它的最大指定長度是4000.此外,不配置非常特定的選項,例如「返回SQL NULL數據爲零日期「和」啓用SQL_AUTO_IS_NULL「和」將最短日期綁定爲零日期「,則會出現更多錯誤。由於沒有相關選項可供配置,現在我正在「將數據類型DBTYPE_DBTIMESTAMP錯誤轉換爲datetime2」,並期望遇到更多問題。 – Triynko 2013-04-08 20:34:56

相關問題