進行 Data Migration Assistant 設定 (機器翻譯)

您可以在 dma.exe.config 檔案中設定組態值,以微調 Data Migration Assistant 的特定行為。 本文說明金鑰組態值。

您可以在機器的下列資料夾中,找到 Data Migration Assistant 傳統型應用程式和命令列公用程式的 dma.exe.config 檔案。

  • 傳統型應用程式

    %ProgramFiles%\Microsoft Data Migration Assistant\dma.exe.config

  • 命令列公用程式

    %ProgramFiles%\Microsoft Data Migration Assistant\dmacmd.exe.config

進行任何修改之前,請務必先儲存原始組態檔的複本。 進行變更之後,請重新啟動 Data Migration Assistant,讓新的組態值生效。

要平行評定的資料庫數目

Data Migration Assistant 會平行評定多個資料庫。 在評定期間,Data Migration Assistant 會擷取資料層應用程式 (dacpac),以了解資料庫架構。 如果平行評定同一部伺服器上的數個資料庫,此作業可能會逾時。

從 Data Migration Assistant v2.0 開始,您可以藉由設定 parallelDatabases 組態值來控制此數目。 預設值為 8。

<advisorGroup>
<workflowSettings>
<assessment parallelDatabases="8" />
</workflowSettings>
</advisorGroup>

要平行移轉的資料庫數目

Data Migration Assistant 會在移轉登入之前,平行移轉多個資料庫。 在移轉期間,Data Migration Assistant 會建立來源資料庫的備份、選擇性地複製備份,然後在目標伺服器上加以還原。 如果選取了數個資料庫進行移轉,您可能會遇到逾時失敗。

從 Data Migration Assistant v2.0 開始,如果您遇到此問題,可以縮減 parallelDatabases 組態值。 如果要縮短整體移轉時間,則可以增加值。

<advisorGroup>
<workflowSettings>
<migration parallelDatabases="8″ />
</workflowSettings>
</advisorGroup>

DacFX 設定

在評定期間,Data Migration Assistant 會擷取資料層應用程式 (dacpac),以了解資料庫架構。 如果大型資料庫發生逾時,或伺服器負載不足,此作業可能會失敗。 從 Data Migration v1.0 開始,您可以修改下列組態值以避免錯誤。

注意

根據預設,會為整個 <dacfx> 項目加上註解。 請移除註解,然後視需要修改值。

  • commandTimeout

    此參數會以「秒數」設定 IDbCommand.CommandTimeout 屬性。 (預設=60)

  • databaseLockTimeout

    此參數相當於以「毫秒」為單位的 SET LOCK_TIMEOUT timeout_period。 (預設=5000)

  • maxDataReaderDegreeOfParallelism

    此參數會設定要使用的 SQL 連線集區連線數目。 (預設=8)

<advisorGroup>
<advisorSettings>
<dacFx commandTimeout="60" databaseLockTimeout="5000" maxDataReaderDegreeOfParallelism="8"/>
</advisorSettings>
</advisorGroup>

Stretch Database:建議閾值

重要

Stretch Database 在 SQL Server 2022 (16.x) 及 Azure SQL 資料庫中已被取代。 資料庫引擎的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

您可以利用 SQL Server Stretch Database,將暖和冷交易資料從 Microsoft SQL Server 2016 動態延展至 Azure。 Stretch Database 建議不再是建議程式選項。

SQL 連線逾時

您可以在執行評定或移轉時控制來源和目標執行個體的 SQL 連線逾時,方法是將連線逾時值設定為指定的秒數。 預設值為 15 秒。

<appSettings>
<add key="ConnectionTimeout" value="15" />
</appSettings>

忽略錯誤碼

每個規則的標題都有錯誤碼。 如果您不需要規則並想要予以忽略,請使用 ignoreErrorCodes 屬性。 您可以指定忽略單一錯誤或多個錯誤。 若要忽略多個錯誤,請使用分號,例如 ignoreErrorCodes="46010;71501"。 預設值為 71501,與物件參考系統物件 (例如程式、檢視等) 時所識別的未解析參考相關聯。

<workflowSettings>
<assessment parallelDatabases="8" ignoreErrorCodes="71501" />
</workflowSettings>

另請參閱