最近有個活是mysql數據轉移到sql server 2012,直接手動轉工作量太大,發現網上有工具教程,則記錄一下。
一.安裝MySQL ODBC驅動
為MySQL安裝Connector/ODBC驅動。在此需要注意的一點是Connector/ODBC驅動與MySQL Server的版本對應問題。
下載地址:https://dev.mysql.com/downloads/connector/odbc/
我下載的是:mysql-connector-odbc-8.0.16-winx64.msi
安裝的時候能會提示需要 Microsoft Visual C++ 2015 Redistributable 等 ,直接微軟官網下載就行。
二.創建系統DSN
DSN為ODBC定義了一個確定的數據庫和必須用到的ODBC驅動程序。每個ODBC驅動程序定義為該驅動程序支持的一個數據庫創建DSN需要的信息。
創建系統DSN步驟如下:
開始->設置->控制面板->管理工具->數據源(ODBC),按該流程打開ODBC數據源管理器。
切換至系統DSN選項卡,點擊添加按鈕。彈出創建新數據源對話框,選擇MySQL ODBC 8.0 ANSI Driver驅動程序(根據版本不同,可能名稱有出入),點擊完成按鈕。
在彈出的鏈接MySQL對話框中設置MySQL數據庫帳號信息。
關鍵是Login選項卡下的幾個參數。
l Data Source Name,這個根據命名規則任意命名就可以了,最終會顯示於ODBC數據源管理器中系統DSN選項卡下的列表中。
l Description,對該數據源的描述,可不填寫。
l Server,MySQL Server的主機名,這里填寫計算機主機名或者localhost均可。
l User和Password是MySQL Server對應的用戶名和密碼。
l DataBase,選定該數據源所指向的數據庫。在這一里必須要求前面幾個參數都正確,否則會提示錯誤,無法選擇MySQL Server中的數據庫。
還有兩個需要注意的參數是Connect Options選項卡下的Port和Character Set。Port用於設置MySQL Server的通信端口,默認是3306,在安裝時候如果沒有改動默認端口,這里可以不設置。Character Set用於設置數據庫語言編碼,這里選擇gbk。
點擊OK按鈕,完成系統DSN的創建,返回到ODBC數據源管理器對話框,在系統DSN選項卡下可查看到剛建立的數據源。點擊確定按鈕退出。
三.創建MSSQL到MySQL的鏈接服務
打開SQL Server Management Studio,運行下述語句,通過前面新建的ODBC數據源建立與MySQL Server鏈接服務器。
EXEC master.dbo.sp_addlinkedserver @server = N'MYSQL', @srvproduct=N'MySQL', @provider=N'MSDASQL', @provstr=N'DRIVER={MySQL ODBC 8.0 ANSI Driver}; SERVER=127.0.0.1; _ DATABASE=news; USER=root; PASSWORD=root; OPTION=3'
刷新下鏈接服務器節點,既可以看到上述用語句創建的鏈接
四.利用SQL語句轉移數據至MSSQL
在Microsoft SQL Server中創建新的數據庫,運行如下語句,運行后就可以把MySQL 數據庫 “news” 導入到 Microsoft SQL 數據庫“news”中。
SELECT * INTO 數據庫.dbo.表
FROM OPENQUERY (MySQL ,'select * from 數據庫.表' )
例如:將MySQL數據庫“news”中的article表導入到SQL Server數據庫的“news”的article中
SELECT * INTO [news].dbo.article
FROM openquery(MYSQL, 'SELECT * FROM news.article')
執行結果
參考地址:https://blog.csdn.net/qq_37308779/article/details/80679358