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 .dma da 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"