Ejecutar Data Migration Assistant desde la línea de comandos

Con la versión 2.1 y posteriores, cuando se instala Data Migration Assistant, también se instala dmacmd.exe en %ProgramFiles%\Microsoft Data Migration Assistant\. Use dmacmd.exe para evaluar las bases de datos en modo desatendido y genere el resultado en un archivo JSON o CSV. Este método es realmente útil cuando se evalúan varias bases de datos o bases de datos enormes.

Nota

Dmacmd.exe solo admite la ejecución de valoraciones. No se admiten las migraciones en este momento.

Valoraciones mediante la interfaz de la línea de comandos (CLI)

DmaCmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" \["connectionString2"\]
\[/AssessmentSourcePlatform="SourcePlatform"]
\[/AssessmentTargetPlatform="TargetPlatform"\]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
\[/AssessmentOverwriteResult\]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Argumento Descripción Obligatorio (S/N)
/help or /? Cómo usar el texto de ayuda de dmacmd.exe N
/AssessmentName Nombre del proyecto de valoración Y
/AssessmentDatabases Lista delimitada por espacios de las cadenas de conexión. El nombre de la base de datos (Catálogo inicial) distingue mayúsculas de minúsculas. S
/AssessmentSourcePlatform Plataforma de origen para la valoración:
Valores admitidos para la Valoración: SqlOnPrem, RdsSqlServer (valor predeterminado)
Valores admitidos para la Valoración de preparación de destino: SqlOnPrem, RdsSqlServer (valor predeterminado), Cassandra (versión preliminar)
N
/AssessmentTargetPlatform Plataforma de destino para la valoración:
Valores admitidos para la Valoración: AzureSqlDatabase, ManagedSqlServer, SqlServer2012, SqlServer2014, SqlServer2016, SqlServerLinux2017 y SqlServerWindows2017 (valor predeterminado)
Valores admitidos para la Valoración de la preparación de destino: ManagedSqlServer (valor predeterminado), CosmosDB (versión preliminar)
N
/AssessmentEvaluateFeatureParity Ejecutar las reglas de paridad de características. Si la plataforma de origen es RdsSqlServer, no se admite la evaluación de paridad de características para la plataforma de destino AzureSqlDatabase S
(Se requiere AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity).
/AssessmentEvaluateCompatibilityIssues Ejecutar las reglas de compatibilidad S
(Se requiere AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity).
/AssessmentOverwriteResult Sobrescribir el archivo de resultados N
/AssessmentResultJson Ruta de acceso completa al archivo de resultados JSON S
(Se requiere AssessmentResultJson o AssessmentResultCsv)
/AssessmentResultCsv Ruta de acceso completa al archivo de resultados CSV S
(Se requiere AssessmentResultJson o AssessmentResultCsv)
/AssessmentResultDma Ruta de acceso completa al archivo de resultado dma N
/Action Use SkuRecommendation para obtener recomendaciones de SKU.
Use AssessTargetReadiness para realizar la valoración de la preparación de destino.
Use AzureMigrateUpload para cargar todos los archivos de valoración de DMA en AzzessmentResultInputFolder para cargarlos en bloque en Azure Migrate.Action type usage /Action= AzureMigrateUpload
N
/SourceConnections Lista delimitada por espacios de las cadenas de conexión. El nombre de la base de datos (Catálogo inicial) es opcional. Si no se indica ningún nombre de base de datos, se evalúan todas las bases de datos del origen. S
(Obligatorio si Action es "AssessTargetReadiness")
/TargetReadinessConfiguration Ruta de acceso completa al archivo XML que describe los valores del nombre, las conexiones de origen y el archivo de resultados. Y
(Se requiere TargetReadinessConfiguration o SourceConnections)
/FeatureDiscoveryReportJson Ruta de acceso al informe JSON de detección de características. Si se genera este archivo, se puede usar para volver a ejecutar la valoración de preparación de destino sin conectarse al origen. N
/ImportFeatureDiscoveryReportJson Ruta de acceso al informe JSON de detección de características creado con anterioridad. En lugar de las conexiones de origen, se usará este archivo. N
/EnableAssessmentUploadToAzureMigrate Habilita la carga y la publicación de los resultados de la valoración en Azure Migrate N
/AzureCloudEnvironment Selecciona el entorno de nube de Azure al que conectarse, el valor predeterminado es la nube pública de Azure. Valores admitidos: Azure (valor predeterminado), AzureChina, AzureGermany, AzureUSGovernment. N
/SubscriptionId Identificador de suscripción de Azure S
(Obligatorio si se especifica el argumento EnableAssessmentUploadToAzureMigrate)
/AzureMigrateProjectName El nombre del proyecto de Azure Migrate en el que se cargan los resultados de la valoración. Y
(Obligatorio si se especifica el argumento EnableAssessmentUploadToAzureMigrate)
/ResourceGroupName Indique el nombre del grupo de recursos de Azure Migrate. S
(Obligatorio si se especifica el argumento EnableAssessmentUploadToAzureMigrate)
/AssessmentResultInputFolder Ruta de acceso de la carpeta de entrada que contiene los archivos de evaluación de .DMA que se van a cargar en Azure Migrate. S
(Obligatorio si Action es AzureMigrateUpload)

