2013-01-31 35 views
5

我想對我公司的老MySQL數據庫遷移到SQL Server 2008的MySQL的 - 除了> SQL Server遷移助手有大表問題

我使用MySQL軟件的SQL Server遷移助手,一切都很正常對於大型表(有些包含大約1.5億行) - 它創建模式等,當我選擇遷移數據時,我得到它停留在Migrating myTable > myTable with 0 of 159216578 rows processed - 它保持這種方式約1-2小時,然後崩潰並說它不能創建一個錯誤文件。

是否有任何事情/設置我可以改變,以使這項工作? 有沒有更好的辦法(我有機會獲得.frm.MYD.MYI文件,如果有什麼東西我也能做到這樣) - 我接受任何東西,只要我得到這些表遷移。

謝謝!

+0

您使用的是什麼版本的SSMA?網絡如何在MySQL,SQL Server和運行SSMA的地方安排?本週我剛剛進行了一次具有510萬行MySQL表的遷移,並且它運行得非常好。 – mellamokb

+0

您是否使用默認設置,即批量大小= 1000?我找不到任何應該對錶大小有限制的引用,但似乎你的計算機正在嘗試在遷移期間下載太多的數據(因此被鎖定在'0'處,然後崩潰)。機器擁有多少內存來運行SSMA?這個表的單個行中有多少數據,即是否有很多寬或二進制列,或者模式是相對輕鬆和簡單的? – mellamokb

+0

MySQL數據位於本地計算機上 - 「localhost」 - 而SQL Server位於遠程服務器上。至於默認設置,我是和批量大小是1000 - 任何想法?在500萬行表中,它們工作正常......這是1億行表,似乎是造成這個問題的原因...... –

回答

0

我想你想在WHERE子句中使用某些東西來分隔數據(ID,日期等),一次導出大約1000萬行(取決於MySQL硬件)。

SELECT * FROM Table1 WHERE ID BETWEEN x and y INTO OUTFILE 'C:\temp\data.csv'; 

您可以使用SQL Server導入/導出嚮導將其導入到MSSQL中。