Condividi tramite


Eseguire Data Migration Assistant dalla riga di comando

Importante

Data Migration Assistant (DMA) viene ritirato dal 16 luglio 2025. Per le opzioni di migrazione da SQL Server ad Azure SQL, vedere Panoramica della migrazione: da SQL Server. Per altre informazioni, vedere Annuncio del ritiro di Microsoft Data Migration Assistant (DMA).

Con le versioni 2.1 e successive, quando si installa Data Migration Assistant, viene installato anche dmacmd.exe in %ProgramFiles%\Microsoft Data Migration Assistant. Usare DMACMD per valutare i database in modalità automatica e restituire il risultato in un file JSON o CSV. Questo metodo è particolarmente utile quando si valutano diversi database o database enormi.

DMACMD supporta solo l'esecuzione di valutazioni. Le migrazioni non sono attualmente supportate.

Valutazioni che usano l'interfaccia della riga di comando

dmacmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" ["connectionString2"]
[/AssessmentSourcePlatform="SourcePlatform"]
[/AssessmentTargetPlatform="TargetPlatform"]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
[/AssessmentOverwriteResult]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Argomentazione Descrizione Obbligatorio (S/N)
/help or /? Come utilizzare il testo di aiuto di dmacmd.exe N
/AssessmentName Nome del progetto di valutazione
/AssessmentDatabases Elenco di stringhe di connessione delimitato da spazio. Il nome del database (Catalogo Iniziale) è sensibile alla distinzione tra maiuscole e minuscole.
/AssessmentSourcePlatform Piattaforma di origine per la valutazione:
Valori supportati per La valutazione: SqlOnPrem, RdsSqlServer (impostazione predefinita)
Valori supportati per la valutazione dell'idoneità della destinazione: SqlOnPrem, RdsSqlServer (impostazione predefinita), Cassandra (anteprima)
N
/AssessmentTargetPlatform Piattaforma di destinazione per la valutazione:
Valori supportati per Valutazione: AzureSqlDatabase, ManagedSqlServer, SqlServer2012, SqlServer2014, SqlServer2016, SqlServerLinux2017 e SqlServerWindows2017 (impostazione predefinita)
Valori supportati per la valutazione dell'idoneità della destinazione: ManagedSqlServer, (impostazione predefinita), CosmosDB (anteprima)
N
/AssessmentEvaluateFeatureParity Eseguire regole di parità delle funzionalità. Se la piattaforma di origine è RdsSqlServer, la valutazione della parità delle funzionalità non è supportata per la piattaforma di destinazione AzureSqlDatabase
(È necessario specificare AssessmentEvaluateCompatibilityIssues oppure AssessmentEvaluateFeatureParity.)
/AssessmentEvaluateCompatibilityIssues Eseguire regole di compatibilità
(È obbligatorio specificare AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity.)
/AssessmentOverwriteResult Sovrascrivere il file di risultati N
/AssessmentResultJson Percorso completo del file di risultati JSON
(È obbligatorio specificare AssessmentResultJson o AssessmentResultCsv)
/AssessmentResultCsv Percorso completo del file di risultati CSV
(È obbligatorio specificare AssessmentResultJson o AssessmentResultCsv)
/AssessmentResultDma Percorso completo del file di risultati .dma N
/Action Usare SkuRecommendation per ottenere raccomandazioni sullo SKU.
Usare AssessTargetReadiness per eseguire la valutazione dell'idoneità della destinazione.
Usare AzureMigrateUpload per caricare tutti i file di valutazione DMA nel AssessmentResultInputFolder per eseguire un caricamento in blocco a Azure Migrate. tipo di utilizzo Action/Action=AzureMigrateUpload
N
/SourceConnections Elenco di stringhe di connessione delimitato da spazio. Il nome del database (catalogo iniziale) è facoltativo. Se non viene specificato alcun nome di database, verranno valutati tutti i database nell'origine.
(Richiesto se Action è AssessTargetReadiness)
/TargetReadinessConfiguration Percorso completo del file XML che descrive i valori per il nome, le connessioni di origine e il file di risultato.
(È obbligatorio specificare TargetReadinessConfiguration o SourceConnections)
/FeatureDiscoveryReportJson Percorso del report JSON di individuazione delle funzionalità. Se questo file viene generato, può essere usato per eseguire nuovamente la valutazione dell'idoneità della destinazione senza connettersi all'origine. N
/ImportFeatureDiscoveryReportJson Percorso del report JSON di individuazione delle funzionalità creato in precedenza. Viene usato questo file invece delle connessioni di origine. N
/EnableAssessmentUploadToAzureMigrate Abilita il caricamento e la pubblicazione dei risultati della valutazione in Azure Migrate N
/AzureCloudEnvironment Seleziona l'ambiente cloud di Azure a cui connettersi. Il valore predefinito è Cloud pubblico di Azure. Valori supportati: Azure (impostazione predefinita), AzureChina, AzureGermany, AzureUSGovernment. N
/SubscriptionId ID sottoscrizione di Azure.
(Obbligatorio se l’argomento EnableAssessmentUploadToAzureMigrate è specificato)
/AzureMigrateProjectName Nome del progetto di Azure Migrate in cui caricare i risultati della valutazione.
(Obbligatorio se l’argomento EnableAssessmentUploadToAzureMigrate è specificato)
/ResourceGroupName Nome del gruppo di risorse di Azure Migrate.
(Obbligatorio se l’argomento EnableAssessmentUploadToAzureMigrate è specificato)
/AssessmentResultInputFolder Percorso della cartella di input contenente i file di valutazione .dma da caricare in Azure Migrate.
(Richiesto se Action è AzureMigrateUpload)

