Configurare le impostazioni per Data Migration Assistant

È possibile ottimizzare determinati comportamenti di Data Migration Assistant impostando i valori di configurazione nel file dma.exe.config. Questo articolo descrive i valori di configurazione chiave.

Il file di dma.exe.config per l'applicazione desktop Data Migration Assistant e l'utilità della riga di comando sono disponibili nelle cartelle seguenti nel computer.

  • Applicazione desktop

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

  • Utilità della riga di comando

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

Assicurarsi di salvare una copia del file di configurazione originale prima di apportare modifiche. Dopo aver apportato le modifiche, riavviare Data Migration Assistant per rendere effettivi i nuovi valori di configurazione.

Numero di database da valutare in parallelo

Data Migration Assistant valuta più database in parallelo. Durante la valutazione Data Migration Assistant estrae l'applicazione livello dati (dacpac) per comprendere lo schema del database. Questa operazione può raggiungere il timeout se vengono valutati in parallelo più database nello stesso server.

A partire da Data Migration Assistant v2.0, è possibile controllare questa impostazione impostando il valore di configurazione parallelDatabases. Il valore predefinito è 8.

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

Numero di database di cui eseguire la migrazione in parallelo

Data Migration Assistant esegue la migrazione di più database in parallelo prima di eseguire la migrazione degli account di accesso. Durante la migrazione Data Migration Assistant esegue un backup del database di origine, facoltativamente copia il backup e quindi lo ripristina nel server di destinazione. Potrebbero verificarsi errori di timeout se si selezionano diversi database per la migrazione.

A partire da Data Migration Assistant v2.0, se si verifica questo problema, è possibile ridurre il valore di configurazione parallelDatabases. È possibile aumentare il valore per ridurre la durata complessiva della migrazione.

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

Impostazioni di DacFX

Durante la valutazione Data Migration Assistant estrae l'applicazione livello dati (dacpac) per comprendere lo schema del database. Questa operazione può non riuscire e raggiungere il timeout in presenza di database di grandi dimensioni o se il server è in condizioni di carico. A partire da Data Migration v1.0 è possibile modificare i valori di configurazione seguenti per evitare errori.

Nota

L'intera voce <dacfx> è impostata come commento per impostazione predefinita. Rimuovere i commenti e quindi modificare il valore in base alle necessità.

  • commandTimeout

    Questo parametro imposta la proprietà IDbCommand.CommandTimeout in secondi. (Valore predefinito=60)

  • databaseLockTimeout

    Questo parametro è equivalente a SET LOCK_TIMEOUT timeout_period, ma in millisecondi. (Valore predefinito=5000)

  • maxDataReaderDegreeOfParallelism

    Questo parametro imposta il numero di connessioni del pool di connessioni SQL da usare. (Valore predefinito=8)

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

Stretch Database: soglia di raccomandazione

Importante

Stretch Database è deprecato in SQL Server 2022 (16.x) e database SQL di Azure. Questa caratteristica verrà rimossa nelle versioni future del motore di database. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Con SQL Server Stretch Database, è possibile estendere dinamicamente i dati transazionali ad accesso frequente e sporadico da Microsoft SQL Server 2016 ad Azure. La raccomandazione Stretch Database non è più disponibile come opzione di Advisor.

Timeout della connessione SQL

È possibile controllare il timeout della connessione SQL per le istanze di origine e di destinazione durante l'esecuzione di una valutazione o della migrazione, impostando il valore di timeout della connessione su un numero specificato di secondi. Il valore predefinito è 15 secondi.

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

Ignorare i codici errore

Ogni regola contiene un codice errore nel titolo. Se le regole non sono necessarie e si vuole ignorarle, usare la proprietà ignoreErrorCodes. È possibile specificare di ignorare un singolo errore o più errori. Per ignorare più errori, usare un punto e virgola, ad esempio ignoreErrorCodes="46010;71501". Il valore predefinito è 71501, che è associato a riferimenti non risolti identificati quando un oggetto fa riferimento a oggetti di sistema, ad esempio routine, viste e così via.

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

Vedi anche