共用方式為


移轉指南:Azure 虛擬機器上的 SQL Server SQL Server

適用於:Azure 虛擬機器上的 SQL Server

在本指南中,您將了解如何根據需求,透過工具和技術來將使用者資料庫從 SQL Server 移轉到 Azure 虛擬機器上的 SQL Server 執行個體。

請先檢閱必要條件,然後完成移轉前步驟,再繼續進行。

移轉

完成移轉前階段的步驟之後,您就可以開始移轉使用者資料庫和元件。 請使用您慣用的移轉方法來移轉您的資料庫。

下列各節依喜好排序提供執行移轉的選項:

使用適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組進行移轉 (最少停機時間)

若要使用 Azure Data Studio 執行最少停機時間的移轉,請遵循下列高階步驟操作。 如需詳細的逐步教學課程,請參閱教學課程:使用 DMS 將 SQL Server 移轉到 Azure 虛擬機器上的 SQL Server

  1. 下載並安裝 Azure Data StudioAzure SQL 移轉延伸模組
  2. 啟動 Azure Data Studio 延伸模組的「移轉至 Azure SQL 精靈」。
  3. 選取資料庫以進行評定,並檢視移轉整備程度或是否其他任何問題。 此外,請收集效能資料,並取得正確大小的 Azure 建議。
  4. 從您的訂閱選取 Azure 帳戶和 Azure 虛擬機器上的目標 SQL Server。
  5. 選取資料庫備份的位置。 您的資料庫備份可以位於內部部署的網路共用,或位於 Azure 儲存體 Blob 容器中。
  6. 使用 Azure Data Studio 中的精靈,建立新的 Azure 資料移轉服務。 如果您先前已使用 Azure Data Studio 建立 Azure 資料庫移轉服務,則可視需要重複使用同一個服務。
  7. 選擇性:如果您的備份位於內部部署網路共用,請在可連線到來源 SQL Server,而且其位置包含備份檔案的電腦上,下載並安裝自我裝載整合執行階段
  8. 啟動資料庫移轉,並在 Azure Data Studio 中監視進度。 您也可以到 Azure 入口網站的 Azure 資料庫移轉服務資源,監視裝載進度。
  9. 完成完全移轉。
    1. 停止所有導向來源資料庫的傳入交易。
    2. 進行應用程式設定變更,以指向 Azure 虛擬機器上 SQL Server 中的目標資料庫。
    3. 針對指定備份位置中的來源資料庫,進行結尾記錄備份。
    4. 請確定所有資料庫備份都具有「監視詳細資料」頁面中的「還原」狀態。
    5. 選取監視詳細資料頁面中的 [完成完全移轉]。

備份與還原

如何使用備份和還原來執行標準移轉:

  1. 根據您的需求,為 Azure 虛擬機器上的 SQL Server 設定連線能力。 如需詳細資訊,請參閱連線到 Azure 上的 SQL Server 虛擬機器
  2. 暫停或停止任何在使用所欲移轉資料庫的應用程式。
  3. 使用單一使用者模式,確定使用者資料庫處於非使用中的狀態。
  4. 執行完整資料庫備份至內部部署位置。
  5. 使用遠端桌面、Azure 資料總管AzCopy 命令列公用程式,將您的內部部署備份檔案複製到您的 VM。 (建議大於 2 TB 的備份。)
  6. 將完整資料庫備份還原到 Azure 虛擬機器上的 SQL Server。

從 URL 中斷連結和從 URL 連結

中斷資料庫和記錄檔案的連線,並將其傳輸至 Azure Blob 儲存體。 然後在您的 Azure VM 上從 URL 連結資料庫。 如果您想要將實體資料庫檔案存放在 Blob 儲存體中,請使用這個方法。這對非常大型的資料庫可能很有用。 您可以使用下列一般步驟,使用此手動方法來移轉使用者資料庫:

  1. 從內部部署資料庫執行個體中斷連結資料庫檔案。
  2. 使用 AzCopy 命令列公用程式,將中斷連結的資料庫檔案複製到 Azure Blob 儲存體。
  3. 將資料庫檔案從 Azure URL 連結至 Azure VM 中的 SQL Server 執行個體。

轉換為 VM、上傳至 URL 並部署為新的 VM

您可以使用這個方法,將內部部署 SQL Server 執行個體中的所有系統和使用者資料庫移轉至 Azure 虛擬機器。 您可以使用下列一般步驟,使用此手動方法來移轉整個 SQL Server 執行個體:

  1. 將實體或虛擬機器轉換為 Hyper-V VHD。
  2. 使用 Add-AzureVHD Cmdlet,將 VHD 檔案上傳至 Azure 儲存體。
  3. 使用上傳的 VHD 來部署新的虛擬機器。

注意

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

記錄傳送

記錄傳送會從內部部署複寫交易記錄檔至 Azure VM 上的 SQL Server 執行個體。 這個選項可將容錯移轉期間的停機時間降到最低,而且設定負荷會比設定 Always On 可用性群組更少。

如需詳細資訊,請參閱記錄傳送資料表和預存程序

寄送硬碟

透過網路進行上傳所費不貲或不可行時,請使用 Windows 匯入/匯出服務方法 ,將大量檔案資料移轉至 Azure Blob 儲存體。 您可以使用此服務,將包含該資料的一個或多個硬碟送至 Azure 資料中心,而您的資料將會在此上傳至儲存體帳戶。

在使用者資料庫外部移轉物件

您可能需要更多的 SQL Server 物件,才能在移轉後順利操作使用者資料庫。

下表列出可在使用者資料庫移轉前後完成的元件和建議的移轉方法。

功能 元件 移轉方法
資料庫 模型 使用 SQL Server Management Studio 的指令碼。
tempdb 資料庫 規劃將 tempdb 移到 Azure VM 暫存磁碟 (SSD) 以獲得最佳效能。 請務必挑選本機 SSD 充足的 VM 大小,以容納您的 tempdb
具有 FileStream 的使用者資料庫 使用備份和還原方法來進行移轉。 Data Migration Assistant 不支援具有 FileStream 的資料庫。
安全性 SQL Server 和 Windows 登入 使用 Data Migration Assistant 移轉使用者登入資訊
SQL Server 角色 使用 SQL Server Management Studio 的指令碼。
密碼編譯提供者 建議轉換為使用 Azure Key Vault。 此程序會使用 SQL IaaS 代理程式延伸組件
伺服器物件 備份裝置 使用 Azure 備份取代為資料庫備份,或將備份寫入 Azure 儲存體 (SQL Server 2012 SP1 CU2 +)。 此程序會使用 SQL IaaS 代理程式延伸組件
連結的伺服器 使用 SQL Server Management Studio 的指令碼。
伺服器觸發程序 使用 SQL Server Management Studio 的指令碼。
複寫 本機發行集 使用 SQL Server Management Studio 的指令碼。
本機訂閱者 使用 SQL Server Management Studio 的指令碼。
PolyBase PolyBase 使用 SQL Server Management Studio 的指令碼。
管理 Database Mail 使用 SQL Server Management Studio 的指令碼。
SQL Server Agent 工作 使用 SQL Server Management Studio 的指令碼。
警示 使用 SQL Server Management Studio 的指令碼。
運算子 使用 SQL Server Management Studio 的指令碼。
Proxy 使用 SQL Server Management Studio 的指令碼。
作業系統 檔案、檔案共用 請記下 SQL 伺服器所使用的其他任何檔案或檔案共用,並在 Azure 虛擬機器目標上進行複寫。

移轉後

成功完成移轉階段之後,您需要完成一系列的移轉後工作,以確保所有項目盡可能順暢且有效率地運作。

修復應用程式

將資料移轉至目標環境之後,先前取用來源的所有應用程式都必須開始取用目標。 在某些情況下,可能需要對應用程式進行變更才能完成這項工作。

請將 Data Migration Assistant 所建議的任何修正套用至使用者資料庫。 您必須編寫這些修正的指令碼,藉以確保一致性並允許自動化。

執行測試

資料庫移轉的測試方法包含下列活動:

  1. 開發驗證測試:若要測試資料庫移轉,您需要使用 SQL 查詢。 建立驗證查詢以針對來源及目標資料庫執行。 驗證查詢應涵蓋已定義的範圍。
  2. 設定測試環境:測試環境應該包含來源資料庫及目標資料庫的複本。 請務必隔離測試環境。
  3. 執行驗證測試:對來源及目標執行驗證測試,然後分析結果。
  4. 執行效能測試:對來源及目標執行效能測試,然後分析並比較結果。

提示

使用資料庫測試助理協助評估目標 SQL Server 效能。

最佳化

對於協調任何資料精確度問題、驗證完整性,以及因應工作負載的潛在效能問題而言,移轉後階段至關重要。

如需這些問題的相關詳細資訊以及問題的緩解步驟,請參閱: