檢閱移轉策略和工具

已完成

在 SQL Server 移轉的內容中,請務必仔細規劃以確保移轉成功。 此規劃牽涉到解決移轉層面的 方式原因

SQL Server 移轉程序的視覺標記法,其中強調瞭解優點、利用工具,以及平衡成功移轉的停機時間。

  1. 瞭解需要在移轉完成後辨識優點的 原因
  2. 方法 包含選擇適當的移轉工具和開發完整的移轉計畫。
  3. 此程序中的重要元素是評估組織願意容許的停機時間量。 將移轉程序期間的停機時間降到最低,對於維護作業效率與持續性非常重要。

在此移轉專案中,您的小組已透過啟動會議來起始程序。 您的角色是探索移轉幾個 SQL Server 的工具,並提供未來 SQL 授權成本的潛在影響深入解析。 此外,您必須在可接受的停機時間層級上達成協議。 專案經理也想要納入測試階段,在此階段,在執行完整移轉之前,會先移轉一些伺服器以進行測試。

了解移轉的優點

您可能已透過 Hyper-V 或其他廠商的虛擬機器,在自己的基礎結構上使用虛擬機器。 因此,移轉至此平台對您而言應該不會太過困難。

使用虛擬機器 (VM) 可讓您在主機作業系統與 SQL Server 執行個體上擁有完整的管理控制權。 相較於在內部部署機器上作業,您可以更輕鬆地為 SQL Server 設定和管理高可用性、災害復原以及修補工作。 您也可以設定自動備份和更新,以減輕整體管理的負擔。 在 Azure 虛擬機器上執行 SQL Server 完全支援這些 SQL Server 元件:

  • SQL Server 異動複寫
  • Always On 可用性群組
  • Integration Services
  • Analysis Services
  • Reporting Services
  • 記錄傳送

SQL Server 已經針對將現有 SQL Server 應用程式移轉至 Azure 虛擬機器進行了最佳化,並支援高達 256 TB 的儲存體。 所有的 SQL Server 版本都可供使用,而且與內部部署版本 SQL Server 具有100% 的相容性。

授權

授權模型的類型有三種,可用於裝載於 Azure 中的 SQL Server 虛擬機器。 請評定哪一種類型最適合您的移轉案例。

  • 隨用隨付 (PAYG) 模型意味著執行 Azure VM 的每秒鐘費用包含 SQL Server 授權的費用。

  • 自備授權 (BYOL) 模型也稱為 Azure Hybrid Benefit (AHB),其可讓您對執行 SQL Server 的 VM 使用自有 SQL Server 授權,且您只需要支付 VM 使用量。 此選項僅適用於具有 Enterprise 合約的客戶。

  • 高可用性/災害復原 (HA/DR) 授權 模型會用於 Azure 中的免費 HA/DR 複本。 如果您有 軟體保證,則可以使用 SQL Server 來實作混合式災害復原計畫,而不會因為被動災害復原執行個體而產生額外的授權成本。

提示

若要瞭解如何變更 Azure 中 SQL 虛擬機器的授權模型,請參閱 變更 Azure 中 SQL 虛擬機器的授權模型

網路

如果您是在 Azure 入口網站中佈建 SQL Server VM,則可以選擇指定 SQL 連線的類型,包含:

  • 公用: 透過網際網路連線至 SQL Server。
  • 私人: 連線至相同虛擬網路中的 SQL Server。
  • 本機: 在本機上連線至相同虛擬機器中的 SQL Server。

如果您要從網際網路連線至 SQL Server 資料庫引擎,請選取 [公用]。 入口網站會自動執行下列步驟:

  • 啟用 SQL Server 的 TCP/IP 通訊協定。
  • 設定防火牆規則,以開啟 SQL Server TCP 連接埠 (預設為 1433)。
  • 啟用公用存取所需的 SQL Server 驗證。
  • 將 VM 上的網路安全性群組設定為 SQL Server 連接埠上的所有 TCP 流量。

