盡管實(shí)施云遷移已有10多年的時(shí)間,但仍有大量數(shù)據(jù)在企業(yè)內(nèi)部部署的數(shù)據(jù)中心運(yùn)行。這并不奇怪,因?yàn)榧词乖陬愃葡到y(tǒng)之間進(jìn)行數(shù)據(jù)遷移都是復(fù)雜而緩慢的,并且通常會(huì)增加日常運(yùn)營的風(fēng)險(xiǎn)。將業(yè)務(wù)遷移到云端,會(huì)增加企業(yè)額外的管理開銷,引發(fā)網(wǎng)絡(luò)連接和帶寬問題,以及與運(yùn)行云計(jì)算數(shù)據(jù)庫相關(guān)的可變成本。
但出現(xiàn)的一些問題是,很多人傾向于將云計(jì)算服務(wù)視為其內(nèi)部部署系統(tǒng)的復(fù)制品,這導(dǎo)致了企業(yè)業(yè)務(wù)與云服務(wù)的不匹配。人們通常采用使用多年的服務(wù)器,并為計(jì)算需求的突然增長提供額外的容量,然后將該規(guī)范直接遷移到云計(jì)算基礎(chǔ)設(shè)施。其結(jié)果通常是虛擬機(jī)使用不足,計(jì)算預(yù)算大大高于實(shí)際需要的預(yù)算。人們需要考慮利用云服務(wù),將它們作為平臺而不是數(shù)據(jù)中心,不是提升和轉(zhuǎn)移整個(gè)基礎(chǔ)設(shè)施。
Azure數(shù)據(jù)庫遷移服務(wù) 將數(shù)據(jù)庫從內(nèi)部部署遷移到云端并不是十分困難,特別是在企業(yè)確定遷移其業(yè)務(wù)的情況下。Azure的數(shù)據(jù)庫遷移服務(wù)可以為其支持大部分過程,并提供一組向?qū)е笇?dǎo)其完成遷移過程。與大多數(shù)內(nèi)部遷移一樣,當(dāng)企業(yè)將數(shù)據(jù)庫從一個(gè)服務(wù)器移動(dòng)到另一個(gè)服務(wù)器時(shí),可以選擇離線遷移,隨后可能會(huì)面臨停機(jī)時(shí)間和在線遷移等問題。如果企業(yè)主要遷移的是數(shù)據(jù),那么在線遷移是最好的選擇,因?yàn)樵趦蓚€(gè)數(shù)據(jù)庫之間切換時(shí)可以將停機(jī)時(shí)間保持在最低限度。
這個(gè)過程的核心是采用數(shù)據(jù)遷移助手(Data Migration Assistant),企業(yè)可以使用該數(shù)據(jù)遷移助手將數(shù)據(jù)從一個(gè)SQL Server實(shí)例移動(dòng)到另一個(gè)SQL Server實(shí)例,服務(wù)器租用 免備案服務(wù)器,分析數(shù)據(jù)庫,并在遷移過程中提高性能。這需要使用VPN或高帶寬ExpressRoute連接在本地?cái)?shù)據(jù)庫和Azure環(huán)境之間建立虛擬網(wǎng)絡(luò)連接。一旦部署到位,就需要將其配置為Azure VNet,并為目標(biāo)數(shù)據(jù)庫、Azure服務(wù)總線和Azure存儲(chǔ)提供適當(dāng)?shù)亩它c(diǎn)。
在本地設(shè)置遷移服務(wù) 設(shè)置Azure數(shù)據(jù)庫遷移服務(wù)的一些要求似乎有些顛覆了人們所了解的所有安全規(guī)則,尤其是在數(shù)據(jù)庫網(wǎng)絡(luò)方面。但是,所有的流量都將通過VNET連接,因此企業(yè)將處于整個(gè)安全范圍內(nèi),即使暫時(shí)降低了一些數(shù)據(jù)庫安全性。
通過本地?cái)?shù)據(jù)庫與Azure配置之間的連接,企業(yè)可以開始運(yùn)行SQL Server遷移評估。在創(chuàng)建用于保存評估結(jié)果的項(xiàng)目之前,選擇SQL Server作為源服務(wù)器,并選擇Azure SQL數(shù)據(jù)庫作為目標(biāo)。
遷移評估將提供兩種類型的報(bào)告,一種詳細(xì)說明數(shù)據(jù)庫兼容性,一種詳細(xì)說明功能奇偶校驗(yàn)。企業(yè)可以選擇兩者之一,也可以不選擇。但建議兩者都使用;如果兩個(gè)平臺之間存在任何可能影響應(yīng)用程序代碼的差異,以及任何存儲(chǔ)過程或觸發(fā)器,則需要了解對源數(shù)據(jù)庫進(jìn)行哪些更改。 當(dāng)評估完成后,可以看到需要解決的問題列表。雖然大多數(shù)功能都是不太重要的奇偶校驗(yàn)問題,但可能會(huì)出現(xiàn)阻止遷移的兼容性問題,以及采用緩解措施。它將添加具有Azure特定功能的詳細(xì)信息,這些功能可替代內(nèi)部部署功能,并提供有關(guān)如何在數(shù)據(jù)庫中使用它們的指南。
微軟公司最近推出了Azure SQL托管實(shí)例,將其作為Azure SQL的替代方案。這些是SQL Server的PaaS實(shí)現(xiàn),將它們用作遷移目標(biāo)可以簡化將數(shù)據(jù)庫遷移到Azure的過程,因?yàn)檫@樣會(huì)減少兼容性問題。與使用IaaS-VM托管SQL Server不同,不需要定義服務(wù)器計(jì)算和內(nèi)存,域名購買 directadmin授權(quán),而Azure云平臺可以處理所有內(nèi)容。
如果沒有其他操作,那么企業(yè)已準(zhǔn)備好遷移數(shù)據(jù),并可以進(jìn)入下一步:使用數(shù)據(jù)遷移助手遷移數(shù)據(jù)庫。創(chuàng)建新的遷移項(xiàng)目,并選擇將架構(gòu)從內(nèi)部部署遷移到Azure。可以連接兩臺服務(wù)器,選擇要遷移的對象,然后生成運(yùn)行遷移的腳本。檢查腳本,然后運(yùn)行它們,并將企業(yè)的架構(gòu)從數(shù)據(jù)庫部署到Azure實(shí)例。
設(shè)置Azure門戶 遷移的下一階段需要登錄Azure門戶,在該門戶中將Azure數(shù)據(jù)遷移助手添加到企業(yè)的帳戶并創(chuàng)建服務(wù)。這將設(shè)置Azure數(shù)據(jù)庫遷移服務(wù)實(shí)例,將其連接到企業(yè)為數(shù)據(jù)遷移設(shè)置的VNet。作為配置服務(wù)的一部分,需要為遷移選擇適當(dāng)?shù)亩▋r(jià)層。如果是一次性使用免費(fèi)標(biāo)準(zhǔn)層,它最多支持四個(gè)核心和離線遷移;高級定價(jià)適用于需要最少停機(jī)時(shí)間的遷移,支持四核服務(wù)器上的在線遷移,每小時(shí)為0.37美元(前六個(gè)月免費(fèi))。
使用定價(jià)模型,使用虛擬網(wǎng)絡(luò)上的完全限定域名添加源服務(wù)器的連接詳細(xì)信息。對目標(biāo)Azure SQL實(shí)例執(zhí)行相同操作。設(shè)置連接后,將要遷移的數(shù)據(jù)庫映射到目標(biāo)。該服務(wù)將自動(dòng)選擇目標(biāo)上存在的空表,這些空表應(yīng)該完全匹配,因?yàn)橐呀?jīng)遷移了模式。該服務(wù)提供驗(yàn)證選項(xiàng),當(dāng)完成填寫遷移設(shè)置后,它將運(yùn)行遷移,報(bào)告流程中可能發(fā)生的問題。企業(yè)可以從服務(wù)門戶監(jiān)控操作,并留意出現(xiàn)的錯(cuò)誤。