Ejemplos de valoraciones mediante la CLI

Dmacmd.exe

Dmacmd.exe /? or DmaCmd.exe /help

Valoración de la base de datos única mediante la autenticación de Windows y las reglas de compatibilidad en ejecución

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

Valoración de la base de datos única mediante la autenticación de SQL Server y la paridad de características en ejecución

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

Valoración de la base de datos única para la plataforma de destino SQL Server 2012, guarda los resultados en un archivo .json y .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"

Valoración de base de datos única para la plataforma de destino Azure SQL Database, guarda los resultados en un archivo .json y .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"

Valoración de varias bases de datos

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"

Valoración de la preparación de la base de datos de destino con una sola base de datos mediante la autenticación de Windows

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

Valoración de la preparación de la base de datos de destino con una sola base de datos mediante la autenticación de 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" 

Valoración de base de datos única para la plataforma de destino Azure SQL Database, guarda los resultados en un archivo .json y .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"

Valoración de la preparación de la base datos de destino de múltiples bases de datos

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

Valoración de la preparación de destino para todas las bases de datos de un servidor que usa la autenticación de Windows

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

Valoración de la preparación de destino mediante la importación del informe de detección de características creado previamente

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

Valoración de la preparación de destino al proporcionar un archivo de configuración

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

Contenido del archivo de configuración cuando se usan conexiones de origen:

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

Contenido del archivo de configuración cuando se importa el informe de detección de características:

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

Evaluación y carga a Azure Migrate en la nube pública de Azure (valor predeterminado)

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

Carga por lotes de archivos de valoración de DMA a Azure Migrate en la nube pública de Azure (valor predeterminado)

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

Recomendaciones de SKU de Azure SQL Database / Azure SQL Managed Instance /SQL Server en la máquina virtual de Azure mediante la CLI

Con la versión 5.4 y posteriores, al instalar Data Migration Assistant, se instalará también SqlAssessment.exe en %ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole. Use SqlAssessment.exe para recopilar los datos de rendimiento para la instancia de SQL durante un período de tiempo prolongado y generar el resultado en un archivo JSON o CSV.

Estos comandos admiten recomendaciones tanto para la base de datos única de Azure SQL Database como para las opciones de implementación de Azure SQL Managed Instance y SQL Server en las máquinas virtuales de Azure.

