把本機MSSQL資料庫搬家到雲端

想像一下,你要把家裡一整棟圖書館的書,全部搬到遠在天邊的微軟雲端資料庫。如果你用錯方法,就像是用筷子一粒一粒夾米一樣,天黑了都搬不完。

以下是常見的幾種搬家方法與速度大比拼:

第一名: sqlpackage 工具( BACPAC 格式)

速度是三顆星!這是官方推薦的最速傳說。它會把你的資料庫打包成一個特製的壓縮檔,然後用高鐵般的速度直接倒進雲端,非常適合追求效率的人。

第二名: Python 腳本

速度只有兩顆星。這就像是你雇用了一個排版工人,他必須一頁一頁看懂你的書,再抄寫到雲端上。因為多了解析文字的時間,所以速度慢了一截。

第三名: 透過網頁( Azure Portal )匯入

速度同樣是兩顆星。這個方法的缺點是,你得先自己把大行李箱扛到雲端的置物櫃放好,雲端系統才肯幫你處理,多了一道手續。

第四名: 使用微軟資料庫管理軟體( SSMS )直接發佈

速度只有可憐的一顆星。雖然動動滑鼠就能搞定,但它只適合資料量極少、一輩子只想搬一次家的新手。

如果你想用最快的第一名方法,只需要簡單的兩個步驟:

步驟一:在自己的電腦輸入這行指令,把資料庫打包成一個叫做 portal.bacpac 的行李箱。

 sqlpackage /Action:Export `
   /SourceServerName:"10.113.82.1,1733" `
   /SourceDatabaseName:"portal" `
   /SourceUser:"<user>" `
   /SourcePassword:"<pass>" `
   /TargetFile:"portal.bacpac"

步驟二:在雲端的虛擬機器上輸入這行指令,把行李箱拆開並倒進雲端資料庫。

 sqlpackage /Action:Import \
   /TargetServerName:"itsc-sqlsvr.database.windows.net" \
   /TargetDatabaseName:"portal-stg" \
   /TargetUser:"" \
   /SourceFile:"portal.bacpac" \
   /p:DatabaseEdition=GeneralPurpose \
   /AccessToken:"$(az account get-access-token --resource https://database.windows.net --query accessToken -o tsv)"

最棒的是,第二步在雲端執行時,使用特別的通行證就可以直接開門,連帳號密碼都不用輸入,安全又省事。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *