Compartir a través de


Ejecutar Data Migration Assistant desde la línea de comandos

Importante

Data Migration Assistant (DMA) está en desuso. Para conocer las opciones de migración de SQL Server a Azure SQL, consulte las opciones de migración de SQL Server a Azure SQL.

Con la versión 2.1 y versiones posteriores, al instalar Data Migration Assistant, también se instala dmacmd.exe en %ProgramFiles%\Microsoft Data Migration Assistant. Use DMACMD 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.

DMACMD 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. Y
/AssessmentSourcePlatform Plataforma de origen para la valoración:
Valores admitidos para la Evaluación: SqlOnPrem, RdsSqlServer (valor predeterminado)
Valores admitidos para la Valoración de la 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 Evaluació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 Y
(Se requiere AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity).
/AssessmentEvaluateCompatibilityIssues Ejecutar las reglas de compatibilidad Y
(Es obligatorio especificar AssessmentEvaluateCompatibilityIssues o AssessmentEvaluateFeatureParity).
/AssessmentOverwriteResult Sobrescribir el archivo de resultados N
/AssessmentResultJson Ruta de acceso completa al archivo de resultados JSON Y
(Es obligatorio especificar AssessmentResultJson o AssessmentResultCsv)
/AssessmentResultCsv Ruta de acceso completa al archivo de resultados CSV Y
(Es obligatorio especificar 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 evaluación de DMA en el AssessmentResultInputFolder para cargarlos de forma masiva en Azure Migrate. Action tipo de uso /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. Y
(Necesario 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
(Es obligatorio especificar 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 usa 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 Y
(Requerido 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
(Requerido si se especifica el argumento EnableAssessmentUploadToAzureMigrate)
/ResourceGroupName Indique el nombre del grupo de recursos de Azure Migrate. Y
(Requerido 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. Y
(Necesario si Action es AzureMigrateUpload)

Ejemplos de valoraciones mediante la CLI

DMACMD

dmacmd.exe /?

O:

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 y /AssessmentTargetPlatform son opcionales).

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 versiones posteriores, al instalar Data Migration Assistant, también se instala 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. Y
GetSkuRecommendation Ejecuta la agregación y el análisis de los datos de rendimiento recopilados y determina las recomendaciones de SKU. Y
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 escriben o leen los datos de rendimiento, los informes y los registros. N
(Valor predeterminado: directorio actual)
--sqlConnectionStrings Cadenas de conexión formales entrecomilladas para las instancias de SQL de destino. Y
--overwrite Sobreescribir o no cualquier informe de valoración existente o de recomendaciones de SKU. N
(Valor 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 para 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ón GetSkuRecommendation)
--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 para 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 línea de base (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 línea de base (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 para 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 para 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"