Esempi di valutazioni tramite l'interfaccia della riga di comando

DMACMD

dmacmd.exe /?

O:

dmacmd.exe /help`

Valutazione database singolo con autenticazione di Windows ed esecuzione di regole di compatibilità

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"

Valutazione database singolo con autenticazione SQL Server ed esecuzione della parità delle funzionalità

Sostituire <password> con una password valida.

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;User Id=myUsername;Password=<password>;"
/AssessmentEvaluateFeatureParity /AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"

Valutazione database singolo per la piattaforma di destinazione SQL Server 2012, con salvataggio dei risultati in file CSV e JSON

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentTargetPlatform="SqlServer2012"
/AssessmentEvaluateFeatureParity /AssessmentOverwriteResult
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"

Valutazione database singolo per la piattaforma di destinazione Database SQL di Azure, con salvataggio dei risultati in file CSV e JSON

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentTargetPlatform="AzureSqlDatabaseV12"
/AssessmentEvaluateCompatibilityIssues /AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\AssessmentReport.csv"
/AssessmentResultJson="C:\\temp\\AssessmentReport.json"

Valutazione di più database

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName1;Initial
Catalog=DatabaseName1;Integrated Security=true"
"Server=SQLServerInstanceName1;Initial Catalog=DatabaseName2;Integrated
Security=true" "Server=SQLServerInstanceName2;Initial
Catalog=DatabaseName3;Integrated Security=true"
/AssessmentTargetPlatform="SqlServer2016"
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"
/AssessmentResultJson="C:\\Results\\test2016.json"

Valutazione dell'idoneità della destinazione per database singolo con autenticazione di Windows

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Valutazione dell'idoneità della destinazione per database singolo con autenticazione SQL Server

Sostituire <password> con una password valida.

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;User Id=myUsername;Password=<password>;" /AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Valutazione database singolo per la piattaforma di destinazione Database SQL di Azure, con salvataggio dei risultati in file CSV e JSON

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentSourcePlatform="SqlOnPrem"
/AssessmentTargetPlatform="AzureSqlDatabase"
/AssessmentEvaluateCompatibilityIssues /AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\AssessmentReport.csv"
/AssessmentResultJson="C:\\temp\\AssessmentReport.json"

Valutazione dell'idoneità della destinazione per più database

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/AssessmentSourcePlatform=SourcePlatform
/AssessmentTargetPlatform=TargetPlatform
/SourceConnections="Server=SQLServerInstanceName1;Initial Catalog=DatabaseName1;Integrated Security=true" "Server=SQLServerInstanceName1;Initial Catalog=DatabaseName2;Integrated Security=true" "Server=SQLServerInstanceName2;Initial Catalog=DatabaseName3;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\Results\test2016.json"

(/AssessmentSourcePlatform e /AssessmentTargetPlatform sono facoltativi.)

Valutazione dell'idoneità della destinazione per tutti i database in un server con autenticazione di Windows

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Valutazione dell'idoneità della destinazione mediante l'importazione del report di individuazione delle funzionalità creato in precedenza

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/ImportFeatureDiscoveryReportJson="c:\temp\feature_report.json"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Valutazione dell'idoneità della destinazione specificando il file di configurazione

dmacmd.exe /Action=AssessTargetReadiness
/TargetReadinessConfiguration=.\Config.xml

Contenuti del file di configurazione quando si usano le connessioni di origine:

<?xml version="1.0" encoding="utf-8" ?>
<TargetReadinessConfiguration xmlns="http://microsoft.com/schemas/SqlServer/Advisor/TargetReadinessConfiguration">
  <AssessmentName>name</AssessmentName>
  <SourcePlatform>Source Platform</SourcePlatform> <!-- Optional. The default is SqlOnPrem -->
  <TargetPlatform>TargetPlatform</TargetPlatform> <!-- Optional. The default is ManagedSqlServer -->
  <SourceConnections>
    <SourceConnection>connection string 1</SourceConnection>
    <SourceConnection>connection string 2</SourceConnection>
    <!-- ... -->
    <SourceConnection>connection string n</SourceConnection>
  </SourceConnections>
  <AssessmentResultJson>path\to\file.json</AssessmentResultJson>
  <FeatureDiscoveryReportJson>path\to\featurediscoveryreport.json</FeatureDiscoveryReportJson>
  <OverwriteResult>true</OverwriteResult> <!-- or false -->
</TargetReadinessConfiguration>

Contenuti del file di configurazione durante l'importazione del report di individuazione delle funzionalità:

<TargetReadinessConfiguration xmlns="http://microsoft.com/schemas/SqlServer/Advisor/TargetReadinessConfiguration">
  <AssessmentName>name</AssessmentName>
  <ImportFeatureDiscoveryReportJson>path\to\featurediscoveryfile.json</ImportFeatureDiscoveryReportJson>
  <AssessmentResultJson>path\to\resultfile.json</AssessmentResultJson>
  <OverwriteResult>true</OverwriteResult><!-- or false -->
</TargetReadinessConfiguration>

Eseguire la valutazione e il caricamento in Azure Migrate nel cloud pubblico di Azure (impostazione predefinita)

dmacmd.exe
/Action="Assess"
/AssessmentSourcePlatform=SqlOnPrem
/AssessmentTargetPlatform=ManagedSqlServer
/AssessmentEvaluateCompatibilityIssues
/AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentName="assess-myDatabase"
/AssessmentDatabases="Server=myServer;Initial Catalog=myDatabase;Integrated Security=true"
/AssessmentResultDma="C:\assessments\results\assess-1.dma"
/SubscriptionId="Subscription Id"
/AzureMigrateProjectName="Azure Migrate project ame"
/ResourceGroupName="Resource Group name"
/AzureAuthenticationInteractiveAuthentication
/AzureAuthenticationTenantId="Azure Tenant Id"
/EnableAssessmentUploadToAzureMigrate

Caricare in batch i file di valutazione DMA in Azure Migrate nel cloud pubblico di Azure (impostazione predefinita)

dmacmd.exe
/Action="AzureMigrateUpload"
/AssessmentResultInputFolder="C:\assessments\results"
/SubscriptionId="Subscription Id"
/AzureMigrateProjectName="Azure Migrate project name"
/ResourceGroupName="Resource Group name"
/AzureAuthenticationInteractiveAuthentication
/AzureAuthenticationTenantId="Azure Tenant Id"
/EnableAssessmentUploadToAzureMigrate

Raccomandazioni per SKU di Database SQL di Azure, Istanza gestita di SQL di Azure e SQL Server su Macchine virtuali di Azure utilizzando la CLI

Con la versione 5.4 e quelle successive, quando si installa Data Migration Assistant, viene installato anche SqlAssessment.exe in %ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole. Usare SqlAssessment.exe per raccogliere dati sulle prestazioni per l'istanza di SQL per un lungo periodo di tempo e restituire il risultato in un file JSON o CSV.

Questi comandi supportano le raccomandazioni per il Database singolo di SQL di Azure, l'Istanza gestita di Azure SQL e SQL Server nelle opzioni di distribuzione su Macchine Virtuali di Azure.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
Argomentazione Descrizione Obbligatorio (S/N)
PerfDataCollection Avvia la raccolta di dati sulle prestazioni.
GetSkuRecommendation Esegue l'aggregazione e l'analisi dei dati sulle prestazioni raccolti e determina le raccomandazioni relative allo SKU.
GetMetadata Esegue una raccolta di metadati di una o più istanze di SQL di destinazione, inclusi il numero e le proprietà delle istanze del server, dei database e dei file di database, degli oggetti definiti dall'utente e così via. Un report completo viene esportato in MetadataReport.json.
--outputFolder La cartella da cui verranno scritti/letti i dati sulle prestazioni, i report e i log. N
Impostazione predefinita: directory corrente
--sqlConnectionStrings Le stringhe di connessione formali, racchiuse tra virgolette, per le istanze SQL di destinazione.
--overwrite Indica se sovrascrivere o meno eventuali report esistenti relativi a valutazioni o raccomandazioni sullo SKU. N
Impostazione predefinita: true
--perfQueryIntervalInSec Intervallo in cui eseguire query sui dati sulle prestazioni, in secondi. N
Specifico per l'azione PerfDataCollection. Impostazione predefinita 30
--staticQueryIntervalInSec Intervallo in cui eseguire query e salvare in modo permanente i dati di configurazione statici, in secondi. N
Specifico per l'azione PerfDataCollection. Impostazione predefinita 30
--numberOfIterations Numero di iterazioni della raccolta di dati sulle prestazioni da eseguire prima di eseguire il salvataggio permanente in un file. N
Specifico per l'azione PerfDataCollection. Impostazione predefinita 20
--perfQueryIntervalInSec Intervallo in cui i dati sulle prestazioni sono stati interrogati, in secondi. N
(Specifico per l'azione GetSkuRecommendation. Deve corrispondere al valore usato originariamente durante la raccolta dei dati sulle prestazioni. Impostazione predefinita: 30)
--targetPlatform Piattaforma di destinazione per la raccomandazione sullo SKU: AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachine o Any. N
(Specifico per l'azione GetSkuRecommendation. Impostazione predefinita: Any)
--targetSqlInstance Nome dell'istanza di SQL a cui la raccomandazione SKU fa riferimento. N
(Specifico per l'azione GetSkuRecommendation)
--targetPercentile Percentile dei punti dati da usare durante l'aggregazione dei dati sulle prestazioni. N
(Specifico per l'azione GetSkuRecommendation). Usato solo per la strategia baseline (non-elastica). Impostazione predefinita: 95
--scalingFactor Fattore di scalabilità (comfort) usato durante la raccomandazione per lo SKU. N
(Specifico per l'azione GetSkuRecommendation. Impostazione predefinita: 100)
--startTime Ora di inizio UTC dei punti dati delle prestazioni da considerare durante l'aggregazione, in formato "YYYY-MM-DD HH:MM". N
(Specifico per l'azione GetSkuRecommendation). Usato solo per strategia di baseline (non-elastica)
--endTime Ora di fine UTC dei punti dati delle prestazioni da considerare durante l'aggregazione, in formato "YYYY-MM-DD HH:MM" N
(Specifico per l'azione GetSkuRecommendation). Usato solo per strategia di baseline (non-elastica)
--elasticStrategy Indica se usare o meno la strategia elastica per le raccomandazioni sullo SKU in base alla profilatura dell'utilizzo delle risorse statistiche. La strategia elastica è attualmente disponibile per i database SQL di Azure e le istanze gestite di SQL di Azure. Non è ancora disponibile per SQL Server su macchine virtuali di Azure. N
(Specifico per l'azione GetSkuRecommendation. Impostazione predefinita: false)
--databaseAllowList Elenco separato da spazi di nomi di database da includere per le raccomandazioni sugli SKU N
(Specifico per l'azione GetSkuRecommendation. Impostazione predefinita: null)
--databaseDenyList Elenco di nomi di database separati da spazi da escludere dalle raccomandazioni per SKU. Impostare solo uno dei valori seguenti o nessuno dei due: databaseAllowList, databaseDenyList N
(Specifico per l'azione GetSkuRecommendation. Impostazione predefinita: null)
--displayResult Indica se stampare o no i risultati della raccomandazione SKU su console. Impostare solo uno dei valori seguenti o nessuno dei due: databaseAllowList, databaseDenyList N
(Specifico per l'azione GetSkuRecommendation. Impostazione predefinita: true)

Esempi di valutazioni degli SKU tramite l'interfaccia della riga di comando

SqlAssessment.exe

SqlAssessment.exe --help

Avviare il processo di raccolta di dati per istanze di SQL Server locali

.\SqlAssessment.exe PerfDataCollection
--sqlConnectionStrings "Data Source=Server1;Initial Catalog=master;Integrated Security=True;" "Data Source=Server2;Initial Catalog=master;Integrated Security=True;"
--outputFolder C:\Output

Raccomandazioni per Database SQL di Azure/Istanza gestita di Azure SQL/SQL Server sugli SKU di Macchine virtuali di Azure

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform Any

Raccomandazioni per lo SKU di Azure SQL Istanza Gestita con percentuale di aggregazione specifica per punti dati e fattore di ridimensionamento personalizzato

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--targetPercentile 90
--scalingFactor 80

Raccomandazioni per gli SKU di SQL Server su macchine virtuali Azure con cronologia di aggregazione personalizzata

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--startTime "2021-06-05 00:00"
--endTime "2021-06-07 00:00"