移轉指南:Azure 虛擬機器上的 SQL Server SQL Server
在本指南中,您將了解如何根據需求,透過工具和技術來將使用者資料庫從 SQL Server 移轉到 Azure 虛擬機器上的 SQL Server 執行個體。
請先完成移轉前步驟,再繼續進行。
移轉
完成移轉前階段的步驟之後,您就可以開始移轉使用者資料庫和元件。 請使用您慣用的移轉方法來移轉您的資料庫。
下列各節依喜好排序提供執行移轉的選項:
- 使用適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組進行移轉,搭配最少停機時間
- 備份與還原
- 從 URL 中斷連結和從 URL 連結
- 轉換為 VM、上傳至 URL 並部署為新的 VM
- 記錄傳送
- 寄送硬碟
- 在使用者資料庫外部移轉物件
使用適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組進行移轉 (最少停機時間)
若要使用 Azure Data Studio 執行最少停機時間的移轉,請遵循下列高階步驟操作。 如需詳細的逐步教學課程,請參閱教學課程:使用 DMS 將 SQL Server 移轉到 Azure 虛擬機器上的 SQL Server:
- 下載並安裝 Azure Data Studio 和 Azure SQL 移轉延伸模組。
- 啟動 Azure Data Studio 延伸模組的「移轉至 Azure SQL 精靈」。
- 選取資料庫以進行評定,並檢視移轉整備程度或是否其他任何問題。 此外,請收集效能資料,並取得正確大小的 Azure 建議。
- 從您的訂閱選取 Azure 帳戶和 Azure 虛擬機器上的目標 SQL Server。
- 選取資料庫備份的位置。 您的資料庫備份可以位於內部部署的網路共用,或位於 Azure 儲存體 Blob 容器中。
- 使用 Azure Data Studio 中的精靈,建立新的 Azure 資料移轉服務。 如果您先前已使用 Azure Data Studio 建立 Azure 資料庫移轉服務,則可視需要重複使用同一個服務。
- 選擇性:如果您的備份位於內部部署網路共用,請在可連線到來源 SQL Server,而且其位置包含備份檔案的電腦上,下載並安裝自我裝載整合執行階段。
- 啟動資料庫移轉,並在 Azure Data Studio 中監視進度。 您也可以到 Azure 入口網站的 Azure 資料庫移轉服務資源,監視裝載進度。
- 完成完全移轉。
- 停止所有導向來源資料庫的傳入交易。
- 進行應用程式設定變更,以指向 Azure 虛擬機器上 SQL Server 中的目標資料庫。
- 針對指定備份位置中的來源資料庫,進行結尾記錄備份。
- 請確定所有資料庫備份都具有「監視詳細資料」頁面中的「還原」狀態。
- 選取監視詳細資料頁面中的 [完成完全移轉]。
備份與還原
如何使用備份和還原來執行標準移轉:
- 根據您的需求,為 Azure 虛擬機器上的 SQL Server 設定連線能力。 如需詳細資訊,請參閱連線到 Azure 上的 SQL Server 虛擬機器。
- 暫停或停止任何在使用所欲移轉資料庫的應用程式。
- 使用單一使用者模式,確定使用者資料庫處於非使用中的狀態。
- 執行完整資料庫備份至內部部署位置。
- 使用遠端桌面、Azure 資料總管或 AzCopy 命令列公用程式,將您的內部部署備份檔案複製到您的 VM。 (建議大於 2 TB 的備份。)
- 將完整資料庫備份還原到 Azure 虛擬機器上的 SQL Server。
從 URL 中斷連結和從 URL 連結
中斷資料庫和記錄檔案的連線,並將其傳輸至 Azure Blob 儲存體。 然後在您的 Azure VM 上從 URL 連結資料庫。 如果您想要將實體資料庫檔案存放在 Blob 儲存體中,請使用這個方法。這對非常大型的資料庫可能很有用。 您可以使用下列一般步驟,使用此手動方法來移轉使用者資料庫:
- 從內部部署資料庫執行個體中斷連結資料庫檔案。
- 使用 AzCopy 命令列公用程式,將中斷連結的資料庫檔案複製到 Azure Blob 儲存體。
- 將資料庫檔案從 Azure URL 連結至 Azure VM 中的 SQL Server 執行個體。
轉換為 VM、上傳至 URL 並部署為新的 VM
您可以使用這個方法,將內部部署 SQL Server 執行個體中的所有系統和使用者資料庫移轉至 Azure 虛擬機器。 您可以使用下列一般步驟,使用此手動方法來移轉整個 SQL Server 執行個體:
- 將實體或虛擬機器轉換為 Hyper-V VHD。
- 使用 Add-AzureVHD Cmdlet,將 VHD 檔案上傳至 Azure 儲存體。
- 使用上傳的 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 所建議的任何修正套用至使用者資料庫。 您必須編寫這些修正的指令碼,藉以確保一致性並允許自動化。
執行測試
資料庫移轉的測試方法包含下列活動:
- 開發驗證測試:若要測試資料庫移轉,您需要使用 SQL 查詢。 建立驗證查詢以針對來源及目標資料庫執行。 驗證查詢應涵蓋已定義的範圍。
- 設定測試環境:測試環境應該包含來源資料庫及目標資料庫的複本。 請務必隔離測試環境。
- 執行驗證測試:對來源及目標執行驗證測試,然後分析結果。
- 執行效能測試:對來源及目標執行效能測試,然後分析並比較結果。
提示
使用資料庫測試助理協助評估目標 SQL Server 效能。
最佳化
對於協調任何資料精確度問題、驗證完整性,以及因應工作負載的潛在效能問題而言,移轉後階段至關重要。
如需這些問題的相關詳細資訊以及問題的緩解步驟,請參閱: