將 SQL Server 數(shù)據(jù)庫(kù)遷移到 Azure SQL 數(shù)據(jù)庫(kù)

來(lái)源: Microsoft
作者:Microsoft
時(shí)間:2021-02-23
17292
本文介紹將SQL Server 2005或更高版本的數(shù)據(jù)庫(kù)遷移到Azure SQL數(shù)據(jù)庫(kù)的主要方法。有關(guān)遷移到Azure SQL托管實(shí)例的信息,請(qǐng)參閱將SQL Server實(shí)例遷移到Azure SQL托管實(shí)例。有關(guān)選擇遷移選項(xiàng)和遷移到Azure SQL的工具的指南,請(qǐng)參閱遷移到AZURE sql

適用于:Azure SQL數(shù)據(jù)庫(kù)

本文介紹將SQL Server 2005或更高版本的數(shù)據(jù)庫(kù)遷移到Azure SQL數(shù)據(jù)庫(kù)的主要方法。有關(guān)遷移到Azure SQL托管實(shí)例的信息,請(qǐng)參閱將SQL Server實(shí)例遷移到Azure SQL托管實(shí)例。有關(guān)選擇遷移選項(xiàng)和遷移到Azure SQL的工具的指南,請(qǐng)參閱遷移到AZURE sql

遷移到單一數(shù)據(jù)庫(kù)或共用數(shù)據(jù)庫(kù)

將SQL Server 2005或更高版本的數(shù)據(jù)庫(kù)遷移到Azure SQL數(shù)據(jù)庫(kù)有兩種主要方法。第一種方法相對(duì)簡(jiǎn)單,但遷移過(guò)程中需要一段時(shí)間(可能較長(zhǎng))的停機(jī)。第二種方法更復(fù)雜,但在遷移過(guò)程中的停機(jī)時(shí)間大大縮短。

兩種方法均需使用Data Migration Assistant(DMA)確保源數(shù)據(jù)庫(kù)與Azure SQL數(shù)據(jù)庫(kù)兼容。SQL數(shù)據(jù)庫(kù)除了要解決服務(wù)器級(jí)操作和跨數(shù)據(jù)庫(kù)操作的相關(guān)問(wèn)題之外,還要解決與SQL Server的功能奇偶一致性問(wèn)題。依賴(lài)部分支持或不受支持的函數(shù)的數(shù)據(jù)庫(kù)和應(yīng)用程序需要進(jìn)行某種程度的重新設(shè)計(jì)來(lái)修復(fù)這些不兼容性,然后才能遷移SQL Server數(shù)據(jù)庫(kù)。

備注

要將非SQL Server數(shù)據(jù)庫(kù)(包括Microsoft Access、Sybase、MySQL Oracle和DB2)遷移到Azure SQL數(shù)據(jù)庫(kù),請(qǐng)參閱SQL Server遷移助手。

方法1:在遷移過(guò)程中需停機(jī)的遷移

如果可以承受一定的停機(jī)時(shí)間,或者正在針對(duì)以后的遷移執(zhí)行生產(chǎn)數(shù)據(jù)庫(kù)的測(cè)試遷移,請(qǐng)使用此方法遷移到單一數(shù)據(jù)庫(kù)或共用數(shù)據(jù)庫(kù)。有關(guān)教程,請(qǐng)參閱遷移SQL Server數(shù)據(jù)庫(kù)。

下面的列表包含使用此方法將SQL Server數(shù)據(jù)庫(kù)遷移到單一數(shù)據(jù)庫(kù)或共用數(shù)據(jù)庫(kù)的常規(guī)工作流。有關(guān)遷移到SQL托管實(shí)例的信息,請(qǐng)參閱遷移到SQL托管實(shí)例。

azure-sql-migration-sql-db.png

1.使用最新版數(shù)據(jù)遷移助手(DMA)評(píng)估數(shù)據(jù)庫(kù)的兼容性。

2.以Transact-SQL腳本形式準(zhǔn)備任何所需的修補(bǔ)程序。

