共用方式為


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

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

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

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

移轉

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

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

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

  • 受控執行個體連結
  • 記錄轉送服務 (LRS)
  • 適用 Azure Data Studio 的 Azure SQL 移轉延伸模組 - 可在幾乎不導致停機的情況下完成移轉。
  • 原生RESTORE DATABASE FROM URL - 從 SQL Server 使用原生備份且需要一些停機時間。

SQL 受控執行個體鎖定的是需要將大量資料庫從內部部署或 Azure VM 資料庫實作移轉的使用者案例。 如果您需要隨即轉移定期使用執行個體層級和/或跨資料庫功能的應用程式後端,則這是最佳選擇。 如果這符合您的使用案例,則可將整個執行個體移動至 Azure 中的對應環境,不需要重新建構應用程式。

若要移動 SQL 執行個體,您需要謹慎規劃下列作業:

  • 移轉所有需要共置的資料庫 (在相同執行個體上執行的資料庫)。
  • 移轉您應用程式依賴的執行個體層級物件,包括登入、認證、SQL Agent 工作和運算子,以及伺服器層級觸發程序。

SQL 受控執行個體是一種受控服務,可讓您將一些固定的內建 DBA 活動委派至平台。 由於已內建高可用性,因此不需要移轉某些執行個體層級的資料,例如,定期備份的維護作業或 Always On 組態。

Azure Data Studio

本節提供從 SQL Server 移轉至 Azure SQL 受控執行個體的高階步驟,使用 Azure Data Studio 中的 Azure SQL 移轉延伸模組將停機時間降到最低。 如需詳細指示,請參閱教學課程:使用 Azure Data Studio 將 SQL Server 線上移轉至 Azure SQL 受控執行個體

若要使用 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 資料移轉服務。 如果您先前已使用 Azure Data Studio 建立 Azure 資料庫移轉服務,則可視需要重複使用同一個服務。
  7. 其他做法:若您的備份位於內部部署的網路共用,則請在可連線至來源 SQL Server,而且其位置包含備份檔案的機器上,下載並安裝自我裝載整合執行階段
  8. 啟動資料庫移轉,並在 Azure Data Studio 中監視進度。 您也可以到 Azure 入口網站的 Azure 資料庫移轉服務資源,監視裝載進度。
  9. 完成完全移轉。
    1. 停止所有導向來源資料庫的傳入交易。
    2. 進行應用程式組態變更,以指向 Azure SQL 受控執行個體中的目標資料庫。
    3. 針對指定備份位置中的來源資料庫,進行結尾記錄備份。
    4. 請確定所有資料庫備份都具有「監視詳細資料」頁面中的「還原」狀態。
    5. 選取監視詳細資料頁面中的 [完成完全移轉]。

本節提供從 SQL Server 移轉至 Azure SQL 受控執行個體的高階步驟,使用受控執行個體連結將停機時間降到最低。 如需詳細指示,請參閱使用連結移轉

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

  1. 建立目標 SQL 受控執行個體:Azure 入口網站PowerShellAzure CLI
  2. 讓環境做好連結準備
  3. 使用 SSMS指令碼設定連結。
  4. 停止工作負載。
  5. 驗證目標執行個體上的資料。
  6. 容錯移轉連結

記錄轉送服務 (LRS)

本節提供從 SQL Server 移轉至 Azure SQL 受控執行個體的高階步驟,使用記錄轉送服務 (LRS) 將停機時間降到最低。 如需詳細指示,請檢閱使用記錄轉送服務從 SQL Server 移轉資料庫

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

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

備份及還原

Azure SQL 受控執行個體具備一項關鍵功能,可快速輕鬆地進行資料庫移轉,即對儲存在 Azure 儲存體中資料庫備份 (.bak) 檔案的 SQL 受控執行個體進行原生還原。 備份和還原會根據資料庫的大小進行非同步作業。

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

此圖顯示 SQL Server 上有個箭頭標示為備份/上傳至 URL,且箭頭流向 Azure 儲存體;而第二個箭號標示為從 URL 還原,且箭頭從 Azure 儲存體流向 SQL 受控執行個體。

注意

進行備份、將其上傳至 Azure 儲存體並對 Azure SQL 受控執行個體執行原生還原作業的時間是根據資料庫的大小。 請將足夠的停機納入考慮,以顧及大型資料庫的作業。

視您所執行的來源 SQL Server 版本而定,下表提供可用方法的詳細資訊:

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

重要

使用原生還原選項將受到透明資料加密保護的資料庫移轉至受控執行個體時,需要在資料庫還原之前移轉來自內部部署或 Azure VM SQL Server 的對應憑證。 如需詳細步驟,請參閱將受 TDE 保護資料庫的憑證移轉到 Azure SQL 受控執行個體

不支援系統資料庫還原。 若要移轉執行個體層級物件 (儲存在 mastermsdb 資料庫中),建議透過指令碼來找出這些物件,並在目的地執行個體上執行 T-SQL 指令碼。

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

  1. 將資料庫備份至 Azure Blob 儲存體。 例如,在 SQL Server Management Studio 中使用備份至 URL。 使用 Microsoft Azure 工具支援早於 SQL Server 2012 SP1 CU2 的資料庫。

  2. 使用 SQL Server Management Studio 連線至 Azure 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. 還原完成後,請在 SQL Server Management Studio 內的 [物件總管] 檢視資料庫。

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

注意

資料庫還原為非同步作業,而且可以重試。 如果連線中斷或逾時已過期,您可能會在 SQL Server Management Studio 中收到錯誤。 Azure SQL Database 將會繼續嘗試在背景還原資料庫,而且您可以使用 sys.dm_exec_requestssys.dm_operation_status 檢視追蹤還原進度。

資料同步和完全移轉

當您使用會持續將資料變更從來源複寫/同步至目標的移轉選項時,來源資料和結構描述可能會變更,並且從目標漂移。 在資料同步期間,請確定來源上的所有變更都已在移轉程序中擷取並套用至目標。

在您確認來源和目標上的資料都相同後,便可以從來源轉換至目標環境。 請務必與商務 / 應用程式團隊規劃完全移轉流程,以確保在完全移轉期間盡可能減少中斷,避免影響商務持續性。

重要

如需使用 DMS 進行移轉時與執行完全移轉相關聯的特定步驟的詳細資料,請參閱執行移轉完全移轉

移轉後

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

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

監視和補救應用程式

完成移轉至受控執行個體的作業後,應追蹤工作負載的應用程式行為和效能。 此程序包括下列活動:

執行測試

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

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

使用進階功能

您可以利用 SQL 受控執行個體所提供的進階雲端式功能,例如,內建高可用性威脅偵測,以及監視和微調工作負載

Azure SQL 分析可讓您集中監視大量受控執行個體。

部分 SQL Server 功能只能在資料庫相容性層級變更為最新相容性層級 (150) 之後使用。