移轉指南:SQL Server 至 Azure SQL Database
在本指南中,您將了解如何移轉SQL Server 執行個體至 Azure SQL Database。
請先完成移轉前步驟,再繼續進行。
移轉
完成移轉前階段的步驟之後,您就可以開始執行結構描述和資料移轉。
使用您選擇的移轉方法來移轉您的資料。
使用適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組進行移轉
若要使用 Azure Data Studio 執行離線移轉,請遵循下列高階步驟。 如需詳細的逐步教學課程,請參閱教學課程:將 SQL Server 移轉至 Azure SQL 資料庫 (離線)。
- 下載並安裝 Azure Data Studio 和 Azure SQL 移轉延伸模組。
- 在 Azure Data Studio 的延伸模組中,啟動移轉至 Azure SQL 移轉精靈。
- 選取資料庫以進行評定,並檢視移轉整備程度或是否其他任何問題。 此外,請收集效能資料,並取得正確大小的 Azure 建議。
- 從您的訂用帳戶選取 Azure 帳戶和目標 Azure SQL Database。
- 選取要移轉的資料表清單。
- 使用 Azure Data Studio 中的精靈,建立新的 Azure 資料移轉服務。 如果您先前已使用 Azure Data Studio 建立 Azure 資料庫移轉服務,則可視需要重複使用同一個服務。
- 其他做法:若您的備份位於內部部署的網路共用,則請在可連線至來源 SQL Server,而且其位置包含備份檔案的機器上,下載並安裝自我裝載整合執行階段。
- 啟動資料庫移轉,並在 Azure Data Studio 中監視進度。 您也可以到 Azure 入口網站的 Azure 資料庫移轉服務資源,監視裝載進度。
資料同步和完全移轉
當您使用會持續將資料變更從來源複寫/同步至目標的移轉選項時,來源資料和結構描述可能會變更,並且從目標漂移。 在資料同步期間,請確定來源上的所有變更都已在移轉程序中擷取並套用至目標。
在確認來源和目標上的資料都相同後,您便可以從來源完全移轉至目標環境。 請務必與商務 / 應用程式團隊規劃完全移轉流程,以確保在完全移轉期間盡可能減少中斷,避免影響商務持續性。
重要
如需使用 DMS 在移轉過程中執行完全移轉的特定步驟詳細資料,請參閱教學課程:使用 DMS 將 SQL Server 移轉至 Azure SQL 資料庫 (傳統)。
使用異動複寫進行移轉
當您在移轉發生時無法負擔從實際執行中移除 SQL Server 資料庫時,可以使用 SQL Server 異動複寫作為移轉解決方案。 若要使用此方法,來源資料庫必須符合異動複寫需求且與 Azure SQL Database 相容。 如需 SQL 複寫搭配可用性群組的詳細資訊,請參閱設定 Always On 可用性群組的複寫。
若要使用此解決方案,您需將 Azure SQL Database 中的資料庫設定為想要移轉 SQL Server 執行個體的訂閱者。 異動複寫散發者會在繼續進行新異動的同時,從要被同步處理的資料庫 (發行者) 同步處理資料。
使用異動複寫時,對您資料或結構描述所做的一切變更都會顯示在 Azure SQL Database 中的資料庫內。 同步處理完成且您已準備好進行移轉之後,請將您應用程式的連接字串變更成指向您的資料庫。 一旦異動複寫清空留在來源資料庫上的所有變更,並且您的所有應用程式都指向 Azure SQL Database 之後,您便可以將異動複寫解除安裝。 您 Azure SQL Database 中的資料庫現在已是您的生產環境系統。
提示
您也可以使用異動複寫以移轉來源資料庫的子集。 您複寫至 Azure SQL Database 的發佈可以限制為複寫的資料庫中資料表的子集。 針對要複寫的每一個資料表,您可以將資料限制在資料列的子集和 (或) 資料行的子集。
異動複寫流程
重要
請使用最新版的 SQL Server Management Studio 以便與 Azure 及 SQL Database 更新保持同步。 舊版 SQL Server Management Studio 無法將 SQL Database 設定為訂閱者。 取得最新版 SQL Server Management Studio。
步驟 | 方法 |
---|---|
設定散發 | SQL Server Management Studio | Transact-SQL |
建立發行 | SQL Server Management Studio | Transact-SQL |
建立訂用帳戶 | SQL Server Management Studio | Transact-SQL |
一些秘訣和移轉至 SQL Database 的差異
- 使用本機散發者
- 這麼做會影響伺服器的效能。
- 如果無法接受效能受到影響,您可以使用另一部伺服器,但這會增加管理和系統管理的複雜度。
- 當選取快照集資料夾時,請確定您選取的資料夾足以容納要複寫的每個資料表 BCP。
- 建立快照集會鎖定相關聯的資料表直到建立完成為止,因此請適當排程快照集。
- Azure SQL Database 僅支援推送訂用帳戶。 您只能從來源資料庫新增訂閱者。
移轉建議
若要加速移轉至 Azure SQL Database,您應該考慮下列建議:
資源爭用 | 建議 | |
---|---|---|
來源 (通常為內部部署) | 在移轉期間,來源的主要瓶頸是資料檔案 I/O 和延遲性,這需要謹慎監視。 | 根據資料檔案 I/O 和延遲性,以及視其為虛擬機器或是實體伺服器,您可能必須與儲存體管理員合作,探索可緩減該瓶頸的選項。 |
目標 (Azure SQL Database) | 最大的限制因素是記錄產生速率和資料庫記錄檔的延遲性。 透過 Azure SQL Database,您可以取得高達 96 MB/s 的記錄產生速率。 | 若要加速移轉,請將目標 Azure SQL 資料庫擴大為業務關鍵、Gen5、8 個虛擬核心,以取得 96 MB/s 的最高記錄產生速率,以及記錄檔的低延遲性。 無論選擇的服務層級為何,超大規模資料庫服務層級都提供 100 MB/s 的記錄速率。 |
Network | 所需的網路頻寬等於最高記錄內嵌速率 96 MB/s (768 Mb/s) | 您可以根據從內部部署資料中心到 Azure 的網路連線,來檢查您的網路頻寬 (通常是 Azure ExpressRoute),以適應最大的記錄內嵌速率。 |
您也可以考慮這些建議,以在移轉程序期間中獲得最佳效能。
- 選擇預算許可的最高服務層級和計算大小,以獲得最大傳輸效能。 移轉完成後,您可以縮小層級以節省成本。
- 如果您使用 BACPAC 檔案,盡量縮短 BACPAC 檔案和目的地資料中心之間的距離。
- 在移轉期間停用自動更新並自動建立統計資料。
- 磁碟分割表格與索引。
- 捨棄索引檢視表,然後於移轉完成後重新建立。
- 將鮮少查詢的歷程記錄資料移除到另一個資料庫,然後將此歷程記錄資料移轉至 Azure SQL Database 中不同的資料庫內。 您接著可以使用彈性查詢查詢此歷程記錄資料。
移轉後
在成功完成移轉階段之後,請完成後續的移轉後工作,確保所有項目都能順暢且有效率地運作。
移轉後階段對於協調任何資料精確度問題、驗證完整性以及解決工作負載的效能問題而言至關重要。
更新統計資料
在移轉完成後,執行完整掃描以更新統計資料。
修復應用程式
將資料移轉至目標環境之後,先前取用來源的所有應用程式都必須開始取用目標。 在某些情況下,完成這項工作需要對應用程式進行變更。
執行測試
資料庫移轉的測試方法包含下列活動:
- 開發驗證測試:若要測試資料庫移轉,則需要使用 SQL 查詢。 您必須建立驗證查詢,以針對來源及目標資料庫執行。 驗證查詢應涵蓋已定義的範圍。
- 設定測試環境:測試環境應該包含來源資料庫及目標資料庫的複本。 請務必隔離測試環境。
- 執行驗證測試:對來源及目標執行驗證測試,然後分析結果。
- 執行效能測試:對來源及目標執行效能測試,然後分析並比較結果。
使用進階功能
請務必利用 SQL Database 所提供的進階雲端式功能,例如內建的高可用性、威脅偵測,以及監視和調整您的工作負載。
部分 SQL Server 功能只能在資料庫相容性層級變更為最新相容性層級之後使用。
若要深入了解,請參閱在移轉後管理 Azure SQL Database。
解決資料庫移轉相容性問題
根據來源資料庫的 SQL Server 版本和移轉的資料庫複雜度,您可能遇到各種相容性的問題。 舊版 SQL Server 有更多的相容性問題。 除了使用您選擇之搜尋引擎的目標網際網路搜尋之外,請使用下列資源︰
重要
「Azure SQL 受控執行個體」可在將相容性問題降到最低至零的情況下,讓您移轉現有的 SQL Server 執行個體及其資料庫。 請參閱什麼是 Azure SQL 受控執行個體?