3.進(jìn)行遷移時(shí),創(chuàng)建正在遷移的源數(shù)據(jù)庫(kù)的事務(wù)一致副本,或暫停源數(shù)據(jù)庫(kù)中發(fā)生的新事務(wù)。實(shí)現(xiàn)后一種選擇的方法包括禁用客戶(hù)端連接或創(chuàng)建數(shù)據(jù)庫(kù)快照。遷移后,可以使用事務(wù)復(fù)制來(lái)更新已遷移的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)包含遷移的截止時(shí)間點(diǎn)后發(fā)生的更改。請(qǐng)參閱使用事務(wù)遷移進(jìn)行遷移。

4.部署Transact-SQL腳本,將修補(bǔ)程序應(yīng)用到數(shù)據(jù)庫(kù)副本。

5.通過(guò)使用數(shù)據(jù)遷移助手,將數(shù)據(jù)庫(kù)副本遷移到Azure SQL數(shù)據(jù)庫(kù)中的新數(shù)據(jù)庫(kù)。

備注

還可以使用BACPAC文件,而不是DMA。請(qǐng)參閱將BACPAC文件導(dǎo)入到Azure SQL數(shù)據(jù)庫(kù)中的新數(shù)據(jù)庫(kù)。

優(yōu)化遷移過(guò)程中的數(shù)據(jù)傳輸性能

以下列表包含的建議可幫助你在導(dǎo)入過(guò)程中獲得最佳性能。

·若要獲得最高的傳輸性能,請(qǐng)?jiān)陬A(yù)算允許范圍內(nèi)選擇最高的服務(wù)層級(jí)和計(jì)算大小。為了節(jié)省資金,可以在遷移完成后縮減規(guī)模。

·盡量縮短BACPAC文件和目標(biāo)數(shù)據(jù)中心的距離。

·在遷移過(guò)程中禁用自動(dòng)統(tǒng)計(jì)

·將表和索引分區(qū)

·刪除已編制索引的視圖,在完成后重新創(chuàng)建這些視圖

·將很少查詢(xún)的歷史數(shù)據(jù)轉(zhuǎn)移到其他數(shù)據(jù)庫(kù),將這些歷史數(shù)據(jù)遷移到Azure SQL數(shù)據(jù)庫(kù)中的單獨(dú)數(shù)據(jù)庫(kù)。然后,可以使用彈性查詢(xún)來(lái)查詢(xún)這些歷史數(shù)據(jù)。

遷移完成后優(yōu)化性能

在遷移完成后更新統(tǒng)計(jì)信息并進(jìn)行完全掃描。

方法2:使用事務(wù)復(fù)制

如果在發(fā)生遷移時(shí)你無(wú)法承受從生產(chǎn)中刪除SQL Server數(shù)據(jù)庫(kù)的后果,可以使用SQL Server事務(wù)復(fù)制作為遷移解決方案。若要使用此方法,源數(shù)據(jù)庫(kù)必須滿(mǎn)足事務(wù)復(fù)制要求且兼容Azure SQL數(shù)據(jù)庫(kù)。有關(guān)使用AlwaysOn的SQL復(fù)制的信息,請(qǐng)參閱配置AlwaysOn可用性組(SQL Server)的復(fù)制。

要使用此解決方案,請(qǐng)將Azure SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)配置為要遷移的SQL Server實(shí)例的訂閱服務(wù)器。在新的事務(wù)不斷發(fā)生時(shí),事務(wù)復(fù)制分發(fā)器將對(duì)要同步的數(shù)據(jù)庫(kù)(發(fā)布服務(wù)器)中的數(shù)據(jù)進(jìn)行同步。

使用事務(wù)復(fù)制時(shí),對(duì)數(shù)據(jù)或架構(gòu)所做的所有更改都會(huì)顯示在Azure SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)中。同步完成后,如果你已準(zhǔn)備好進(jìn)行遷移,則可更改應(yīng)用程序的連接字符串,使其指向數(shù)據(jù)庫(kù)。一旦事務(wù)復(fù)制清空保留在源數(shù)據(jù)庫(kù)中的任何更改,并且所有應(yīng)用程序都指向Azure DB,即可卸載事務(wù)復(fù)制。Azure SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)現(xiàn)在是生產(chǎn)系統(tǒng)。

