決定 Data Migration Assistant (DMA) 是否適合工作

已完成

在您的法律事務所中,您編譯了一份組織的 SQL Server 資料庫清單。 您已指出需要升級至 SQL Server 2019 的資料庫。 所有資料庫都裝載於內部部署環境。 不過,技術長會要求將選取的資料庫移至雲端,以準備進行某些基礎結構變更。 技術長也想要一份詳述必要變更的報告,以便其配置執行升級所需的資源。

您發現無法在技術長規定的期限內,及時執行必要的檢查並建立報告。 在搜尋解決方案之後,您認為 Azure MigrateMicrosoft Data Migration Assistant (DMA) 工具可能會有幫助。 現在必須決定 DMA 是否為最適合您工作的工具。

使用備份與還原來升級/移轉 SQL Server

使用資料庫備份並在目標執行個體上還原,是將舊版 SQL Server 移轉至 SQL Server 2019 的一個選項。 不過,如果您需要移轉大量資料庫,此程序可能會很冗長。 如果您手動移轉資料庫,您必須個別移轉使用者登入。

什麼是 Azure Migrate?

Azure Migrate 提供一套移轉工具儀表板。 您可在入口網站找到文件並下載連結,以評定及移轉伺服器評定及移轉資料庫探索更多案例

Screenshot of the Azure portal's Azure Migrate Overview Get Started screen.

評估並移轉伺服器

您須先探索內部部署或雲端環境中的電腦,才能評定及移轉伺服器。 若要執行探索,您必須將 Azure Migrate 設備安裝到與所要探索電腦位於相同網域的電腦上。

Screenshot of the Azure portal's Azure Migrate Servers screen.

執行 Azure Migrate 設備的電腦具有下列需求:

  • Windows Server 2016
  • 32 GB 的 RAM
  • 8 vCPU
  • 80 GB 的可用磁碟空間

評定及移轉資料庫

我們提供了安裝 Data Migration Assistant 的連結,以供評定及移轉資料庫。

探索更多案例

探索更多包含評定及移轉 WebApps 的工具連結、虛擬桌面基礎結構,以及使用資料箱的資料。 Azure 資料箱是具有 100 TB 容量的耐用型實體儲存裝置。 裝置會送交給客戶,客戶將資料備份至裝置後,再將資料箱裝置送回給 Microsoft。 傳輸數 TB 的資料時,實際寄送資料是最可靠且花費最少的方法。

Screenshot of the Azure portal's Azure Migrate Overview Explore more screen.

什麼是 Microsoft Data Migration Assistant?

Data Migration Assistant start page

DMA 是獨立應用程式,可執行一組工作來協助升級 SQL Server 資料庫。 它會移除在移轉前檢查資料庫是否有相容性問題的耗時程序。 DMA 會連線至「來源」和「目標」伺服器,並探索中斷性變更、行為變更和已淘汰的功能。 如果您正在移轉至內部部署 SQL Server 主機,則亦可執行新功能評定,以尋找目標版本中可增強資料庫效能的功能。 為了移轉至 Azure SQL Database,DMA 會檢查功能同位,藉此找出 Azure 中部分支援或不支援的功能。

DMA 評定資料庫所需的時間將取決於來源資料庫的大小。 對於大型資料庫,您可以個別執行相容性和新功能建議評定,縮短評定時間。

評定資料庫之後,您可以使用 DMA 移轉到目標伺服器。 移轉程序可以包含下列項目:

  • 資料庫結構描述:資料庫中的所有物件,包括資料表、索引、預存程序、檢視和函數
  • 資料
  • Windows 和 SQL 登入
  • 資料庫使用者
  • 伺服器角色

DMA 預設不會移動 sa 登入,而是會移動所有其他限定登入。 您可選取要移轉的登入,但必須確保這些登入會正確對應到已移轉的資料庫。

支援的來源和目標版本

您可使用 DMA 來評定及移轉內部部署資料庫和 Azure SQL Database。 它支援下列來源資料庫:

  • SQL Server 2005
  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2014
  • SQL Server 2016
  • Windows 上的 SQL Server 2017

可讓您移轉到:

  • SQL Server 2012
  • SQL Server 2014
  • SQL Server 2016
  • Windows 或 Linux 上的 SQL Server 2017
  • SQL Server 2019
  • Azure SQL Database

當將資料庫升級至內部部署目標時,即可選擇評定相容性問題和新功能建議。 為了進行 SQL Azure Database 升級,DMA 會醒目提示相容性問題並提供 SQL Server 功能同位類別。 DMA 也包含 Azure 的建議和替代方法。

匯出報表

執行相容性或升級評定之後,您可以將結果匯出成 CSV 或 JSON 供日後參考。 您可結合多部伺服器的評定報告,以在 Power BI 中建立一份報告。 您需要 PowerShell、Power BI Desktop 和 Microsoft 提供的範本來產生這份報告。

對於管理許多資料庫的系統管理員而言,執行資料庫升級可能是一項耗時的工作。 相容性和新功能評定以及升級應於上班時間外或伺服器上的活動最少時進行。 在實務上,可能只有很短的空檔有機會執行這些工作。 DMA 可確保每個作業都以一致的方式完成。 根據預設,它可確保在移轉期間不會忽略任何登入或使用者,因此能夠迅速轉換到新的伺服器。

為練習做好準備

您將會在稍後的練習中使用虛擬機器。 執行這些命令來設定機器,以供對其進行連線。

  1. 在 Cloud Shell 中,建立一部 VM。

    PASSWORD=$(openssl rand -base64 32)
    az vm create \
        --name SQL2019Server \
        --image "MicrosoftSQLServer:sql2019-ws2019:sqldev:latest" \
        --size Standard_D2s_v3 \
        --admin-username azureadmin \
        --admin-password $PASSWORD \
        --nsg-rule RDP \
        --resource-group <rgn>[Sandbox resource group]</rgn>
    echo $PASSWORD
    
  2. 記下此密碼,因為您需要使用該密碼來在練習中連線至 VM。

  3. 開啟 RDP 連接埠以允許使用遠端桌面連線進行連線。

    az vm open-port \
        --port 3389 \
        --name SQL2019Server \
        --resource-group <rgn>[Sandbox resource group]</rgn>
    
  4. 在 VM 中安裝 .NET framework 執行階段版本 4.8。 這是 DMA 5.3 版的必要項。 命令可能需要幾分鐘的時間才能完成:

    az vm run-command invoke \
        --command-id RunPowerShellScript \
        --name SQL2019Server \
        --resource-group <rgn>[Sandbox resource group]</rgn> \
        --scripts "Invoke-WebRequest 'https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0fd66638cde16859462a6243a4629a50/ndp48-x86-x64-allos-enu.exe' -OutFile 'Net4.8.exe'; ./Net4.8.exe /q /norestart /ChainingPackage ADMINDEPLOYMENT"
    
  5. 將 VM 重新開機以完成安裝:

    az vm restart --resource-group <rgn>[Sandbox resource group]</rgn> --name SQL2019Server
    

警告

請不要停用沙箱。 後續單元將會繼續使用此沙箱。