Eseguire Data Migration Assistant dalla riga di comando

Con la versione 2.1 e successiva, quando si installa Data Migration Assistant verrà installato anche dmacmd.exe in %Programmi%\Microsoft Data Migration Assistant\. Usare dmacmd.exe 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.

Nota

Dmacmd.exe 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 la 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 S
È obbligatorio specificare AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity.
/AssessmentEvaluateCompatibilityIssues Eseguire regole di compatibilità S
È obbligatorio specificare AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity.
/AssessmentOverwriteResult Sovrascrivere il file di risultati N
/AssessmentResultJson Percorso completo del file di risultati JSON S
È obbligatorio specificare AssessmentResultJson o AssessmentResultCsv.
/AssessmentResultCsv Percorso completo del file di risultati CSV S
È obbligatorio specificare AssessmentResultJson o AssessmentResultCsv.
/AssessmentResultDma Percorso completo del file di risultati DMA N
/Action Usare SkuRecommendation per ottenere raccomandazioni sullo SKU.
Usare AssessmentTargetReadiness per eseguire la valutazione dell'idoneità della destinazione.
Usare AzureMigrateUpload per caricare tutti i file di valutazione DMA in AzzessmentResultInputFolder per il caricamento in blocco in Azure Migrate. Utilizzo del tipo di azione /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. S
Obbligatorio se l'azione è "AssessTargetReadiness"
/TargetReadinessConfiguration Percorso completo del file XML che descrive i valori per il nome, le connessioni di origine e il file di risultato. S
È 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. Verrà 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. S
Obbligatorio se viene specificato l'argomento EnableAssessmentUploadToAzureMigrate
/AzureMigrateProjectName Nome del progetto di Azure Migrate in cui caricare i risultati della valutazione. S
Obbligatorio se viene specificato l'argomento EnableAssessmentUploadToAzureMigrate
/ResourceGroupName Nome del gruppo di risorse di Azure Migrate. S
Obbligatorio se viene specificato l'argomento EnableAssessmentUploadToAzureMigrate
/AssessmentResultInputFolder Percorso della cartella di input contenente file di valutazione DMA da caricare in Azure Migrate. S
Obbligatorio se l'azione è AzureMigrateUpload

Esempi di valutazioni tramite l'interfaccia della riga di comando

Dmacmd.exe

Dmacmd.exe /? or 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 and /AssessmentTargetPlatform are optional.)

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 successiva, quando si installa Data Migration Assistant, verrà installato anche SqlAssessment.exe in %Programmi%\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 Cartella in cui verranno scritti/letti i dati sulle prestazioni, i report e i log. N
Impostazione predefinita: directory corrente
--sqlConnectionStrings Una o più stringhe di connessione formali racchiuse tra virgolette per una o più istanze di 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 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"

Vedi anche