SQL Azure - 將本地的資料庫搬移到SQL Azure
這篇沒甚麼技術可言,也只是記錄一下小弟我把本地端的資料庫搬到雲端的過程,小弟我這邊使用的是SQL Azure Migration Wizard,這個工具也是各個神人推薦的好工具,SQL Azure Migration Wizard可以幫我們執行搬移,分析,和維修!( Maintenace目前小弟也沒用過,未來有機會用到在介紹吧 ),而因為SQL Azure並非所有SQL Server的SQL都可以使用,所以也可以用這個工具來檢查SQL File;總之,SQL Azure Migration Wizard是SQL Azure必備的工具之一!
開啟的畫面如下。
因為我們這次要執行的是從本地端搬資料到雲端,所以要選擇這個。( 如要搬移,必須要是db擁有者 )
這時候會需要連接到本地端的資料庫,基本上熟悉SQL Server的人,這部分應該沒有甚麼問題。
然後選擇要搬移的資料庫,因為機密的關係,這裡全部都被我塗白了..
選擇所有DB物件,如果有需要,也可以進Advanced去做調整。
就做個檢視一下,看看有沒有問題。
這邊可以看一下訊息,雖然這邊可以看到一堆亂碼,但其實是SQL Azure Migration Wizard利用BCP工具,將目前資料庫的內容打包成dat檔案,以方便後續將資料給上傳上去。
這邊可以選擇目標位置,也就是建立SQL Azure的連線。
填入SQL Azure的資料庫資訊,但要注意SQL Azure的防火牆是否開啟了。
連線上後,因為我還沒建立Database,所以選擇Create Database。
這邊會要求填入資訊,但別忘記,這是要算錢的,如果使用別人的信用卡,就開到最大吧。
最後,到了這步驟的時候,SQL Azure上面的Table就會幫你建立好了,不過此時資料並沒有過去。
接下來,我們要使用BCP工具,將剛剛SQL Azure Migration Wizard幫我們封裝的資料傳上去,預設下,SQL Azure Migration Wizard會把SQL Server裡面的資料封裝到C:\SQLAzureMW\BCPData\底下,我們可以輸入以下指令,就會將資料搬到SQL Azure上面去。
C:\SQLAzureMW\BCPData>bcp Table名稱 in c:\SQLAzureMW\BCPData\檔案名.d
at –S SQL Azure資料庫Dns -U 使用者名稱@xxxxxxx -P 密碼 -d 資料庫名 –n
其中使用者名稱後面的xxxxx是SQL Azure DNS的前面亂碼,例如:你的SQL Azure的DNS是asdfghj.database.windows.net,那你就要輸入"使用者名稱@asdfghj”,執行的畫面如下。
這樣子資料就傳上去了。
其實這個工具真的就那麼簡單,就介紹到這邊了,如果有使用SQL Azure的人,一定要用用看!!
參考資料