共用方式為


移轉指南:SQL Server 至 Azure SQL 受控執行個體

適用於:Azure SQL 受控執行個體

在本指南中,您將了解如何移轉使用者資料庫,從 SQL Server 至 Azure SQL 受控執行個體。

請先完成移轉前步驟,再繼續進行。

移轉

完成移轉前階段的步驟之後,您就可以開始執行結構描述和資料移轉。

使用您選擇的移轉方法來移轉您的資料。

本節提供下列建議移轉選項的一般移轉步驟

  • 管理的執行個體連結
  • 記錄轉送服務 (LRS)
  • 原生 RESTORE DATABASE FROM URL,使用來自 SQL Server 的原生備份,需要一些停機時間
  • Azure 資料庫遷移服務(DMS),提供幾乎零停機的遷移服務
  • SQL Server 遷移在 Azure Arc

SQL 受管實例針對需要從本地或 Azure 虛擬機實作 SQL Server 大規模遷移資料庫的使用者情境。 當你需要提升並調整經常使用實例層級及跨資料庫功能的應用程式後端時,它是最佳選擇。 如果這符合您的使用案例,則可將整個執行個體移動至 Azure 中的對應環境,不需要重新建構應用程式。

要移動 SQL Server 實例,你需要謹慎規劃:

  • 移轉所有需要共置的資料庫 (在相同執行個體上執行的資料庫)。
  • 遷移應用程式所依賴的實例層級物件,包括登入、憑證、SQL Server 代理工作與運算元,以及伺服器層級觸發器。

SQL Managed Instance 是一項託管服務,允許你將部分常規的資料庫管理活動委派給平台,因為它們已經內建了。 因此,你不需要遷移某些實例層級的資料,例如定期備份的維護工作或 Always On 配置,因為 高可用性 是內建的。

資料庫移轉

直接透過 Azure 入口網站,將 Azure Arc 執行個體所啟用的 SQL Server 移轉至 Azure SQL 受控執行個體。 詳細說明請參見 「將 SQL Server 實例遷移至 Azure SQL 管理實例」。

資料庫遷移提供內建的遷移體驗,透過幕後的管理實例連結或日誌重播服務(Log Replay Service,LRS)方法進行,同時簡化遷移流程的設定、管理與監控。

本節提供從 SQL Server 移轉至 Azure SQL 受控執行個體的高階步驟,使用受控執行個體連結將停機時間降到最低。 詳細說明請參見 「附連結遷移」。

若要使用該連結進行移轉,請遵循下列步驟:

  1. 建立你目標 SQL 管理實例: Azure portalPowerShellAzure CLI
  2. 準備您的環境以便進行連結
  3. 使用 SSMS指令碼設定連結。
  4. 停止工作負載。
  5. 驗證目標執行個體上的資料。
  6. 容錯移轉連結

記錄轉送服務 (LRS)

本節提供使用日誌重播服務(Log Replay Service,LRS)從 SQL Server 遷移至 SQL 管理實例的高層步驟,並以最小停機時間完成。 如需詳細指示,請檢閱使用記錄轉送服務從 SQL Server 移轉資料庫

若要使用 LRS 進行移轉,請遵循下列步驟:

  1. 建立具有 blob 容器Azure 儲存體帳戶
  2. 使用 SAS 令牌或受控識別向 Blob 記憶體帳戶進行驗證,並驗證存取權。
  3. 如果您打算移轉多個資料庫,則請務必正確設定資料夾結構
  4. 將備份上傳到你的儲存帳號,可以通過複製備份或直接使用 BACKUP TO URL 進行備份。
  5. 確定您是否要在自動完成或連續模式中執行 LRS。
  6. 啟動 LRS。
  7. 監視移轉進度。
  8. 完成移轉 (如果處於連續模式)。

備份及還原

SQL 管理實例的一項關鍵功能是能夠原生還原儲存在 .bak 中的資料庫備份()檔案。 此功能使資料庫遷移變得簡單。 備份和還原是非同步操作,取決於資料庫的大小。

下圖會提供程序的高階概觀:

圖示中,SQL Server 有一個箭頭,標示為

注意

備份、上傳到 Azure 儲存,並執行原生還原到 SQL 管理實例的時間,取決於資料庫大小。 考慮足夠的停機時間以容納大型資料庫的運作。

下表提供更多可使用方法的資訊,取決於你所執行的原始 SQL Server 版本:

