Ausführen des Datenmigrations-Assistenten über die Befehlszeile

Wenn Sie den Datenmigrations-Assistenten installieren, wird bei Version 2.1 und höher auch „dmacmd.exe“ in %ProgramFiles%\Microsoft Data Migration Assistant\ installiert. Mit „dmacmd.exe“ können Sie Ihre Datenbanken im unbeaufsichtigten Modus bewerten und das Ergebnis in eine JSON- oder CSV-Datei ausgeben. Diese Methode ist besonders nützlich bei der Bewertung mehrerer oder sehr großer Datenbanken.

Hinweis

„Dmacmd.exe“ unterstützt nur die Ausführung von Bewertungen. Migrationen werden derzeit nicht unterstützt.

Bewertungen über die Befehlszeilenschnittstelle (CLI)

DmaCmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" \["connectionString2"\]
\[/AssessmentSourcePlatform="SourcePlatform"]
\[/AssessmentTargetPlatform="TargetPlatform"\]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
\[/AssessmentOverwriteResult\]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Argument Beschreibung Erforderlich (J/N)
/help or /? Hilfetext zur Verwendung von „dmacmd.exe“ N
/AssessmentName Name des Bewertungsprojekts J
/AssessmentDatabases Liste der Verbindungszeichenfolgen mit Leerzeichen als Trennzeichen. Der Datenbankname (Anfangskatalog) berücksichtigt Groß-/Kleinschreibung. J
/AssessmentSourcePlatform Quellplattform für die Bewertung:
Unterstützte Werte für die Bewertung: SqlOnPrem, RdsSqlServer (Standard)
Unterstützte Werte für die Zielbereitschaftsbewertung: SqlOnPrem, RdsSqlServer (Standard), Cassandra (Vorschau)
N
/AssessmentTargetPlatform Zielplattform für die Bewertung:
Unterstützte Werte für die Bewertung: AzureSqlDatabase, ManagedSqlServer, SqlServer2012, SqlServer2014, SqlServer2016, SqlServerLinux2017 und SqlServerWindows2017 (Standard)
Unterstützte Werte für die Zielbereitschaftsbewertung: ManagedSqlServer (Standard), CosmosDB (Vorschau)
N
/AssessmentEvaluateFeatureParity Ausführen von Featureparitätsregeln. Bei der Quellplattform RdsSqlServer wird die Featureparitätsbewertung für die Zielplattform AzureSqlDatabase nicht unterstützt. J
(Entweder AssessmentEvaluateCompatibilityIssues oder AssessmentEvaluateFeatureParity muss angegeben werden.)
/AssessmentEvaluateCompatibilityIssues Ausführen von Kompatibilitätsregeln J
(Entweder AssessmentEvaluateCompatibilityIssues oder AssessmentEvaluateFeatureParity muss angegeben werden.)
/AssessmentOverwriteResult Überschreiben der Ergebnisdatei N
/AssessmentResultJson Vollständiger Pfad zur JSON-Ergebnisdatei J
(Entweder AssessmentResultJson oder AssessmentResultCsv muss angegeben werden.)
/AssessmentResultCsv Vollständiger Pfad zur CSV-Ergebnisdatei J
(Entweder AssessmentResultJson oder AssessmentResultCsv muss angegeben werden.)
/AssessmentResultDma Vollständiger Pfad zur DMA-Ergebnisdatei N
/Action Verwenden Sie SkuRecommendation, um SKU-Empfehlungen abzurufen.
Verwenden Sie AssessTargetReadiness, um eine Zielbereitschaftsbewertung durchzuführen.
Verwenden Sie AzureMigrateUpload, um alle DMA-Bewertungsdateien in AzzessmentResultInputFolder in Azure Migrate hochzuladen. Syntax für Aktionstyp: /Action= AzureMigrateUpload
N
/SourceConnections Liste der Verbindungszeichenfolgen mit Leerzeichen als Trennzeichen. Der Datenbankname (Anfangskatalog) ist optional. Wenn kein Datenbankname angegeben wird, werden alle Datenbanken in der Quelle bewertet. J
(Muss angegeben werden, wenn die Aktion „AssessTargetReadiness“ verwendet wird.)
/TargetReadinessConfiguration Vollständiger Pfad zur XML-Datei mit Werten für Name, Quellverbindungen und Ergebnisdatei. J
(Entweder TargetReadinessConfiguration oder SourceConnections muss angegeben werden.)
/FeatureDiscoveryReportJson Pfad zum JSON-Featureermittlungsbericht. Wenn diese Datei generiert wird, kann sie verwendet werden, um die Zielbereitschaftsbewertung ohne Verbindung zur Quelle erneut auszuführen. N
/ImportFeatureDiscoveryReportJson Pfad zum zuvor erstellten JSON-Featureermittlungsbericht. Anstelle von Quellverbindungen wird diese Datei verwendet. N
/EnableAssessmentUploadToAzureMigrate Ermöglicht das Hochladen und Veröffentlichen von Bewertungsergebnissen in Azure Migrate. N
/AzureCloudEnvironment Wählt die Azure-Cloudumgebung aus, zu der eine Verbindung hergestellt werden soll (standardmäßig die öffentliche Azure-Cloud). Unterstützte Werte: Azure (Standard), AzureChina, AzureGermany, AzureUSGovernment. N
/SubscriptionId Die Azure-Abonnement-ID. J
(Muss angegeben werden, wenn das EnableAssessmentUploadToAzureMigrate-Argument angegeben ist.)
/AzureMigrateProjectName Der Name des Azure Migrate-Projekts, in das Bewertungsergebnisse hochgeladen werden sollen. J
(Muss angegeben werden, wenn das EnableAssessmentUploadToAzureMigrate-Argument angegeben ist.)
/ResourceGroupName Name der Azure Migrate-Ressourcengruppe. J
(Muss angegeben werden, wenn das EnableAssessmentUploadToAzureMigrate-Argument angegeben ist.)
/AssessmentResultInputFolder Der Eingabeordnerpfad mit .DMA-Bewertungsdateien, die in Azure Migrate hochgeladen werden sollen. J
(Muss bei der Aktion AzureMigrateUpload angegeben werden.)

