適用於:SQL Server on Azure Virtual Machines
了解將您的SQL Server遷移到SQL Server on Azure Virtual Machines(虛擬機)的不同遷移策略。
你可以將在本地或其他平台上運行的 SQL Server 進行遷移:
- 虛擬機上的 SQL Server
- Amazon Elastic Compute Cloud (Amazon EC2)
- Amazon Relational Database Service (Amazon RDS)
- Google Compute Engine
如需其他移轉指南,請參閱資料庫移轉。
概觀
若您希望在維持作業系統控制的情況下使用熟悉的 SQL Server 環境,並希望充分利用雲端提供的功能,例如虛擬機的內建高可用性、自動化備份以及自動修補,則可遷移至Azure 虛擬機上的 SQL Server。
通過自帶
選擇適當的目標
Azure Virtual Machines在Azure的多個不同區域運行,並提供多種 機器尺寸 以及 Azure 管理磁碟類型。
在決定 SQL Server 工作負載的虛擬機與儲存空間大小時,請參考 Azure 虛擬機上的 SQL Server 效能指引。
為了確定您的資料資產中所有工作負載的虛擬機大小和儲存需求,您應透過以效能為基礎的Azure Migrate 評估來進行容量評估。 如果無法使用這個選項,請參閱下列有關建立您自己的效能基準一文。
同時也應考慮在虛擬機上正確安裝與設定 SQL Server。 你應該使用 Azure SQL 虛擬機器映像庫,這樣可以建立一個擁有正確版本、版本和作業系統的SQL Server虛擬機。 此選項也會自動將Azure虛擬機註冊給 SQL Server 資源提供者,啟用自動備份與自動修補等功能。
移轉策略
將使用者資料庫遷移到Azure虛擬機上的SQL Server實例有兩種遷移策略:migrate,以及lift and shift。
何種方法適用於您企業通常取決於下列因素:
- 移轉的大小和規模
- 移轉的速度
- 程式碼變更的應用程式支援
- 需要更改 SQL Server 版本、作業系統,或兩者皆有。
- 現有產品的支援生命週期
- 在移轉期間應用程式停機的時間範圍
下表說明兩個移轉策略的差異:
| 移轉策略 | 描述 | 使用時機 |
|---|---|---|
| 遷移與原封不動 | 使用搬移遷移策略,將整個實體或虛擬 SQL Server 從目前位置移至 Azure VM 上的 SQL Server 實例,且不更改作業系統或 SQL Server 版本。 要完成升降機轉移,請參見 Azure Migrate。 來源伺服器會維持連線並可服務要求,而來源和目的地伺服器則會同步處理資料,讓您順暢進行移轉。 |
用於單一至大規模的移轉,適用於資料中心結束之類的案例。 幾乎不用變更使用者 SQL 資料庫或應用程式所需的程式碼,可讓整體移轉速度更快。 不需要額外的步驟就能移轉商務智慧服務,例如 SSIS、SSRS 和 SSAS。 |
| 遷移 | 當你想升級目標 SQL Server 和/或作業系統版本時,請使用遷移策略。 從 Azure Marketplace 選擇一個 Azure 虛擬機,或是與原始 SQL Server 版本相符的 SQL Server 映像檔。 |
當需要或希望遷移到 SQL Server on Azure Virtual Machines,或是需要升級已不再支援的舊版SQL Server和/或作業系統版本時,才會使用。 可能需要一些應用程式或使用者資料庫的變更來支援 SQL Server 升級。 如果在移轉範圍內,商務智慧服務的移轉可能還有其他考量。 |
遷移與原封不動
下表詳述了lift and shift遷移策略的可用方法,將SQL Server資料庫遷移至Azure虛擬機上的SQL Server:
| 方法 | 最低來源版本 | 最低目標版本 | 來源備份大小限制 | 備註 |
|---|---|---|---|---|
| Azure Migrate | SQL Server 2008 SP4 | SQL Server 2012 SP4 | Azure VM storage limit | 現有的 SQL Server 將不做任何更動地移至 Azure 虛擬機上的 SQL Server 實例。 可以縮放移轉工作負載至高達 35000 個 VM。 來源伺服器在同步處理伺服器資料期間維持連線並可服務要求,將停機時間降到最低。 自動化與腳本:Azure Site Recovery 腳本 與 Azure 的縮放遷移與規劃範例 |
注意
現在可以使用 Azure Migrate 將你的 故障轉移叢集執行個體 和 可用性群組 解決方案遷移到 Azure 虛擬機上的 SQL Server。
移轉
建議的遷移方法是本地取得原生的 SQL Server
當將 SQL Server 資料庫遷移到 Azure VM 上的 SQL Server 實例時,選擇適合切換到目標伺服器時的做法非常重要,因為這會影響應用程式停機時間。
以下表格詳細說明所有可將 SQL Server 資料庫遷移至 Azure VM 上的 SQL Server 的方法:
| 方法 | 最低來源版本 | 最低目標版本 | 來源備份大小限制 | 備註 |
|---|---|---|---|---|
| 分散式可用性群組 | SQL Server 2016 | SQL Server 2016 | Azure VM storage limit |
分散式可用性群組是跨兩個不同可用性群組之特殊類型的可用性群組。 參與分散式可用性群組的可用性群組不需要位於相同的位置中,並包含跨網域支援。 此方法可將停機時間降至最短。 當您在內部部署環境中設定可用性群組時使用。 自動化與scripting: Transact-SQL (T-SQL) |
| 備份至檔案 | SQL Server 2008 SP4 | SQL Server 2012 SP4 | Azure VM storage limit | 對於在電腦之間移動資料庫,這是簡單且通過完善測試的技術。 使用壓縮將傳輸的備份大小降至最低。 自動化與腳本:T-SQL 與 AzCopy 傳送到 Blob 儲存體 |
| 備份到 URL | SQL Server 2012 SP1 CU2 | SQL Server 2012 SP1 CU2 | SQL Server 2016 為 12.8 TB,否則為 1 TB | 另一種方法是利用 Azure 儲存將備份檔案移到 VM 上。 使用壓縮將傳輸的備份大小降至最低。 自動化與指令碼:T-SQL 或維修方案 |
| SQL Server Management Studio 中的 SQL Server 遷移元件 | SQL Server 2005 | SQL Server 2012 SP4 | Azure VM storage limit | SQL Server 遷移元件會評估本地 SQL Server,然後無縫升級至較新版本的 SQL Server,或遷移到 Azure VM 上的 SQL Server。 不應用於啟用 FILESTREAM 的使用者資料庫上。 具備遷移 SQL 與 Windows 登入的功能。 |
| 分離和連接 | SQL Server 2008 SP4 | SQL Server 2014 | Azure VM storage limit | 當你打算用 Azure Blob Storage 自動化與腳本:T-SQL 與 AzCopy 傳送到 Blob 儲存體 |
| 記錄傳送 | SQL Server 2012 SP4 (僅限 Windows) | SQL Server 2012 SP4 (僅限 Windows) | Azure VM storage limit | 日誌運送會將本地的交易日誌檔案複製到Azure虛擬機上的SQL Server實例。 這可將容錯移轉期間的停機時間降到最低,而且設定負荷會比設定 Always On 可用性群組更少。 自動化與指令碼:T-SQL |
| SQL Server 2012 或更高版本 | SQL Server 2012 或更高版本 | Azure VM storage limit | 當您在自帶您的 SQL Server 授權、遷移運行於較舊版本 SQL Server 的資料庫,或將系統和使用者資料庫合併作為依賴其他使用者資料庫和/或系統資料庫遷移的一部分時,請使用此選項。 | |
| SQL Server 2012 或更高版本 | SQL Server 2012 或更高版本 | Azure VM storage limit | 當手動複製方法太慢,例如大型資料庫時,請使用 Windows 匯入/匯出服務 |
在網路選項有限或無的情況下進行大型資料傳輸時,請參閱在低速或無網路頻寬之情況下進行大型資料集的資料轉送。
提示
你可以使用 Azure Migrate 將你的 容錯移轉叢集執行個體 和 可用性群組 解決方案移至 Azure 虛擬機上的 SQL Server。
考量
以下清單提供查看移轉方法時要考慮的重點:
為了達到最佳資料傳輸效能,建議將資料庫和檔案遷移到 Azure VM 上的 SQL Server 實例,使用壓縮備份檔案。 對於較大的資料庫,除了壓縮外,也可將備份檔案分割成較小的檔案,提升備份和傳輸期間的效能。
若從 2014 SQL Server 或更早版本遷移,請考慮使用 encrypting the backups以保護網路傳輸時的資料。
為了減少資料庫遷移時的停機時間,請使用Always On可用性群組。
對於網路選項有限或無網路選項,可使用離線遷移方式,如備份與還原,或Azure中提供的磁碟傳輸服務。
若要在Azure虛擬機上更改SQL Server上的 SQL Server 版本,請參見 change SQL Server edition。
商業智慧
在遷移 SQL Server 商業智慧服務時,可能還有其他考量,超出資料庫遷移的範疇。
SQL Server Integration Services
您可以使用以下兩種方法之一,將 SSISDB 中的 SQL Server Integration Services(SSIS)套件與專案遷移至 Azure VM 上的 SQL Server。
將 SSISDB 從來源 SQL Server 實例備份並還原到 Azure VM 上的 SQL Server。 這會將 SSISDB 中的套件還原至 SSIS 目錄。
使用其中一個
部署選項 ,在 Azure 虛擬機上重新部署您的目標 SQL Server。
如果您將 SSIS 套件部署為套件部署模型,您可以在移轉之前轉換這些套件。 如需詳細資訊,請參閱專案轉換教學課程。
SQL Server Reporting Services
要將您的SQL Server Reporting Services(SSRS)報告遷移到Azure虛擬機上的目標SQL Server,請參見 遷移 Reporting Services 安裝(原生模式)。
另外,你也可以將 SSRS 報表遷移到Power BI的分頁報表。 使用 RDL Migration Tool,協助準備和移轉您的報表。 Microsoft 開發此工具,協助客戶將報告定義語言(RDL)報告從 SSRS 伺服器遷移至 Power BI。 該文件可在 GitHub 上取得,並記錄了遷移情境的端到端操作。
SQL Server Analysis Services
SQL Server Analysis Services 資料庫(多維或表格模型)可透過以下選項之一從您的原始 SQL Server 遷移至 Azure VM 上的 SQL Server:
- 以互動方式使用 SSMS
- 透過程式設計方式使用分析管理物件 (AMO)
- 藉由使用 XMLA (XML for Analysis) 指令碼
若要深入了解,請參閱移動 Analysis Services 資料庫。
或者,您也可以考慮將本地分析服務的表格模型遷移至
伺服器物件
根據您來源 SQL Server 的設定,可能還有其他需要手動介入的 SQL Server 功能,這些功能必須透過 SQL Server Management Studio 使用 Transact-SQL (T-SQL) 生成腳本,然後在 Azure VM 上的目標 SQL Server 上執行這些腳本以進行遷移。 以下是一些常用的功能:
- 登入和角色
- 連結的伺服器
- 外部資料來源
- 代理作業
- 警示
- 資料庫郵件
- 複製
如需必須移動的中繼資料和伺服器物件完整清單,請參閱管理在另一部伺服器上提供資料庫時所需的中繼資料。
支援的版本
在準備將 SQL Server 資料庫遷移到 Azure VM 上的 SQL Server 時,務必考慮支援的 SQL Server 版本。 關於目前支援Azure虛擬機SQL Server版本的清單,請參見SQL Server on Azure VMs。
移轉資產
如需更多協助,請參閱下列為真實世界移轉專案開發的資源。
| 資產 | 描述 |
|---|---|
| 資料工作負載評定模型及工具 | 此工具會針對指定的工作負載,提供建議的「最適合」目標平台、雲端整備,以及應用程式/資料庫補救等級。 此工具提供簡單的選取即計算並產生報告功能,透過提供自動化且統一的目標平台決策程序來協助加速評估大型資產。 |
| 使用 Logman 將 Perfmon 資料收集自動化 | 此工具收集性能資料以了解基準效能,從而協助提供移轉目標的推薦建議。 這個工具利用 logman.exe 來建立指令,能建立、啟動、停止及刪除遠端SQL Server設定的效能計數器。 |
| Multiple-SQL-VM-VNet-ILB | 本白皮書概述了如何在 SQL Server Always On 可用性群組配置中設置多個 Azure 虛擬機器的步驟。 |
| 在每個區域支援 Ultra Disk 的 Azure 虛擬機器 | 這些 PowerShell 腳本提供程式化選項,以取得支援 Ultra Disk 的 Azure 虛擬機器區域清單。 |
資料 SQL 工程小組開發這些資源。 這個團隊的核心任務是消除阻礙並加速複雜的現代化,以推進資料平台遷移到 Microsoft 的 Azure 資料平台。