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