Beispiele für Bewertungen über die CLI

Dmacmd.exe

Dmacmd.exe /? or DmaCmd.exe /help

Bewertung einer einzelnen Datenbank mit Windows-Authentifizierung und Ausführung von Kompatibilitätsregeln

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

Bewertung einer einzelnen Datenbank mit SQL Server-Authentifizierung und Ausführung von Featureparitätsregeln

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

Bewertung einer einzelnen Datenbank für die Zielplattform SQL Server 2012, Speichern der Ergebnisse in JSON- und CSV-Datei

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"

Bewertung einer einzelnen Datenbank für die Zielplattform Azure SQL-Datenbank, Speichern der Ergebnisse in JSON- und CSV-Datei

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"

Bewertung mehrerer Datenbanken

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"

Zielbereitschaftsbewertung einer einzelnen Datenbank mit Windows-Authentifizierung

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

Zielbereitschaftsbewertung einer einzelnen Datenbank mit SQL Server-Authentifizierung

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" 

Bewertung einer einzelnen Datenbank für die Zielplattform Azure SQL-Datenbank, Speichern der Ergebnisse in JSON- und CSV-Datei

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"

Zielbereitschaftsbewertung für mehrere Datenbanken

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.)

Zielbereitschaftsbewertung für alle Datenbanken auf einem Server mit Windows-Authentifizierung

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

Zielbereitschaftsbewertung durch Importieren eines zuvor erstellten Featureermittlungsberichts

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

Zielbereitschaftsbewertung durch Bereitstellen der Konfigurationsdatei

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

Konfigurationsdateiinhalt bei Verwendung von Quellverbindungen:

<?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>

Konfigurationsdateiinhalt beim Import des Featureermittlungsberichts:

<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>

Bewerten und Hochladen in Azure Migrate in der öffentlichen Azure-Cloud (Standard)

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

Batchupload von DMA-Bewertungsdateien in Azure Migrate in der öffentlichen Azure-Cloud (Standard)

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

SKU-Empfehlungen für Azure SQL-Datenbank / Azure SQL Managed Instance / SQL Server auf Azure-VM über die CLI

Wenn Sie den Datenmigrations-Assistenten installieren, wird bei Version 5.4 und höher auch „SqlAssessment.exe“ in „%ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole“ installiert. Mit „SqlAssessment.exe“ können Sie Leistungsdaten für Ihre SQL-Instanz über einen längeren Zeitraum erfassen und das Ergebnis in eine JSON- oder CSV-Datei ausgeben.

Diese Befehle unterstützen Empfehlungen zu Bereitstellungsoptionen für eine einzelne Azure SQL-Datenbankinstanz, Azure SQL Managed Instance und SQL Server auf einer Azure-VM.

