天天看點

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

一、背景

         由于嘗試直接使用dts工具遷移,從微軟雲遷移sql資料庫到rds sqlserver時發現,dts雖然能夠連接配接到azure sql, 但是無法擷取結構,主要由于azure sql是微軟針對微軟雲定制的資料庫版本。與原本的mssql server還是不一樣的。為了友善大家能夠順利遷移。整理了導入導出的遷移方式.

二、azure sql 資料庫遷移到rds sqlserver實踐步驟

1、        

在阿裡雲控制台建立好目标資料庫和登陸使用者。

a)      

記錄下建立的資料庫名稱、登陸位址、登陸使用者名、密碼。

b)     

登陸使用者具有寫入權限。

2、        

購買一台ecs用于遷移,ecs要求

綁定公網ip。

4核4g的即可。

c)      

os是windows系統

d)     

ecs與目标庫最好買在同一個可用區或者vpc可以通過内網通路建立的目标資料庫。

e)      

建議按量購買,遷移完即釋放

3、        

在購買的ecs上安裝sql server的用戶端工具(ssms)。

安裝過程,輕按兩下可執行檔案,全程預設安裝即可。過程不再累述

4、        

配置遷移過程。

登陸ecs,啟動ssms

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

連接配接的建立的目标資料庫

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

登陸使用的資訊,在步驟1 a)已經記錄。點選連接配接登陸

c)     

開始配置導入任務

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐
Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

填寫資料源連接配接資訊

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

填寫目标資料庫連接配接資訊

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐
Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

選擇表的對應關系,也可以編輯字段的對應關系,可以預覽遷移後的資料,一般都是同名對應,如果目标建立的表結構,自動同名對應也可以自定義對應關系,如果目标沒有建立表結構,這裡可以自動生成與原表結構一緻。

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

 列之間的映射關系可以自定義,預設同名對應。同時可以選擇追加,還是删除目标表資料,重新導入。其中插入标示如果選中,代表如果源表中的标示是自動增長的,源表是什麼值就插入目标表是什麼值,如果不選中,默然重新生成标示。

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

  預覽遷移的資料如圖,如果沒有問題開始正式遷移

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐
Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐
Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

  如果正常到這裡就完成了資料的遷移,如果有問題,在消息列會提供報錯資訊,根據報錯資訊進行調整即可。   

5、    資料遷移完了,還有一些腳本性的的代碼沒有遷移,比如存儲過程、試圖、自定義函數。遷移的方法就是連接配接到源庫,生成存儲過程、試圖、自定義函數的腳本,拿到目标庫執行,建立這些對象。另外執行計劃,需要登入目标庫重新建立即可。

生成遷移對象的腳本

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐
Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

選擇生成的對象:

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

選擇存放位置和格式:

Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐
Azure SQL資料庫遷移阿裡雲RDS SQLserver實踐

把生成的腳本,拿到目标庫執行,注意腳本不能有作業系統表的行為,否則會超出rds給提供的使用者權限。如果存在建議應用實作這樣的功能。

三、注意事項

這種方式隻适用于全量遷移,沒有增量。

停機時間取決于資料量的大小,如果停機時間較長,業務不可接受,可以考慮采用這種方式分批遷移資料,得需要業務的配合。