SQL Server Migrate to Cloud Tools & Solutions

2022-09-06

筆記 SQL Server 該如何遷移至 Azure 雲端環境的步驟與相關工具資源。

SQL Server Logo

說明

工具名稱 類型 用途
BACKPAC Solutions Offline 移轉
Backup & Restore Solutions Offline 移轉
Transactional Replication Solutions Online 移轉
Azure Migrate Tools Online & Offline 移轉服務
Azure Database Migration Service Tools Online & Offline 移轉服務
Data Migration Assistant Tools 資料庫升級與移轉評估與進行協助
SQL Server Migration Assistant Tools 異質資料庫遷移至 SQL Server 輔助
Database Experimentation Assistant Tools 工作負載 A/B 測試工具
Microsoft Planning and Assessment Tools 地端環境資料庫盤點工具

Solutions

BACKPAC

適合用在 Offline (停機作業) 的使用情境,適合地端資料庫往雲端 Azure SQL Database 或從雲端資料庫回到地端資料庫的情境

相較於 Backup & Restore,因為 Azure SQL Database 以及 Azure SQL Managed Instance 兩項 PaaS 服務,所使用的 SQL Server Version 為 Evergreen,備份出來的檔案無法相容在其他 Version 的 SQL Server,因此使用將建構指令以及 BCP 建立資料的壓縮檔案格式 BACPAC 就是這種情境下的理想選擇。

需要注意的是 BACPAC 的還原時間遠較 Restore 長 😅

Azure SQL Database 只能使用 BACPAC - 1
Azure SQL Database 只能使用 BACPAC - 2

Backup & Restore

SQL Server 傳統的 Backup & Restore 仍是一項好的解決方案,尤其適合是到雲端的 IaaS 方式或 PaaS 的 Azure SQL Managed Instance,但無法支援 Azure SQL Database。

Transactional Replication

SQL Server 傳統保持跨資料庫伺服器的解決方案,可以用於地端往雲端的資料同步,以解決最小停機時間的需求。

異動複寫 | learn.microsoft

Transactional Replication (異動複寫) | 圖片來源:learn.microsoft

Tools

Azure Migrate

以伺服器為單位進行移轉至 Azure,包含實體伺服器與虛擬伺服器 (VM)。

屬於完整與全面的移轉方案,Azure Migrate 本身提供特定時間內免費的服務,此外會使用到協力廠商 ISV 相關技術則需要費用。

Azure Database Migration Service (DMS) 以及 Data Migration Assistant (DMA) 都是其中的一部分。

Azure Database Migration Service (DMS)

Azure 的服務,用於協助地端到雲端或者雲端之間的資料庫遷移作業協助。

可以協助將資料庫遷移至 Azure SQL Database 以及 Azure SQL Managed Instance ,但不支援將 SQL Server Instance 遷移至 Azure VM。

可處理 MySQL, PostgreSQL, MariaDB 等資料庫的遷移。

💡 DMS 需要使用使用到 TCP 1434 Port

Data Migration Assistant (DMA)

起始遷移作業前,評估資料庫升級與用於發現資料庫效能的問題,並提供改善建議。

可以協助將資料庫遷移至 Azure SQL Database 以及 Azure SQL Managed Instance 並支援將 SQL Server Instance 遷移至 Azure VM。

SQL Server Migration Assistant (SSMA)

協助由 Access, DB2, MySQL, Oracle 以及 SAP ASE 遷移至 SQL Server 的輔助工具。

但無法處理開源的資料格式,例如 PostgreSQL, MariaDB。

SQL Server Migration Assistant | learn.microsoft

Database Experimentation Assistant (DEA)

追蹤特定資料庫,並錄製執行腳本,並且使用 A/B Test 的方式,驗證相同 Workload 在不同組態的資料庫伺服器上差異的情形。

Overview of Database Experimentation Assistant | learn.microsoft

Microsoft Planning and Assessment (MAP)

協助 Windows 資產的清查,用以清查所有伺服器上 SQL Server 執行個體的使用資訊。與雲端的結合應用是整個遷移計畫初期,盤點資料庫執行個體數量所使用。

SQL Server 升級 | learn.microsoft

相關連結

Azure Database Migration Guides | learn.microsoft

SQL Server Integrated Service 初探

SQL Server 閃電般快速查詢指南⚡

SQL Server 周邊工具彙整筆記

SQL Server 學習資源筆記