Ausführen des Datenmigrations-Assistenten über die Befehlszeile
Wichtig
Datenmigrations-Assistent (DMA) ist veraltet. Unter Migrationsoptionen für SQL Server in Azure SQL finden Sie die Optionen zum Migrieren aus SQL Server in Azure SQL.
Mit Version 2.1 und höheren Versionen wird bei der Installation des Datenmigrations-Assistenten auch dmacmd.exe
in %ProgramFiles%\Microsoft Data Migration Assistant
installiert. Mit DMACMD 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.
DMACMD 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 | Y |
/AssessmentDatabases |
Liste der Verbindungszeichenfolgen mit Leerzeichen als Trennzeichen. Der Datenbankname (Anfangskatalog) berücksichtigt Groß-/Kleinschreibung. | Y |
/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. | Y (Entweder AssessmentEvaluateCompatibilityIssues oder AssessmentEvaluateFeatureParity muss angegeben werden.) |
/AssessmentEvaluateCompatibilityIssues |
Ausführen von Kompatibilitätsregeln | Y (Entweder AssessmentEvaluateCompatibilityIssues oder AssessmentEvaluateFeatureParity ist erforderlich.) |
/AssessmentOverwriteResult |
Überschreiben der Ergebnisdatei | N |
/AssessmentResultJson |
Vollständiger Pfad zur JSON-Ergebnisdatei | Y (Entweder AssessmentResultJson oder AssessmentResultCsv ist erforderlich.) |
/AssessmentResultCsv |
Vollständiger Pfad zur CSV-Ergebnisdatei | Y (Entweder AssessmentResultJson oder AssessmentResultCsv ist erforderlich.) |
/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 den AssessmentResultInputFolder hochzuladen, um einen Massenupload in Azure Migrate durchzuführen. Action -Typ der Verwendung /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. | Y (Erforderlich, wenn Action AssessTargetReadiness ist) |
/TargetReadinessConfiguration |
Vollständiger Pfad zur XML-Datei mit Werten für Name, Quellverbindungen und Ergebnisdatei. | Y (Entweder TargetReadinessConfiguration oder SourceConnections ist erforderlich.) |
/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. | Y (Erforderlich, wenn EnableAssessmentUploadToAzureMigrate angegeben wird.) |
/AzureMigrateProjectName |
Der Name des Azure Migrate-Projekts, in das Bewertungsergebnisse hochgeladen werden sollen. | Y (Erforderlich, wenn EnableAssessmentUploadToAzureMigrate angegeben wird.) |
/ResourceGroupName |
Name der Azure Migrate-Ressourcengruppe. | Y (Erforderlich, wenn EnableAssessmentUploadToAzureMigrate angegeben wird.) |
/AssessmentResultInputFolder |
Der Eingabeordnerpfad mit .dma -Bewertungsdateien, die in Azure Migrate hochgeladen werden sollen. |
Y (Erforderlich, wenn Action AzureMigrateUpload ist) |
Beispiele für Bewertungen über die CLI
DMACMD
dmacmd.exe /?
Oder:
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
und /AssessmentTargetPlatform
sind 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
Mit Version 5.4 und höheren Versionen wird bei der Installation des Datenmigrations-Assistenten 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. | Y |
GetSkuRecommendation |
Führt eine Aggregation und Analyse der erfassten Leistungsdaten durch und bestimmt SKU-Empfehlungen. | Y |
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. |
Y |
--outputFolder |
Ordner, in den bzw. aus dem Leistungsdaten, Berichte und Protokolle geschrieben/gelesen werden. | N (Standard: aktuelles Verzeichnis) |
--sqlConnectionStrings |
In Anführungszeichen gesetzte formale Verbindungszeichenfolgen für die SQL-Zielinstanzen. | Y |
--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 die SKU-Empfehlung abzielt. | 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"