.\SqlAssessment.exe GetSkuRecommendation 
--outputFolder C:\Output 
--targetPlatform AzureSqlManagedInstance
Argument Beschreibung Erforderlich (J/N)
PerfDataCollection Startet die Erfassung von Leistungsdaten. J
GetSkuRecommendation Führt eine Aggregation und Analyse der erfassten Leistungsdaten durch und bestimmt SKU-Empfehlungen. J
GetMetadata Führt eine Metadatenerfassung der SQL-Zielinstanzen aus, einschließlich Anzahl und Eigenschaften der Serverinstanzen, Datenbanken und Datenbankdateien, benutzerdefinierten Objekten usw. Ein vollständiger Bericht wird in MetadataReport.json exportiert. J
--outputFolder Ordner, in den Leistungsdaten, Berichte und Protokolle geschrieben bzw. aus dem diese gelesen werden. N
(Standard: aktuelles Verzeichnis)
--sqlConnectionStrings Formale Verbindungszeichenfolge(n) in Anführungszeichen für die SQL-Zielinstanz(en). J
--overwrite Gibt an, ob vorhandene Bewertungs- oder SKU-Empfehlungsberichte überschrieben werden sollen. N
(Standard: true)
--perfQueryIntervalInSec Intervall in Sekunden, in dem Leistungsdaten abfragt werden sollen. N
(Spezifisch für PerfDataCollection-Aktion. Standard: 30)
--staticQueryIntervalInSec Intervall in Sekunden, in dem statische Konfigurationsdaten abfragt und gespeichert werden sollen. N
(Spezifisch für PerfDataCollection-Aktion. Standard: 30)
--numberOfIterations Anzahl der Iterationen der Leistungsdatenerfassung, die vor dem Speichern in einer Datei ausgeführt werden sollen. N
(Spezifisch für PerfDataCollection-Aktion. Standard: 20)
--perfQueryIntervalInSec Intervall in Sekunden, in dem Leistungsdaten abgefragt wurden. N
(Spezifisch für GetSkuRecommendation-Aktion. Muss mit dem Wert übereinstimmen, der ursprünglich während der Leistungsdatenerfassung verwendet wurde. Standard: 30)
--targetPlatform Zielplattform für SKU-Empfehlung: entweder AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachine oder Any. N
(Spezifisch für GetSkuRecommendation-Aktion. Standard: Any)
--targetSqlInstance Name der SQL-Instanz, auf die sich die SKU-Empfehlung bezieht. N
(Spezifisch für GetSkuRecommendation-Aktion)
--targetPercentile Perzentil der Datenpunkte, die bei der Aggregation der Leistungsdaten verwendet werden sollen. N
(Spezifisch für GetSkuRecommendation-Aktion. Wird nur für die Baselinestrategie verwendet (nicht elastisch). Standard: 95)
--scalingFactor Skalierungsfaktor (Komfortfaktor), der bei der SKU-Empfehlung verwendet wird. N
(Spezifisch für GetSkuRecommendation-Aktion. Standard: 100)
--startTime UTC-Startzeit der Leistungsdatenpunkte, die bei der Aggregation berücksichtigt werden sollen, im Format "YYYY-MM-DD HH:MM". N
(Spezifisch für GetSkuRecommendation-Aktion. Wird nur für die Baselinestrategie verwendet (nicht elastisch).)
--endTime UTC-Endzeit der Leistungsdatenpunkte, die bei der Aggregation berücksichtigt werden sollen, im Format "YYYY-MM-DD HH:MM". N
(Spezifisch für GetSkuRecommendation-Aktion. Wird nur für die Baselinestrategie verwendet (nicht elastisch).)
--elasticStrategy Gibt an, ob die elastische Strategie für SKU-Empfehlungen basierend auf statistischen Ressourcennutzungsprofilen verwendet werden soll. Die elastische Strategie ist derzeit für Azure SQL-Datenbanken und SQL Managed Instance verfügbar, aber noch nicht für SQL Server auf einer Azure-VM als Ziel. N
(Spezifisch für GetSkuRecommendation-Aktion. Standard: false)
--databaseAllowList Liste mit Namen von Datenbanken mit Leerzeichen als Trennzeichen, für die SKU-Empfehlungen erstellt werden sollen N
(Spezifisch für GetSkuRecommendation-Aktion. Standard: null)
--databaseDenyList Liste mit Namen von Datenbanken mit Leerzeichen als Trennzeichen, für die keine SKU-Empfehlungen erstellt werden sollen. Geben Sie nur databaseAllowList ODER databaseDenyList oder keines davon an. N
(Spezifisch für GetSkuRecommendation-Aktion. Standard: null)
--displayResult Gibt an, ob die SKU-Empfehlungsergebnisse in der Konsole ausgegeben werden sollen. Geben Sie nur databaseAllowList ODER databaseDenyList oder keines davon an. N
(Spezifisch für GetSkuRecommendation-Aktion. Standard: true)

Beispiele für SKU-Bewertungen über die CLI

SqlAssessment.exe

SqlAssessment.exe --help

Starten der Datenerfassung für lokale SQL Server-Instanzen

.\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

SKU-Empfehlungen für Azure SQL-Datenbank / Azure SQL Managed Instance / SQL Server auf Azure-VM

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

SKU-Empfehlungen für Azure SQL Managed Instance mit einem bestimmten Aggregationsprozentsatz für Datenpunkte und einem benutzerdefinierten Skalierungsfaktor

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

SKU-Empfehlungen für SQL Server auf Azure-VM mit benutzerdefinierter Aggregationszeitachse

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

Weitere Informationen