本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
本文介紹如何通過DTS控制臺的物理網關遷移上云功能將ECS、IDC或其他云服務器中的自建SQL Server數據庫遷移到RDS SQL Server。該功能采用物理網關協議的接入方式,具有速度快、操作簡單、穩定性好、場景覆蓋全等特點,能夠有效提高遷移效率。
使用場景
若您的自建SQL Server數據庫所在服務器可以訪問公網,您可以采用本文操作將自建SQL Server數據庫遷移到RDS SQL Server中。
若您的自建SQL Server數據庫所在服務器無法連接公網,但有一臺專門的堡壘機進行網絡通信時,請參考其他遷移方案,請參見自建SQL Server通過堡壘機架構的物理網關遷移上云。
前提條件
源端自建SQL Server需要滿足以下條件。
源端自建數據庫的版本為:SQL Server 2019、2017、2016、2014、2012、2008 R2、2005。
說明支持阿里云ECS自建數據庫、IDC自建數據庫、其它云服務器上的自建數據庫,不支持云數據庫。
源端自建數據庫所在服務器需要安裝DBS物理協議網關。安裝方法,請參見附錄:新建物理協議網關。
說明請確保物理協議網關安裝地域與目標RDS實例處于同一地域。
目標端RDS SQL Server實例需滿足以下條件。
目標端數據庫的版本為:SQL Server 2019、2017、2016、2014、2012、2008 R2。
目標端RDS SQL Server實例版本必須大于或等于源端自建SQL Server版本。
使用阿里云賬號完成如下授權。
已創建AccessKey,并獲取AccessKey ID和AccessKey Secret信息,用于客戶端網關的身份識別及注冊上線至DBS控制臺。具體操作,請參見創建AccessKey。
若用RAM賬號(阿里云子賬號)進行添加,需要獲得AliyunDBSFullAccess權限,具體操作,請參見為RAM用戶授權。
說明主賬號默認在開通DBS服務時已開通以上權限。
添加成功后,當前賬號下的所有用戶在DBS控制臺都可以看到該備份網關。
物理協議遷移上云和邏輯數據遷移上云的區別
對比項 | 物理協議遷移上云 | 邏輯數據遷移上云 |
遷移原理 | 采用數據庫原生物理備份協議以數據塊的方式寫入到目標端。 | 采用JDBC邏輯協議獲取SQL并寫入到目標端。 |
操作系統要求 | 僅支持Windows上的SQL Server,且桌面Windows版本不能低于XP,服務器Windows版本不能低于2003。 | 無限制。 |
部署要求 | 需要在數據庫所在服務器上安裝物理協議網關。 | 無需安裝網關。 |
網絡連通要求 | 數據庫所在服務器可以訪問到阿里云服務網絡。 說明 若您的自建SQL Server數據庫所在服務器無法連接公網,但有一臺專門的堡壘機進行網絡通信時,請選擇其他遷移方案,請參見自建SQL Server通過堡壘機架構的物理網關遷移上云。 | 需要開放數據庫端口或開通專線訪問。 |
源庫權限要求 | 需要sysadmin角色。 | 結構遷移和全量遷移需要SELECT權限,增量遷移需要sysadmin權限。更多詳情請參見數據庫賬號的權限要求。 |
目標庫版本要求 | 目標庫版本必須大于等于源庫版本號。 | 支持從高版本到低版本,或低版本到高版本。 |
目標庫可訪問性 | 遷移上云期間不可使用。 | 遷移上云期間允許讀寫。 |
源庫可以遷移表的限制 | 不支持內存表,不支持FileStream、FileTables數據字段類型。 | 限制條件,請參見源庫限制。 |
支持的遷移場景 | 自建數據庫遷移上云。 說明 ECS、IDC或其他云服務器中的自建SQL Server數據庫。 | 自建數據庫遷移上云、其他云托管數據庫遷云上云。 |
遷移效率 | 高。 | 中。 |
是否支持數據加工ETL | 不支持。 | 支持。 |
是否支持表級別數據過濾 | 不支持。 | 支持。 |
是否支持庫級別過濾 | 支持。 | 支持。 |
遷移說明
類型 | 說明 |
源庫限制 |
|
數據庫版本 | 目標端SQL Server版本必須大于或等于源端SQL Server版本,版本高低關系如下:
說明 各版本支持的遷移關系,請參見支持的遷移關系。 |
內存數據庫與鏡像技術 | 由于SQL Server中In-Memory OLTP特性和Mirroring技術是不兼容的,如果您的源端開啟了內存數據庫,目標端不能為高可用版的RDS實例。 |
數據庫個數 | 多庫遷移時,由于RDS的數據庫個數存在約束限制,不同的實例規格限制也相應不同,具體請參見數據庫數量。 |
其他限制 |
|
注意事項
數據遷移上云期間允許對源端自建SQL Server數據庫進行增量寫入,但在上云切換過程中請勿進行寫入操作,否則會導致數據不一致。
增量遷移期間,目標端RDS SQL Server數據庫暫時處于不可用狀態。請等待增量遷移任務完成,并且選擇切換上云后再使用目標數據庫。
支持的遷移關系
源端版本(Edition) | 目標RDS版本(Edition) |
企業版(Developer)/標準版/Web/Express | 企業版 |
標準版/Web/Express | 標準版 |
Web/Express | Web |
操作步驟
進入遷移任務的列表頁面。
登錄DMS數據管理服務。
在頂部菜單欄中,單擊集成與開發。
在左側導航欄,選擇 。
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多信息,請參見極簡模式控制臺和自定義DMS界面布局與樣式。
您也可以登錄新版DTS遷移任務的列表頁面。
在遷移任務右側,選擇遷移實例所屬地域。
說明新版DTS遷移任務列表頁面,需要在頁面左上角選擇遷移實例所屬地域。
單擊創建任務,配置源庫及目標庫信息。
警告選擇源和目標實例后,建議您仔細閱讀頁面上方顯示的使用限制,否則可能會導致任務失敗或數據不一致。
類別
配置
說明
無
任務名稱
DTS會自動生成一個任務名稱,建議配置具有業務意義的名稱(無唯一性要求),便于后續識別。
源庫信息
選擇DMS數據庫實例
您可以按實際需求,選擇是否使用已有實例。
如使用已有實例,下方數據庫信息將自動填入,您無需重復輸入。
如不使用已有實例,您需要輸入下方的數據庫信息。
數據庫類型
選擇SQL Server。
接入方式
選擇物理協議。
實例地區
默認為自建SQL Server數據庫所屬地域。
物理協議網關(DBS備份網關)
選擇目標物理協議網關。
說明物理協議網關的安裝方法,請參見附錄:新建物理協議網關。
主機名或IP地址
此處默認為localhost。
端口
填入自建SQL Server數據庫的服務端口,默認為1433。
目標庫信息
選擇DMS數據庫實例
您可以按實際需求,選擇是否使用已有實例。
如使用已有實例,數據庫信息將自動填入,您無需重復輸入。
如不使用已有實例,您需要輸入下方的數據庫信息。
數據庫類型
默認為SQL Server。
接入方式
默認為云實例。
實例地區
選擇目標RDS SQL Server實例所屬地域。
實例ID
選擇目標RDS SQL Server實例ID。
數據庫賬號
填入目標RDS SQL Server實例的數據庫賬號。
說明RDS SQL Server數據庫賬號創建及授權方法,請參見創建普通賬號和高權限賬號和修改賬號權限。
數據庫密碼
填入該數據庫賬號對應的密碼。
單擊測試連接以進行下一步。
在彈出的DTS服務器訪問授權對話框中,單擊測試連接以進行下一步。
如果源或目標數據庫是阿里云數據庫實例(例如RDS MySQL、云數據庫MongoDB版等),DTS會自動將對應地區DTS服務的IP地址添加到阿里云數據庫實例的白名單;如果源或目標數據庫是ECS上的自建數據庫,DTS會自動將對應地區DTS服務的IP地址添到ECS的安全規則中,您還需確保自建數據庫沒有限制ECS的訪問(若數據庫是集群部署在多個ECS實例,您需要手動將DTS服務對應地區的IP地址添到其余每個ECS的安全規則中);如果源或目標數據庫是IDC自建數據庫或其他云數據庫,則需要您手動添加對應地區DTS服務的IP地址,以允許來自DTS服務器的訪問。DTS服務的IP地址,請參見DTS服務器的IP地址段。
警告DTS自動添加或您手動添加DTS服務的公網IP地址段可能會存在安全風險,一旦使用本產品代表您已理解和確認其中可能存在的安全風險,并且需要您做好基本的安全防護,包括但不限于加強賬號密碼強度防范、限制各網段開放的端口號、內部各API使用鑒權方式通信、定期檢查并限制不需要的網段,或者使用通過內網(專線/VPN網關/智能網關)的方式接入。
配置任務對象及高級配置。
配置項
說明
任務步驟
如果只需要進行全量遷移,請選中全量遷移(默認必選)。
如果需要進行不停機遷移,請選中全量遷移和增量遷移。
說明如果未選擇增量遷移,為保障數據一致性,數據遷移期間請勿在源實例中寫入新的數據。
源庫對象
在源庫對象框中單擊待遷移的對象,然后單擊將其移動到已選擇對象框。
說明支持遷移單庫或多庫或整個實例。
已選擇對象
顯示目標遷移對象。
單擊下一步高級配置,進入高級配置頁面。
配置
說明
監控報警
是否設置告警,當遷移失敗或延遲超過閾值后,將通知告警聯系人。
不設置:不設置告警。
設置:設置告警,您還需要設置告警閾值和告警聯系人。更多信息,請參見在配置任務過程中配置監控告警。
源庫、目標庫無法連接后的重試時間
在遷移任務啟動后,若源庫或目標庫連接失敗則DTS會報錯,并會立即進行持續的重試連接,默認重試720分鐘,您也可以在取值范圍(10~1440分鐘)內自定義重試時間,建議設置30分鐘以上。如果DTS在設置的時間內重新連接上源、目標庫,遷移任務將自動恢復。否則,遷移任務將失敗。
說明針對同源或者同目標的多個DTS實例,網絡重試時間以后創建任務的設置為準。
由于連接重試期間,DTS將收取任務運行費用,建議您根據業務需要自定義重試時間,或者在源和目標庫實例釋放后盡快釋放DTS實例。
源庫、目標庫出現其他問題后的重試時間
在遷移任務啟動后,若源庫或目標庫出現非連接性的其他問題(如DDL或DML執行異常),則DTS會報錯并會立即進行持續的重試操作,默認持續重試時間為10分鐘,您也可以在取值范圍(1~1440分鐘)內自定義重試時間,建議設置10分鐘以上。如果DTS在設置的重試時間內相關操作執行成功,遷移任務將自動恢復。否則,遷移任務將會失敗。
重要源庫、目標庫出現其他問題后的重試時間的值需要小于源庫、目標庫無法連接后的重試時間的值。
上述配置完成后,單擊頁面右下角的下一步保存任務并預檢查。
說明在遷移任務正式啟動之前,會先進行預檢查。只有預檢查通過后,才能成功啟動遷移任務。
如果預檢查失敗,單擊具體檢查項后的,查看失敗詳情。
您可以根據提示修復后重新進行預檢查。
如無需修復告警檢測項,您也可以選擇確認屏蔽、忽略告警項并重新進行預檢查,跳過告警檢測項重新進行預檢查。
在預檢查頁面,預檢查通過率顯示為100%后,單擊下一步購買。
在購買頁面,閱讀并選中《數據傳輸(按量付費)服務條款》。
單擊 ,遷移任務正式開始。
您可在數據遷移界面單擊目標遷移實例,在任務管理頁面,查看實例遷移進展。
說明您也可以在RDS控制臺目標實例的
頁面查看數據的全量或增量遷移進度。全量遷移任務進度為100%,增量遷移任務進行時,在目標遷移任務的 頁面,單擊遷移上云按鈕。
在彈出的您確定要切換上云嗎對話框中,單擊立即開始,等待遷移上云任務完成即可。
說明為了保證數據的一致性,請您在觸發上云切換前,停止對源實例寫入數據,并等待上云任務完成,最后進行業務連接切換,整個過程大約需要數分鐘時間。
附錄:新建物理協議網關
本章節介紹創建物理協議網關的方法。
前提條件
您需要向NT AUTHORITY\SYSTEM賬號賦予Sysadmin角色。您可執行如下SQL命令或通過圖形化界面進行設置:
SQL命令
ALTER SERVER ROLE [sysadmin] ADD MEMBER [NT AUTHORITY\SYSTEM] GO
圖形化界面
注意事項
AliyunDBSAgent會將待遷移數據庫的恢復模式設置成Full。
恢復模式為Full模式時,如果數據庫持續寫入會占用源端磁盤空間,可能造成源端磁盤滿的情況。為避免此種情況發生,遷移任務完成后,您可手動將恢復模式設置為Simple,命令如下:
ALTER DATABASE 數據庫名 SET RECOVERY Simple;
操作步驟
在配置源庫及目標庫信息頁面,單擊新建物理協議網關按鈕。
在彈出的部署命令對話框中,選擇備份網關所在地區、備份網關所在網絡類型,并復制物理協議網關安裝命令,手動下載。
說明公網:通過公網IP訪問。
ECS私網/VPC:通過阿里云專線訪問。
在本地Windows設備或服務器上,安裝AliyunDBSAgent。
雙擊下載文件內的setup.exe應用程序。
選擇安裝語言,單擊OK,然后單擊下一步。
閱讀并接受協議條款,單擊下一步。
選擇DBS備份網關,單擊下一步。
選擇安裝路徑,單擊下一步并單擊確定。
選擇備份網關地域,并填寫AccessKey ID和AccessKey Secret信息,單擊下一步。
重要請確保物理協議網關安裝的地域和目標RDS SQL Server實例所在地域是一致的。
AccessKey信息以明文方式存放在安裝目錄下的
.\config\dbs-agent.conf
中。
確認要安裝的組件包,單擊下一步。
網關將開始安裝,安裝時間大約為1~5分鐘。
單擊完成。
您可
C:\Program Files\aliyun\dbs_agent\logs\agent.log
安裝目錄下查看網關安裝情況,如下圖表示網關已正常安裝。
物理協議網關安裝成功后,在DTS控制臺的部署命令對話框中,單擊完成安裝。
確認物理協議網關是否已啟動。
在Windows運行窗口中,輸入
services.msc
,單擊確定。打開系統的服務管理器。
在服務管理器中,確認該服務是否已啟動,如未啟動,請右鍵單擊AliyunDBSAgent,在彈出的列表中選擇啟動。
說明系統將默認啟動備份網關,您也可以在服務管理器中啟動、停止AliyunDBSAgent的服務。
查看新添加的物理協議網關。
您可在數據庫備份DBS的備份網關頁面,單擊刷新,查看新添加的物理協議網關。
說明以DTS_開頭為新添加的物理協議網關。