步驟 SQL 引擎和版本 備份/還原方法
將備份放至 Azure 儲存體 2012 年前使用 Service Pack 1 CU2 直接將 .bak 檔案上傳至 Azure 儲存體
2012 SP1 CU2 - 2016 使用已被取代的 WITH CREDENTIAL 語法直接備份
2016 和更新版本 使用 WITH SAS CREDENTIAL 直接備份
從 Azure 儲存體還原至受控執行個體 使用 SAS 認證從 URL 還原

重要

當你使用原生還原選項將一個以 透明資料加密(TDE )保護的資料庫遷移到SQL管理的實例時,你需要先從SQL Server實例(本地或Azure VM上的SQL Server)遷移對應憑證,然後再還原資料庫。 詳細資訊請參見「 將 TDE 保護資料庫憑證遷移至 Azure SQL 管理實例」。

不支援還原系統資料庫。 若要遷移實例層級物件(儲存在 master 資料庫 msdb 中),請先用腳本將其輸出,並在目標實例上執行 Transact-SQL(T-SQL)腳本。

若要使用備份和還原進行移轉,請遵循下列步驟:

  1. 將資料庫備份至 Azure Blob 儲存體。 例如,在 SQL Server Management Studio 中使用備份至 URL。 使用 Microsoft Azure 工具 支援 SQL Server 2012 之前的資料庫,並搭配 Service Pack 1 CU2。

  2. 使用 SQL Server Management Studio(SSMS)連接到你的 SQL 管理實例。

  3. 使用共用存取簽章建立認證,以針對您的資料庫備份存取您的 Azure Blob 儲存體帳戶。 例如:

    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
         SECRET = '<secret>'
    
  4. 從 Azure 儲存 Blob 容器還原備份。 例如:

    RESTORE DATABASE [TargetDatabaseName]
    FROM URL = 'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    
  5. 還原完成後,請在 SSMS 的 物件總管 中查看資料庫。

若要深入了解此移轉選項,請參閱快速入門:使用 SSMS 將資料庫還原至 Azure SQL 受控執行個體

注意

資料庫還原為非同步作業,而且可以重試。 如果連線中斷或逾時,你可能會在 SSMS 中出現錯誤。 Azure SQL 資料庫會持續嘗試在背景還原資料庫,你可以透過 sys.dm_exec_requestssys.dm_operation_status 檢視來追蹤還原進度。

Azure Database Migration Service (Azure DMS)

本節提供使用Azure DMS從SQL Server遷移到SQL管理實例的高層步驟,並以最小的停機時間進行。 詳細資訊請參見 教學:將 SQL Server 遷移至 Azure SQL 管理實例線上版。

要使用 DMS 從 Azure 入口網站遷移,請遵循以下步驟:

  1. 開啟 Azure 入口網站

  2. 打開 Azure DMS,如果你已經建立 DMS 實例,選擇該實例,或是重新建立一個。

  3. 在 DMS 實例儀表板中,選擇 開始遷移,選擇來源伺服器類型,將目標伺服器類型設為 Azure SQL 管理實例,並選擇遷移備份檔案儲存位置與遷移模式。

  4. 提供 Azure 的 SQL Server 追蹤來源細節,例如訂閱、資源群組、位置及 SQL Server 實例名稱。 此步驟建立由 Azure Arc 啟用的 SQL Server 實例。

  5. 提供目標訂閱和資源群組,然後選擇目標 SQL 管理實例。

  6. 提供備份位置的詳細資訊,例如資源群組、儲存帳號、blob 容器、資料夾、最後備份檔(用於離線遷移模式)以及目標資料庫。

  7. 選擇性:如果您的備份位於內部部署的網路共用上,請在可以連接到來源 SQL Server 並含有備份檔案位置的機器上,下載並安裝自我裝載整合執行階段

    1. 你可能需要提供原始的 SQL Server 實例細節和憑證才能連接。

    2. 此外,選擇儲存備份檔案的資料庫及網路 SMB 檔案分享的位置,以及連接的憑證。

  8. 開始資料庫遷移,並在 Azure 門戶中的 DMS 實例監控儀表板監控進度。

  9. 完成遷移流程。

    1. 停止所有導向來源資料庫的傳入交易。

    2. 進行應用程式組態變更,以指向 Azure SQL 受控執行個體中的目標資料庫。

    3. 請在你指定的備份位置,為來源資料庫進行任意的尾端記錄備份。

    4. 請確定所有資料庫備份都具有「監視詳細資料」頁面中的「還原」狀態。

    5. 選擇監控詳細資料頁面中的 [完成完全移轉]。

      詳細說明請參考 教學:將 SQL Server 遷移到 Azure SQL 管理實例與 DMS

