Eseguire Data Migration Assistant dalla riga di comando

Importante

Data Migration Assistant (DMA) è deprecato. Per opzioni per la migrazione dei dati da SQL Server ad Azure SQL, vedere opzioni per la migrazione da SQL Server ad Azure SQL.

Con la versione 2.1 e le versioni successive, quando si installa Data Migration Assistant, viene installato 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"
Argomento Descrizione Obbligatorio (S/N)
/help or /? Come usare il testo della guida di dmacmd.exe N
/AssessmentName Nome del progetto di valutazione Y
/AssessmentDatabases Elenco di stringhe di connessione delimitato da spazio. Per il nome del database (catalogo iniziale) viene applicata la distinzione tra maiuscole e minuscole. Y
/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 Y
(È obbligatorio specificare AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity.)
/AssessmentEvaluateCompatibilityIssues Eseguire regole di compatibilità Y
(È obbligatorio specificare AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity.)
/AssessmentOverwriteResult Sovrascrivere il file di risultati N
/AssessmentResultJson Percorso completo del file di risultati JSON Y
(È obbligatorio specificare AssessmentResultJson o AssessmentResultCsv)
/AssessmentResultCsv Percorso completo del file di risultati CSV Y
(È 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 il caricamento bulk ad Azure Migrate. Utilizzo di tipo 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. Y
(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. Y
(È 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. Y
(Obbligatorio se l’argomento EnableAssessmentUploadToAzureMigrate è specificato)
/AzureMigrateProjectName Nome del progetto di Azure Migrate in cui caricare i risultati della valutazione. Y
(Obbligatorio se l’argomento EnableAssessmentUploadToAzureMigrate è specificato)
/ResourceGroupName Nome del gruppo di risorse di Azure Migrate. Y
(Obbligatorio se l’argomento EnableAssessmentUploadToAzureMigrate è specificato)
/AssessmentResultInputFolder Percorso della cartella di input contenente i file di valutazione .dmada caricare in Azure Migrate. Y
(Richiesto se Action è AzureMigrateUpload)

Esempi di valutazioni tramite l'interfaccia della riga di comando

DMACMD

dmacmd.exe /?

Oppure:

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à

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;User Id=myUsername;Password=myPassword;"
/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

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;User Id=myUsername;Password=myPassword;" /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 Database SQL di Azure/Istanza gestita di SQL di Azure/SQL Server negli SKU di Macchine virtuali di Azure usando l'interfaccia della riga di comando

Con la versione 5.4 e le versioni successive, quando si installa Data Migration Assistant, viene installato 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 sia per Database SQL di Azure - Database singolo, Istanza gestita di SQL di Azure che SQL Server nelle opzioni di distribuzione delle macchine virtuali di Azure.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
Argomento Descrizione Obbligatorio (S/N)
PerfDataCollection Avvia la raccolta di dati sulle prestazioni. Y
GetSkuRecommendation Esegue l'aggregazione e l'analisi dei dati sulle prestazioni raccolti e determina le raccomandazioni relative allo SKU. Y
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. Y
--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. Y
--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 sono stati sottoposti a query i dati sulle prestazioni, 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 per la baseline (non elastica). Impostazione predefinita: 95
--scalingFactor Fattore di ridimensionamento (comfort) usato durante la raccomandazione dello 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 la strategia per la 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 la strategia per la 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 Database SQL di Azure e Istanza gestita di SQL. Non è ancora disponibile per SQL Server nella destinazione della macchina virtuale di Azure. N
(Specifico per l'azione GetSkuRecommendation. Impostazione predefinita: false)
--databaseAllowList Elenco di nomi di database delimitato da spazi da includere per le raccomandazioni per gli SKU N
(Specifico per l'azione GetSkuRecommendation. Impostazione predefinita: null)
--databaseDenyList Elenco di nomi di database delimitato da spazi da escludere per le raccomandazioni per gli 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 meno i risultati della raccomandazione per lo SKU nella 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 SQL di Azure/SQL Server negli SKU di Macchine virtuali di Azure

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

Raccomandazioni per lo SKU di Istanza gestita di SQL di Azure 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 lo SKU di SQL Server in macchine virtuali di Azure con sequenza temporale di aggregazione personalizzata

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