.\SqlAssessment.exe GetSkuRecommendation 
--outputFolder C:\Output 
--targetPlatform AzureSqlManagedInstance
Argumento Descripción Obligatorio (S/N)
PerfDataCollection Inicia la recopilación de datos de rendimiento. S
GetSkuRecommendation Ejecuta la agregación y el análisis de los datos de rendimiento recopilados y determina las recomendaciones de SKU. S
GetMetadata Realiza una recopilación de metadatos de las instancias de SQL de destino, incluidos el número y las propiedades de las instancias de servidor, las bases de datos y los archivos de base de datos, los objetos definidos por el usuario, etc. Un informe completo se exporta a MetadataReport.json. Y
--outputFolder Carpeta en la que se escribirán o leerán los datos de rendimiento, los informes y los registros. N
(Valor predeterminado: directorio actual)
--sqlConnectionStrings Cadenas de conexión formales entrecomilladas para las instancias SQL de destino. S
--overwrite Sobreescribir o no cualquier informe de valoración existente o de recomendaciones de SKU. N
(Predeterminado: true)
--perfQueryIntervalInSec Intervalo en el que se consultan los datos de rendimiento, en segundos. N
(Específico para la acción PerfDataCollection. Valor predeterminado 30)
--staticQueryIntervalInSec Intervalo en el que se consultan y conservan los datos de configuración estáticos, en segundos. N
(Específico para la acción PerfDataCollection. Valor predeterminado 30)
--numberOfIterations Número de iteraciones de recopilación de datos de rendimiento a realizar antes de que se conserve en el archivo. N
(Específico para la acción PerfDataCollection. Valor predeterminado 20)
--perfQueryIntervalInSec Intervalo en el que se han consultado los datos de rendimiento, en segundos. N
(Específico para la acción GetSkuRecommendation. Debe coincidir con el valor que se usó originalmente durante la recopilación de datos de rendimiento. Valor predeterminado: 30)
--targetPlatform Plataforma de destino para la recomendación de SKU: AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachineo bien Any. N
(Específico de la acción GetSkuRecommendation. Valor predeterminado: Any)
--targetSqlInstance Nombre de la instancia de SQL para la que se dirige la recomendación de SKU. N
(Específico para la acciónGetSkuRecommendation)
--targetPercentile Percentil de los puntos de datos que se usarán durante la agregación de los datos de rendimiento. N
(Específico para la acción GetSkuRecommendation. Solo se usa para la estrategia de línea de base (no elástica). Predeterminado: 95)
--scalingFactor Factor de escalado (confort) usado durante la recomendación de SKU. N
(Específico de la acción GetSkuRecommendation. Valor predeterminado: 100)
--startTime Hora de inicio UTC de los puntos de datos de rendimiento que se deben tener en cuenta durante la agregación, en formato "YYYY-MM-DD HH:MM". N
(Específico para la acción GetSkuRecommendation. Solo se usa para la estrategia de base de referencia (no elástica)
--endTime Hora de finalización UTC de los puntos de datos de rendimiento que se deben tener en cuenta durante la agregación, en formato "YYYY-MM-DD HH:MM" N
(Específico para la acción GetSkuRecommendation. Solo se usa para la estrategia de base de referencia (no elástica)
--elasticStrategy Si se va a usar o no la estrategia elástica para las recomendaciones de SKU basadas en el perfil de uso de recursos estadísticos. La estrategia elástica está disponible actualmente para Azure SQL Databases y SQL Managed Instance, aún no está disponible para SQL Server en el destino de máquina virtual de Azure. N
(Específico para la acción GetSkuRecommendation. Valor predeterminado: false)
--databaseAllowList Lista separada por espacios de los nombres de bases de datos que se van a incluir para las recomendaciones de SKU N
(Específico de la acción GetSkuRecommendation. Valor predeterminado: null)
--databaseDenyList Lista separada por espacios de los nombres de bases de datos que se excluirán para las recomendaciones de SKU. Establezca solo una de las siguientes opciones o ninguna: databaseAllowList, databaseDenyList N
(Específico de la acción GetSkuRecommendation. Valor predeterminado: null)
--displayResult Indica si se imprimen o no los resultados de la recomendación de SKU en la consola. Establezca solo una de las siguientes opciones o ninguna: databaseAllowList, databaseDenyList N
(Específico para la acción GetSkuRecommendation. Valor predeterminado: true)

Ejemplos de valoraciones de SKU mediante la CLI

SqlAssessment.exe

SqlAssessment.exe --help

Inicio del proceso de recopilación de datos para instancias de SQL Server en el entorno local

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

Recomendaciones de SKU en Azure SQL Database/Azure SQL Managed Instance/SQL Server en la máquina virtual de Azure

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

Recomendaciones de SKU en Azure SQL Managed Instance con porcentaje de agregación específico para puntos de datos y factor de escalado personalizado

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

Recomendaciones de SKU de SQL Server en la máquina virtual de Azure con escala de tiempo de agregación personalizada

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

Consulte también