472
魔獸
使用 DTS 遷移 SQL Server 數據__遷移數據_快速入門(SQL Server)_雲數據庫 RDS 版-阿裏雲
使用數據傳輸服務 (DTS) 將本地數據庫遷移到 RDS for SQL Server,可以實現應用不停服務的情況下,平滑完成數據庫的遷移工作。
背景信息
DTS 支持 SQL Server 數據結構遷移和全量遷移。
結構遷移
DTS 會將本地數據庫的結構定義遷移到目標實例。目前DTS支持結構遷移的對象有:表、視圖、表觸發器、同義詞、SQL 存儲過程、SQL 函數、自定義類型、plan guid、rule、default。
全量遷移
DTS 會將本地數據庫遷移對象的數據全部遷移到目標實例。如果在遷移過程中有增量更新的話,這些增量不會被遷移到目標庫。所以建議在業務無寫入時,使用 DTS 進行全量數據遷移。
遷移限製
將本地數據庫遷移到 RDS 上有以下限製:
- 遷移過程中,不支持 DDL 操作
- 結構遷移不支持 assemblies、庫級存儲過程、service broker、全文索引、全文目錄、分布式 schema、分布式函數、CLR 標量函數、CLR 標值函數、內部表、聚合函數和係統的遷移
- 如果使用了對象名映射功能後,依賴這個對象的其他對象可能遷移失敗
前提條件
已完成 RDS 實例數據庫的準備,可參見 設置連接模式 和 創建數據庫和賬號。
操作步驟
本例以有公網 IP 的本地數據庫遷移到 RDS 上為例。
準備本地數據
在正式遷移之前,需要先在本地數據庫和RDS實例中創建遷移賬號,並在RDS實例中創建要遷移的數據庫,並將要遷移的數據庫的讀寫權限授權給遷移賬號。不同的遷移類型需要不同的權限,如下表所示。
遷移類型 | 結構遷移 | 全量遷移 |
---|---|---|
本地數據庫 | select | select |
RDS 實例 | 讀寫權限 | 讀寫權限 |
在本地數據庫中創建遷移賬號。
create login username with password='password', default_database=mydb;
go
create user username for login username with default_schema=dbo;
go
參數說明:
- username:要創建的賬號
- password:該賬號的登錄密碼
- mydb:默認連接的數據庫
- dbo:默認的數據表
例:要創建賬號為 William,密碼為 Changme123 的賬號訪問數據 mydb 的數據表 dbo,命令如下:
create login William with password='Changme123', default_database=mydb;
go
create user William for login William with default_schema=dbo;
go
在本地數據庫中給遷移賬號授權,本地數據庫中遷移賬號的權限要求請參見上表。
GRANT privileges ON tablename TO username WITH GRANT OPTION;
參數說明:
- privileges:該賬號的操作權限,如 SELECT、INSERT、UPDATE 等。如果要授權該賬號所有權限,則使用 ALL
- tablename:表名。如果要授權該賬號所有的表權限,則使用通配符 *
- username:要授權的賬號名
- WITH GRANT OPTION:授權該賬號能使用GRANT命令,該參數為可選
例:授權賬號 William 對所有數據庫和表的所有權限,命令如下:
GRANT ALL ON * TO William;
正式遷移操作
在 RDS 管理控製台 上單擊 遷移數據庫,進入DTS,如下圖所示。
單擊 創建在線遷移任務,進入 創建遷移任務 頁麵,如下圖所示。
輸入任務名稱、本地數據庫信息和目標數據庫信息,單擊 授權白名單並進入下一步,如下圖所示。
- 任務名稱:自定義任務名稱,可以保持默認值
- 源庫信息
- 實例類型:本地數據庫的實例類型,可以選擇 有公網 IP 的自建數據庫、ECS 上的自建數據庫、RDS 實例、雲數據庫 MongoDB
- 數據庫類型:本地數據庫的類型,可以選擇 Oracle、MySQL、SQLServer、PostgreSQL、MongoDB
- 主機名或IP地址:本地數據庫的公網地址
- 端口:本地數據庫的公網端口
- 賬號:本地數據庫的遷移賬號
- 密碼:本地數據庫遷移賬號對應的密碼
- 目標庫信息
- 實例類型:默認為 RDS 實例
- RDS實例ID:目標 RDS 實例的 ID。點擊下拉菜單將自動聯想當前登錄管理控製台的賬號的 RDS 實例,點擊選擇所需要的實例
- 數據庫名稱:要遷移到目標數據庫的名稱
- 賬號:目標 RDS 數據庫的遷移賬號
- 密碼:目標 RDS 數據庫遷移賬號對應的密碼
擇遷移類型,並在 遷移對象 中選擇要遷移的對象,單擊 > 將要遷移的對象放入 已選擇 中,單擊 預檢查並啟動,如下圖所示。
注意
- 數據遷移隻會將本地數據庫的數據(結構)複製一份到目標數據庫,並不會對本地數據庫數據(結構)造成影響
- 數據遷移過程中,不支持DDL操作,如進行DDL操作可能導致遷移失敗
- DTS增量遷移的時間最長支持15天,如果超過15天不停止任務,係統資源可能被回收
如果要修改遷移對象在目標數據庫上的名字,可以在 已選擇 列表右側單擊 編輯 ,修改已選擇的對象名稱,如上圖中4所示。
說明: 以下以預檢查不通過為例進行描述,如果預檢查通過,請直接參見步驟 8。
係統顯示預檢查結果,如下圖所示。
單擊 檢測結果 為 失敗 的檢測項後的 !,查看失敗詳細信息,根據失敗詳細信息完成錯誤排查。
錯誤排查完畢後,在 遷移任務列表 頁麵,選擇當前遷移任務,單擊 啟動,如下圖所示。
係統預檢查通過後,單擊 確定,自動進行遷移任務,如下圖所示。
後續操作
為了保證本地數據庫安全,請在數據遷移完成後,刪除本地數據庫和 RDS 實例中的遷移賬號。
最後更新:2016-11-28 15:11:23
上一篇:
創建數據庫和帳號(SQL Server 2012)__設置實例基礎配置_快速入門(SQL Server)_雲數據庫 RDS 版-阿裏雲
下一篇:
使用 FTP 遷移 SQL Server 數據__遷移數據_快速入門(SQL Server)_雲數據庫 RDS 版-阿裏雲
用戶操作限製___售後支持計劃_支持計劃-阿裏雲
簡單操作 OSS 文件__Spark_開發人員指南_E-MapReduce-阿裏雲
每個連接達不到帶寬峰值__帶寬峰值常見問題_常見問題_負載均衡-阿裏雲
鑒權規則__RAM子用戶訪問_API-Reference_日誌服務-阿裏雲
阿裏雲大數據計算服務香港開服,將引入更多人工智能服務
查詢API響應時間數據__API管理相關接口_API_API 網關-阿裏雲
Spark + ODPS__Spark_開發人員指南_E-MapReduce-阿裏雲
機器翻譯服務協議__相關協議_平台介紹_數加平台介紹-阿裏雲
數據開發常見問題__常見問題_大數據開發套件-阿裏雲
地域___產品簡介_雲服務器 ECS-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