Exécuter l'Assistant Migration de données à partir de la ligne de commande
Important
L’Assistant Migration de données (DMA) est déconseillé. Pour les options de migration des données de SQL Server vers Azure SQL, consultez Options de migration pour SQL Server vers Azure SQL.
Avec la version 2.1 et les versions ultérieures, lorsque vous installez l’Assistant Migration de données, il installe également dmacmd.exe
dans %ProgramFiles%\Microsoft Data Migration Assistant
. Utilisez DMACMD pour évaluer vos bases de données en mode sans assistance et générer le résultat dans un fichier JSON ou CSV. Cette méthode est particulièrement utile lors de l’évaluation de plusieurs bases de données ou bases de données volumineuses.
DMACMD prend uniquement en charge l’exécution d’évaluations. Les migrations ne sont pas prises en charge pour le moment.
Évaluations à l’aide de l’interface de ligne de commande (CLI)
dmacmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" ["connectionString2"]
[/AssessmentSourcePlatform="SourcePlatform"]
[/AssessmentTargetPlatform="TargetPlatform"]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
[/AssessmentOverwriteResult]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Argument | Description | Obligatoire (O/N) |
---|---|---|
/help or /? |
Comment utiliser le texte d’aide de dmacmd.exe | N |
/AssessmentName |
Nom du projet d’évaluation | Y |
/AssessmentDatabases |
Liste délimitée par des espaces de chaînes de connexion. Le nom de la base de données (catalogue initial) respecte la casse. | Y |
/AssessmentSourcePlatform |
Plateforme source pour l’évaluation : Valeurs prises en charge pour l’évaluation : SqlOnPrem , RdsSqlServer (par défaut)Valeurs prises en charge pour l’évaluation de la préparation cible : SqlOnPrem , RdsSqlServer (valeur par défaut), Cassandra (préversion) |
N |
/AssessmentTargetPlatform |
Plateforme cible pour l’évaluation : Valeurs prises en charge pour l’évaluation : AzureSqlDatabase , ManagedSqlServer , SqlServer2012 , SqlServer2014 , SqlServer2016 , SqlServerLinux2017 et SqlServerWindows2017 (par défaut)Valeurs prises en charge pour l’évaluation de la préparation cible : ManagedSqlServer (valeur par défaut), CosmosDB (préversion) |
N |
/AssessmentEvaluateFeatureParity |
Exécutez des règles de parité des fonctionnalités. Si la plateforme source est RdsSqlServer, l’évaluation de la parité des fonctionnalités n’est pas prise en charge pour la plateforme cible AzureSqlDatabase | Y (AssessmentEvaluateCompatibilityIssues ou AssessmentEvaluateFeatureParity est requis.) |
/AssessmentEvaluateCompatibilityIssues |
Exécuter des règles de compatibilité | Y (Soit AssessmentEvaluateCompatibilityIssues ou AssessmentEvaluateFeatureParity est nécessaire.) |
/AssessmentOverwriteResult |
Remplacer le fichier de résultats | N |
/AssessmentResultJson |
Chemin d’accès complet au fichier de résultats JSON | Y (Soit AssessmentResultJson ou AssessmentResultCsv est nécessaire) |
/AssessmentResultCsv |
Chemin d’accès complet au fichier de résultats CSV | Y (Soit AssessmentResultJson ou AssessmentResultCsv est nécessaire) |
/AssessmentResultDma |
Chemin d’accès complet au fichier de résultats .dma |
N |
/Action |
Utilisez SkuRecommendation pour obtenir des recommandations de référence SKU.Utilisez AssessTargetReadiness pour effectuer l’évaluation de la préparation cible.Utilisez AzureMigrateUpload pour charger tous les fichiers d’évaluation DMA dans AssessmentResultInputFolder pour charger en bloc vers Azure Migrate. Action Type d’utilisation /Action=AzureMigrateUpload |
N |
/SourceConnections |
Liste délimitée par des espaces de chaînes de connexion. Le nom de la base de données (catalogue initial) est facultatif. Si aucun nom de base de données n’est fourni, toutes les bases de données de la source sont évaluées. | Y (Obligatoire si Action est AssessTargetReadiness ) |
/TargetReadinessConfiguration |
Chemin d’accès complet au fichier XML décrivant les valeurs du nom, des connexions sources et du fichier de résultats. | Y (Soit TargetReadinessConfiguration ou SourceConnections est nécessaire) |
/FeatureDiscoveryReportJson |
Chemin d’accès au rapport JSON de découverte de fonctionnalités. Si ce fichier est généré, il peut être utilisé pour réexécuter l’évaluation de la préparation cible sans se connecter à la source. | N |
/ImportFeatureDiscoveryReportJson |
Chemin d’accès au rapport JSON de découverte de fonctionnalités créé précédemment. Au lieu des connexions sources, ce fichier est utilisé. | N |
/EnableAssessmentUploadToAzureMigrate |
Active le chargement et la publication des résultats de l’évaluation dans Azure Migrate | N |
/AzureCloudEnvironment |
Sélectionner l’environnement cloud Azure auquel se connecter est le cloud public Azure par défaut. Valeurs prises en charge : Azure (par défaut), AzureChina , AzureGermany , AzureUSGovernment . |
N |
/SubscriptionId |
ID d’abonnement Azure. | Y (Obligatoire si l’argument EnableAssessmentUploadToAzureMigrate est spécifié) |
/AzureMigrateProjectName |
Nom du projet Azure Migrate dans lequel charger les résultats de l’évaluation. | Y (Obligatoire si l’argument EnableAssessmentUploadToAzureMigrate est spécifié) |
/ResourceGroupName |
Nom du groupe de ressources Azure Migrate. | Y (Obligatoire si l’argument EnableAssessmentUploadToAzureMigrate est spécifié) |
/AssessmentResultInputFolder |
Chemin d’accès du dossier d’entrée contenant les fichiers d’évaluation .dma à charger dans Azure Migrate. |
Y (Obligatoire si Action est AzureMigrateUpload ) |
Exemples d’évaluations à l’aide de l’interface CLI
DMACMD
dmacmd.exe /?
Ou :
dmacmd.exe /help`
Évaluation de base de données unique à l’aide de l’Authentification Windows et exécution de règles de compatibilité
dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"
Évaluation de base de données unique à l’aide de l’authentification SQL Server et de l’exécution de la parité des fonctionnalités
dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;User Id=myUsername;Password=myPassword;"
/AssessmentEvaluateFeatureParity /AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"
Évaluation de base de données unique pour la plateforme cible SQL Server 2012, enregistrez les résultats dans le fichier .json et .csv
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"
Évaluation de base de données unique pour la plateforme cible Azure SQL Database, enregistrez les résultats dans le fichier .json et .csv
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"
Évaluation de plusieurs bases de données
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"
Évaluation de préparation à la cible à base de données unique à l’aide de l’Authentification Windows
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
Évaluation de préparation à la cible à base de données unique à l’aide de l’Authentification 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"
Évaluation de base de données unique pour la plateforme cible Azure SQL Database, enregistrez les résultats dans le fichier .json et .csv
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"
Évaluation de la préparation à la cible de plusieurs bases de données
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"
(Les valeurs /AssessmentSourcePlatform
et /AssessmentTargetPlatform
sont facultatives.)
Évaluation de la préparation cible pour toutes les bases de données sur un serveur à l’aide de l’Authentification Windows
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
Évaluation de la préparation cible en important le rapport de découverte de fonctionnalités créé précédemment
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/ImportFeatureDiscoveryReportJson="c:\temp\feature_report.json"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
Évaluation de la préparation cible en fournissant un fichier de configuration
dmacmd.exe /Action=AssessTargetReadiness
/TargetReadinessConfiguration=.\Config.xml
Contenu du fichier de configuration lors de l’utilisation des connexions sources :
<?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>
Contenu du fichier de configuration lors de l’importation du rapport de découverte de fonctionnalités :
<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>
Évaluer et charger vers Azure Migrate dans le cloud public Azure (par défaut)
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
Chargement par lot de fichiers d’évaluation DMA vers Azure Migrate dans le cloud public Azure (par défaut)
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
Azure SQL Database/Azure SQL Managed Instance/SQL Server sur les recommandations de référence SKU de machine virtuelle Azure à l’aide de l’interface CLI
Avec la version 5.4 et les versions ultérieures, lorsque vous installez l’Assistant Migration de données, il installe également SqlAssessment.exe
dans %ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole
. Utilisez SqlAssessment.exe pour collecter des données de performances pour votre instance SQL sur une période prolongée et générer le résultat dans un fichier JSON ou CSV.
Ces commandes prennent en charge les recommandations pour les options de déploiement Azure SQL Database uniques, Azure SQL Managed Instance et SQL Server sur machines virtuelles Azure.
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
Argument | Description | Obligatoire (O/N) |
---|---|---|
PerfDataCollection |
Démarre la collecte de données de performances. | Y |
GetSkuRecommendation |
Effectue l’agrégation et l’analyse des données de performances collectées et détermine les recommandations de référence SKU. | Y |
GetMetadata |
Effectue une collection de métadonnées des instances SQL cibles, y compris le nombre et les propriétés des instances de serveur, des bases de données et des fichiers de base de données, des objets définis par l’utilisateur, etc. Un rapport complet est exporté vers MetadataReport.json . |
Y |
--outputFolder |
Dossier dans lequel les données, rapports et journaux de performances sont écrits et à partir duquel ils sont lus. | N (Par défaut : répertoire actif) |
--sqlConnectionStrings |
Chaînes de connexion formelles placées entre guillemets pour les instances SQL cibles. | Y |
--overwrite |
Indique s’il faut remplacer ou non des rapports de recommandations d’évaluation ou de référence SKU existants. | N (Valeur par défaut : true ) |
--perfQueryIntervalInSec |
Intervalle auquel interroger les données de performances, en secondes. | N (Spécifique à l’action PerfDataCollection . Par défaut 30 ) |
--staticQueryIntervalInSec |
Intervalle auquel interroger et conserver les données de configuration statiques, en secondes. | N (Spécifique à l’action PerfDataCollection . Par défaut 30 ) |
--numberOfIterations |
Nombre d’itérations de collecte de données de performances à effectuer avant la persistance dans le fichier. | N (Spécifique à l’action PerfDataCollection . Par défaut 20 ) |
--perfQueryIntervalInSec |
Intervalle auquel les données de performances ont été interrogées, en secondes. | N (Spécifique à l’action GetSkuRecommendation . Cela doit correspondre à la valeur qui a été utilisée à l’origine pendant la collecte de données de performances. Valeur par défaut : 30 ) |
--targetPlatform |
Plateforme cible pour la recommandation de référence SKU : soit AzureSqlDatabase , AzureSqlManagedInstance ,AzureSqlVirtualMachine ou Any . |
N (Spécifique à l’action GetSkuRecommendation . Par défaut : Any ) |
--targetSqlInstance |
Nom de l’instance SQL que la recommandation de référence SKU cible. | N (Spécifique à l’action GetSkuRecommendation ) |
--targetPercentile |
Centile des points de données à utiliser lors de l’agrégation des données de performances. | N (Spécifique à l’action GetSkuRecommendation . Utilisé uniquement pour la stratégie de base (non élastique). Par défaut : 95 ) |
--scalingFactor |
Facteur de mise à l’échelle (confort) utilisé lors de la recommandation de référence SKU. | N (Spécifique à l’action GetSkuRecommendation . Par défaut : 100 ) |
--startTime |
Heure de début UTC des points de données de performances à prendre en compte pendant l’agrégation, au format "YYYY-MM-DD HH:MM" . |
N (Spécifique à l’action GetSkuRecommendation . Utilisé uniquement pour la stratégie de base (non élastique) |
--endTime |
Heure de fin UTC des points de données de performances à prendre en compte pendant l’agrégation, au format "YYYY-MM-DD HH:MM" |
N (Spécifique à l’action GetSkuRecommendation . Utilisé uniquement pour la stratégie de base (non élastique) |
--elasticStrategy |
Indique s’il faut ou non utiliser la stratégie élastique pour les recommandations de référence SKU en fonction du profilage de l’utilisation des ressources statistiques. La stratégie élastique est actuellement disponible pour les bases de données Azure SQL et SQL Managed Instance, mais pas encore pour la cible SQL Server sur machine virtuelle Azure. | N (Spécifique à l’action GetSkuRecommendation . Par défaut : false ) |
--databaseAllowList |
Liste séparée par l’espace des noms des bases de données à inclure pour les recommandations de référence SKU | N (Spécifique à l’action GetSkuRecommendation . Par défaut : null ) |
--databaseDenyList |
Liste séparée par l’espace des noms des bases de données à exclure pour les recommandations de référence SKU Définissez l’un des éléments suivants ou non : databaseAllowList , databaseDenyList |
N (Spécifique à l’action GetSkuRecommendation . Par défaut : null ) |
--displayResult |
Indique si vous souhaitez imprimer ou non les résultats de la recommandation de référence SKU dans la console. Définissez l’un des éléments suivants ou non : databaseAllowList , databaseDenyList |
N (Spécifique à l’action GetSkuRecommendation . Par défaut : true ) |
Exemples d’évaluations SKU à l’aide de l’interface CLI
SqlAssessment.exe
SqlAssessment.exe --help
Démarrer le processus de collecte de données pour les instances de SQL Server locales
.\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
Azure SQL Database/Azure SQL Managed Instance/SQL Server sur les recommandations de référence SKU de machine virtuelle Azure
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform Any
Recommandation de référence SKU Azure SQL Managed Instance avec un pourcentage d’agrégation spécifique pour les points de données et le facteur de mise à l’échelle personnalisé
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--targetPercentile 90
--scalingFactor 80
SQL Server sur les recommandations de référence SKU de machine virtuelle Azure avec une chronologie d’agrégation personnalisée
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--startTime "2021-06-05 00:00"
--endTime "2021-06-07 00:00"