當您在入口網站中針對 [SQL 連線能力]類型選擇 [私用] 時,Azure 會將大部分設定設定為與公用的相同。 其差異是沒有任何網路安全性群組規則可允許 SQL Server 連接埠 (預設為 1433) 上的外部流量。 您可以在 Azure 入口網站中變更 SQL 虛擬機器的連線設定。

金鑰管理

SQL Server 提供加密功能,此功能需要您管理並儲存密碼編譯金鑰。 Azure Key Vault (AKV) 服務旨在改善這些金鑰在安全且高可用性位置的安全性和管理。 SQL Server 連接器 讓 SQL Server 可以從 Azure 金鑰保存庫使用這些金鑰。

您可以使用 AKV 整合功能來節省時間。 啟用這項功能時,會自動安裝 SQL Server 連接器。 接著,此功能會設定 Extensible Key Management (EKM) 提供者存取 AKV,並建立認證以允許您存取保存庫。

虛擬機器大小調整

您可以選擇包含您所需版本與作業系統的 SQL Server 虛擬機器映像來開始。 此外,您可以將 CPU 與記憶體數目設定為適用於您工作負載的大小。

您可以使用許多資料庫效能微調選項,以確保 SQL Server 能妥善地執行內部部署工作負載,並同時適用於在 Azure VM 上執行的 SQL Server。 另外還有其他需要考量的事項,包括 VM 大小和磁碟的設定。 請使用下列檢查清單作為指引,以確保您已將在 Azure 虛擬機器上執行的 SQL Server 設定為最佳效能。

效能標準 最佳化選項
虛擬機器
  • 若為 Enterprise Edition 的 SQL Server,應選取的最小虛擬機器大小為 DS3_v2 (或以上)
  • 若為 Standard 或 Web Edition,請使用 DS2_v2 作為最小大小
儲存體
  • 若為生產環境工作負載,請使用進階 SSD
  • 若為開發/測試環境,請使用標準儲存體
  • 請確定儲存體與虛擬機器位於相同的位置
Disks
  • 使用至少 2 個 P30 磁碟 (1 個用於記錄檔,另 1 個用於資料檔案,包括 TempDB)
  • 若為需要 ~50,000 IOPS 的工作負載,請考慮使用 Ultra SSD
  • 避免使用作業系統或暫存磁碟作為資料儲存體或進行記錄
  • 在裝載資料檔案和 TempDB 資料檔案的磁碟上啟用讀取快取
  • 在裝載記錄檔案的磁碟上不啟用快取
  • 分割多個 Azure 資料磁碟,以提高 IO 輸送量
  • 以文件上記載的配置大小格式化
  • 針對任務關鍵性 SQL Server 工作負載,將 TempDB 置於本機 SSD 上 (在選擇正確的 VM 大小後)
I/O
  • 啟用資料庫頁面壓縮
  • 針對資料檔案,啟用立即檔案初始化
  • 針對資料庫限制自動成長
  • 針對資料庫停用自動壓縮
  • 將所有的資料庫 (包括系統資料庫) 移到資料磁碟
  • SQL Server 的錯誤記錄檔和追蹤檔案目錄移至資料磁碟
  • 設定預設備份資料庫檔案位置
  • 啟用鎖定的頁面
  • 套用 SQL Server 效能修正程式

您可能會想要套用特定的效能設定,以供工作負載使用。 在移轉之前,請確定已在測試環境中測試過這些設定。

可支援移轉的工具和功能

您有許多不同的方式可將 SQL Server 移轉至 Azure 虛擬機器。 此程序的第一個步驟是佈建已安裝 SQL Server 的 Azure VM。

您可以使用壓縮的備份檔案,將資料庫檔案移轉至 Azure VM,以取得最佳的資料傳輸效能。

若要將資料庫移轉程序中的停機時間降至最低,請使用 Always On 選項或異動複寫選項。 即使無法使用上述任何一種方法,您仍然可以手動移轉資料庫。