seedcloudtr.png

提示

還可以使用事務(wù)復(fù)制來(lái)遷移源數(shù)據(jù)庫(kù)的子集。復(fù)制到Azure SQL數(shù)據(jù)庫(kù)的發(fā)布可以限制為復(fù)制的數(shù)據(jù)庫(kù)中表的子集。對(duì)于所復(fù)制的每一個(gè)表,可以將數(shù)據(jù)限制為行的子集和/或列的子集。

使用事務(wù)復(fù)制工作流遷移到SQL數(shù)據(jù)庫(kù)

重要

使用最新版本的SQL Server Management Studio以與Azure和SQL數(shù)據(jù)庫(kù)的更新保持同步。較舊版本的SQL Server Management Studio不能將SQL數(shù)據(jù)庫(kù)設(shè)置為訂閱服務(wù)器。更新SQL Server Management Studio。

1.設(shè)置分發(fā)

使用SQL Server Management Studio(SSMS)

使用Transact-SQL

2.創(chuàng)建發(fā)布

使用SQL Server Management Studio(SSMS)

使用Transact-SQL

3.創(chuàng)建訂閱

使用SQL Server Management Studio(SSMS)

使用Transact-SQL

有關(guān)遷移到SQL數(shù)據(jù)庫(kù)的一些提示和差異

使用本地分發(fā)服務(wù)器

這會(huì)對(duì)服務(wù)器產(chǎn)生性能影響。

如果對(duì)性能的影響不可接受,可以使用另一臺(tái)服務(wù)器,但這又會(huì)增大管理的復(fù)雜性。

選擇快照文件夾時(shí),請(qǐng)確保選擇的文件夾足夠大,可以保存想要復(fù)制的每個(gè)表的BCP。

快照創(chuàng)建操作在完成之前會(huì)鎖定關(guān)聯(lián)的表,因此,請(qǐng)適當(dāng)?shù)赜?jì)劃好快照。

Azure SQL數(shù)據(jù)庫(kù)中僅支持推送訂閱。只能從源數(shù)據(jù)庫(kù)添加訂閱服務(wù)器。

解決數(shù)據(jù)庫(kù)遷移的兼容性問(wèn)題

根據(jù)源數(shù)據(jù)庫(kù)中的SQL Server版本以及正在遷移的數(shù)據(jù)庫(kù)復(fù)雜性,可能會(huì)發(fā)現(xiàn)各種不同的不兼容性問(wèn)題。舊版SQL Server的兼容性問(wèn)題更多。除了使用所選搜索引擎的目標(biāo)Internet搜索以外,還可以使用以下資源:

Azure SQL數(shù)據(jù)庫(kù)中不支持的SQL Server數(shù)據(jù)庫(kù)功能

SQL Server 2016中已停用的數(shù)據(jù)庫(kù)引擎功能

SQL Server 2014中已停用的數(shù)據(jù)庫(kù)引擎功能

SQL Server 2012中已停用的數(shù)據(jù)庫(kù)引擎功能

SQL Server 2008 R2中已停用的數(shù)據(jù)庫(kù)引擎功能

SQL Server 2005中已停用的數(shù)據(jù)庫(kù)引擎功能

除了搜索Internet和使用這些資源以外,還可使用AZURE SQL數(shù)據(jù)庫(kù)或StackOverflow的Microsoft Q&問(wèn)題頁(yè)面。StackOverflow

重要

使用Azure SQL托管實(shí)例可遷移現(xiàn)有SQL Server實(shí)例及其數(shù)據(jù)庫(kù),而幾乎不會(huì)出現(xiàn)兼容性問(wèn)題。請(qǐng)參閱什么是托管實(shí)例。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于Microsoft,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營(yíng)方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營(yíng)、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開(kāi)了嶄新的一頁(yè),突破了性能、云原生開(kāi)發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家