2012-05-05 314 views
2

我期待將數據從MySQL遷移到SQL Server。我的第一個想法是以.bak格式進行數據備份並轉儲到SQL Server中。那麼有沒有辦法以.bak格式獲得MySQL數據庫備份文件?將數據從MySQL遷移到SQL Server

否則,有沒有更簡單,更簡單的方法將數據從MySQL遷移到SQL Server?

+0

您始終可以指定轉儲文件擴展名爲.bak – Satya

+1

.bak是專用於SQL Server的專有二進制格式。 MySQL只能轉儲到基於文本的文件,這些文件具有原始SQL語句來重建db/tables/data。您可以將該轉儲文件加載到sql server的控制檯中,並將其作爲一系列長命令運行。 –

回答

0

我希望你不必這樣做,但作爲最後的手段,你可以生成一個自定義的SQL數據轉儲如下;

SELECT CONCAT_WS(' ' 
    , 'INSERT INTO [dbo].[table_name] (col1,col2) VALUES' 
    , col1 
    , CONCAT('"', col2, '"') 
    , ';' 
) AS '-- Inserts' 
FROM table_name 
ORDER BY col1 ASC; 

這可能是因爲你喜歡複雜的,雖然我只建議,如果您發現您的數據到SQL Server由於問題例如自動數據轉換問題。除非您的數據量很大,否則您最好使用mysqldump並通過過濾等方式過濾輸出。 sedperl

1

您是否嘗試過使用MS SQL(附帶標準版或更高版本)的SSIS? 我不知道你想要什麼轉移,但表和視圖很容易這樣說:

  1. 創建一個新的MS SQL數據庫(空)
  2. 數據庫,然後選擇任務上點擊右鍵 - >進口數據
  3. 作爲源選擇MySQL驅動程序(之前需要安裝 - http://dev.mysql.com/downloads/connector/odbc/
  4. 選擇DB,連接到它,然後按照助手選擇視圖和表
  5. 助理可以節省結束SSIS包並使用Visual中的SSIS項目進行編輯Studio Business Intelligence(附帶MS SQL標準或更高版本)或者您只需運行它。如果遇到傳輸/轉換問題,您可能需要使用Studio版本進行編輯,並修改程序包以處理出現問題的表格/列。