/* syntax highlight */ /* end of syntax highlight */

2010年4月13日 星期二

[SQL Server]將 SQL 資料搬移到 MySQL

Bookmark and Share

image

 

起因:

因為收到了一個 .bak 檔,它是 SQL server 的備份檔

我的任務目標是將其資料匯入 MySQL 中

首先必須在 SQL server 還原後,再 ouput 成 MySQL 可以吃的格式

但因為 SQL server 的還原功能本身怪怪的,如果出現以下訊息,

還原MSSQL遇到備份組包含現有的xxx資料庫以外的資料庫備份問題
Read more: http://ssorc.tw/rewrite.php/read-997.html#ixzz0kwHfSRj1

必須加入使用以下步驟:

 

步驟一:開啟 SQL server

image

 

步驟二:在資料庫上方按右鍵,先新增一個資料庫,假設取名叫 temp

image

 

 

步驟三:選擇 “還原檔案和檔案群組”

image

 

步驟四:匯入 .bak 檔 (因為我收到的是一個 bak 檔)

image

 

步驟五:檢查 bak 檔內容,察看原本的資料庫名稱

image

 

步驟六:在 系統資料庫上面的 master 上按右鍵選擇「新增查詢」,手動設定還原路徑 (要自己調成自己系統的路逕)

image

 

restore DATABASE temp2
from disk='G:\My document\classes\classes\papers\data\ppy_temp_2.bak'
with
move 'temp2' to 'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\temp2.mdf',
move 'temp2_Log' to 'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\temp2_log.ldf'
,NoRecovery
,Replace
go

 

輸入完後按「執行」

ps1.藍色為檔名

ps2.紅色為上一步驟得到的資料庫名稱

完成之後會得以下這個訊息

image

 

但我有遇到一個狀況…

總之有可能

 

 

步驟七:再次進行還原,選擇 「還原資料庫」

image

image

一樣選擇剛剛待還原的 bak 檔

如此一來就完成匯入的動作

 

步驟八:

從 MSSQL output .csv 檔出來

第一次嘗試,我是用 sqlToTxt 這個工具,有一個月試用,但是只能 ouput 1000 筆… 放棄

image

第二次嘗試,其實 SQL server 本身就有 output 的功能

因為我的電腦是 express 版本所以才沒有

後來就跟別人借電腦 output csv 成功了

 

 

步驟九:

因為 csv 是用 , 做為資料的區隔

只要在 MySQL 建立好相對應的”資料庫”以及其”資料表名稱型態”

之後再用 Phpmyadmin 內建的 import 資料

image

將 csv 匯入即可

 

 

參考文章:

http://blog.yam.com/iamshiao/article/18601917

http://ssorc.tw/rewrite.php/read-997.html

http://www.withdata.com/ad/sqltotxt/sql-server-export-csv.html

http://msdn.microsoft.com/zh-tw/library/ms162773(SQL.90).aspx

0 意見:

張貼留言

Related Posts Plugin for WordPress, Blogger...