若要使用 DMS 搭配 Azure Data Studio 進行遷移,請遵循以下步驟:

  1. 下載及安裝 Azure Data Studio 以及 Azure Data Studio 的 Azure SQL 移轉延伸模組

  2. 在 Azure Data Studio 的延伸模組中,啟動移轉至 Azure SQL 移轉精靈。

  3. 選取資料庫以進行評估,並檢視遷移準備狀況或潛在問題(如果有)。 此外,請收集效能資料,並獲得適合規模的 Azure 建議。

  4. 從訂閱中選擇你的 Azure 帳號和目標 Azure SQL 管理實例。

  5. 選取資料庫備份的位置。 您的資料庫備份可以位於內部部署的網路共用,或位於 Azure 儲存體 Blob 容器中。

  6. 請使用 Azure Data Studio 的精靈建立一個新的 Azure DMS 實例。 如果你之前用 Azure Data Studio 建立過 DMS 實例,也可以重複使用同一個實例。

  7. 可選:如果您的備份是在內部網路共享上,請在能夠連接至來源 SQL Server 實例及備份檔案所在位置的機器上,下載並安裝自我托管整合執行階段

  8. 啟動資料庫移轉,並在 Azure Data Studio 中監視進度。 你也可以在 Azure 入口網站的 DMS 資源下監控進度。

  9. 完成遷移流程。

    1. 停止所有導向來源資料庫的傳入交易。

    2. 進行應用程式組態變更,以指向 Azure SQL 受控執行個體中的目標資料庫。

    3. 請在你指定的備份位置,為來源資料庫進行任意的尾端記錄備份。

    4. 請確定所有資料庫備份都具有「監視詳細資料」頁面中的「還原」狀態。

    5. 選擇監控詳細資料頁面中的 [完成完全移轉]。

SQL Server 遷移在 Azure Arc

透過 Azure 入口網站,將由 Azure Arc 啟用的 SQL Server 實例遷移到 SQL 管理實例。 SQL Managed Instance 提供全託管的 PaaS 解決方案,用於提升與遷移。 流程包括評估準備狀況、選擇目標、資料遷移及進度監控。

有兩種整合方法可供選擇:

  • 管理實例連結,實現近即時複製且停機時間最小,

  • Log Replay Service 用於連續備份與還原。

Microsoft Copilot 在整個遷移過程中提供協助。 遷移支援 SQL Server 2012 及更新版本,並自動化大部分步驟。

欲了解更多資訊,請參閱 Migration to Azure SQL Managed Instance - SQL Server migration in Azure Arc

資料同步和系統切換

當你使用持續複製或同步來源資料變更到目標的遷移選項時,來源資料和結構可能會改變並偏離目標。 在資料同步時,請確保遷移過程能捕捉並套用來源上的所有變更到目標端。

在您確認來源和目標上的資料都相同後,便可以從來源轉換至目標環境。 與業務及應用團隊規劃切換流程,確保切換過程中的中斷降至最低,且不影響業務持續性。

重要

如需有關使用 DMS 進行移轉時的完全移轉步驟之詳細資料,請參閱執行完全移轉

移轉後

確實完成移轉階段之後,仍需進行一系列後續移轉工作,以確保所有項目都能順暢且有效率地運作。

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

監視和修復應用程式

遷移到 SQL 管理實例後,追蹤應用程式的行為與工作負載效能。 此程序包括下列活動:

執行測試

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

  1. 開發驗證測試:測試資料庫遷移時,請使用 T-SQL 查詢。 建立驗證查詢,同時針對來源資料庫和目標資料庫執行。 驗證查詢應涵蓋已定義的範圍。

  2. 設定測試環境:測試環境應該包含來源資料庫及目標資料庫的複本。 請務必隔離測試環境。

  3. 執行驗證測試:先對來源和目標執行驗證測試,然後分析結果。

  4. 執行效能測試:針對來源與目標進行效能測試,然後分析與比較結果。

使用進階功能

善用 SQL Managed Instance 提供的先進雲端功能,如 內建高可用性威脅偵測,以及 監控與調整工作負載

Azure SQL Analytics 讓你能集中監控大量 SQL 管理的實例。

部分 SQL Server 功能僅在將 資料庫相容性等級 調整為最新相容性時才能使用。