這些是支援及移轉 SQL Server 資料庫至在 Azure 虛擬機器上執行的 SQL Server 的主要工具和功能。

  • 適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組 - Azure SQL 移轉延伸模組由最新版本的 Azure 資料庫移轉服務提供支援,且有助於評定移轉的整備程度、為 Azure 資源提供適當的 SKU 建議,以及協助將 SQL Server 資料庫移轉至 Azure,非常適合小型到中型資料庫。 它由最新版的資料移轉服務提供,也提供進階的評定功能,可評定已準備好移轉至 Azure SQL 的 SQL Server資料庫。

  • 使用 Azure Blob 儲存體進行備份和還原您可以將資料庫從 Azure Blob 儲存體 還原至在 Azure 虛擬機器上執行的 SQL Server。

  • 從 URL 中斷連結和連結中斷連結您的資料庫與記錄檔,並將其轉送至 Azure 儲存體帳戶。 然後從 Blob URL 在 Azure 虛擬機器上連結資料庫。

  • 記錄傳送記錄傳送是將 SQL Server 資料庫移轉至 Azure VM 的方法。 它牽涉到使用來源伺服器的交易記錄備份,持續同步目的地伺服器上的資料庫次要複本。 準備就緒時,最終記錄備份會套用至 Azure VM,以最短停機時間啟用順暢的移轉。

  • Azure Migrate Azure Migrate 是支援各種移轉案例的完整移轉服務,包括 SQL Server 移轉。 Azure Migrate 提供一套工具,專為大規模評定及移轉內部部署伺服器、基礎結構、應用程式和資料而設計,目的是將它們移轉至 Azure。

  • 資料庫測試助理 (DEA) 如果對效能有所疑慮,請使用它來評定您的目標伺服器是否可以處理工作負載。 您可以使用分析計量來提供對比資料,以供決定目標版本在移轉後是否能提供更好的體驗。

  • Data Migration Assistant (DMA) - 使用它來將資料庫架構、資料、使用者、伺服器角色、SQL Server 和 Windows 登入從內部部署 SQL Server 移轉至 Azure 虛擬機器上的 SQL Server。 該工具會先執行評估,提示您解決所有合規性問題。 然後,您就可以使用相同的工具將評估後的資料庫結構描述和資料移轉至 Azure。

注意

雖然 Database Migration Assistant 是實用的工具,但建議您使用 Azure 資料庫移轉服務 進行大型移轉和增強的整體體驗。

提示

若要了解如何評估內部部署 SQL Server 執行個體移轉至 Azure SQL,以及如何探索升級後有益於資料庫的 SQL Server 平台新功能,請參閱 評估要移轉至 Azure SQL 模組的 SQL Server 資料庫

定義移轉方法

請務必考量移轉將造成的必要業務停機時間。 無論您是移轉至虛擬機器中的 SQL Server,還是移轉至 Azure SQL 資料庫,

在移轉資料庫方法的選擇上,通常取決於 SQL Server 資料庫可離線時間的長短。 在您決策中的另一項因素,可能是您不想要手動移轉而希望自動化的程序數量。 以停機時間為基礎的移轉類型有以下三種:

  • 零停機時間移轉
  • 小型維護時段移轉
  • 大型維護時段移轉

零停機時間移轉

任務關鍵性工作負載通常需要零停機移轉。 您可以使用 Always On 可用性群組,將資料從 SQL Server 資料庫複寫到 Azure 虛擬機器上的 SQL Server。

小型維護時段移轉

小型維護時段通常以分鐘為單位計算。 使用 Azure 資料庫移轉服務,將資料從內部部署 SQL Server 資料庫複寫和移轉至 Azure 虛擬機器上執行的 SQL Server。

注意

若要移轉整個應用程式,請考慮使用 Azure Site Recovery

大型維護時段移轉

大型維護時段通常是以小時或天為單位來計算,適用於不常變更的應用程式資料庫,或對於企業而言不重要的工作負載。 您擁有數個選項,可使用 SQL Server Management Studio BACPAC 匯出和匯入檔案、使用備份和還原方法,或中斷連結後再重新連結資料庫。