使用數據傳輸服務 ( DTS ) 將本地數據庫遷移到 阿里云的云數據庫 RDS ,可以實現應用不停服務的情況下,平滑完成數據庫的遷移工作。接下來我們將學習下如何使用 DTS 將本地數據庫遷移到 RDS 上。
背景
DTS 支持 SQL Server 數據結構遷移和全量遷移。
DTS 支持結構遷移的對象有:表、視圖、表觸發器、同義詞、 SQL 存儲過程、 SQL 函數、自定義類型、 plan guid 、 rule 、 default 。
全量遷移 DTS 會將本地數據庫遷移對象的數據全部遷移到目標實例。如果在遷移過程中有增量更新的話,這些增量不會被遷移到目標庫。所以建議在業務無寫入時,使用 DTS 進行全量數據遷移。
遷移限制
將本地數據庫遷移到 RDS 上有以下限制:
遷移過程中,不支持 DDL 操作
結構遷移不支持 assemblies 、庫級存儲過程、 service broker 、全文索引、全文目錄、分布式 schema 、分布式函數、 CLR 標量函數、 CLR 標值函數、內部表、聚合函數和系統的遷移
如果使用了對象名映射功能后,依賴這個對象的其他對象可能遷移失敗
操作步驟
注:在正式遷移之前,需要先在本地數據庫和 RDS 實例中創建遷移帳號,并在 RDS 實例中創建要遷移的數據庫,并將要遷移的數據庫的讀寫權限授權給遷移帳號。不同的遷移類型需要不同的權限,如下表所示。
在本地數據庫中創建遷移賬號
在本地數據庫中給遷移賬號授權,本地數據庫中遷移賬號的權限
在 RDS 管理控制臺 上單擊 [遷移數據庫] 進入 DTS 。
單擊 [建在線遷移任務] 進入 創建遷移任務 頁面。
輸入任務名稱、本地數據庫信息和目標數據庫信息,單擊 [授權白名單并進入下一步]
選擇遷移類型,并在 [遷移對象 ] 選擇要遷移的對象,單擊 > 將要遷移的對象放入 [已選擇 ] ,單擊 [檢查并啟動] 如圖所示。如果要修改遷移對象在目標數據庫上的名字,可以在 已選擇 列表右側單擊 編輯 ,修改已選擇的對象名稱。
系統顯示預檢查結果
單擊 檢測結果 為 失敗 的檢測項后的 !,查看失敗詳細信息,根據失敗詳細信息完成錯誤排查。
錯誤排查完畢后,在 遷移任務列表 頁面,選擇當前遷移任務,單擊 [啟動]
系統預檢查通過后,單擊 [確定] ,自動進行遷移任務
注:為了保證本地數據庫安全,請在數據遷移完成后,刪除本地數據庫和 RDS 實例中的遷移帳號。