Executar Assistente de Migração de Dados na linha de comando

Com a versão 2.1 e superior, quando você instalar o Assistente de Migração de Dados, ele também instalará dmacmd.exe em %ProgramFiles%\Assistente de Migração de Dados da Microsoft\. Use dmacmd.exe para avaliar seus bancos de dados em um modo autônomo e gerar o resultado como arquivo JSON ou CSV. Esse método é especialmente útil ao avaliar vários bancos de dados ou bancos de dados enormes.

Observação

Dmacmd.exe dá suporte somente à execução de avaliações. Não há suporte a migrações no momento.

Avaliações usando a CLI (Interface de Linha de Comando)

DmaCmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" \["connectionString2"\]
\[/AssessmentSourcePlatform="SourcePlatform"]
\[/AssessmentTargetPlatform="TargetPlatform"\]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
\[/AssessmentOverwriteResult\]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Argumento Descrição Obrigatório (S/N)
/help or /? Como usar o texto de ajuda de dmacmd.exe N
/AssessmentName Nome do projeto de avaliação S
/AssessmentDatabases Lista delimitada por espaços de cadeias de conexão. O nome do banco de dados (Catálogo Inicial) diferencia maiúsculas de minúsculas. S
/AssessmentSourcePlatform Plataforma de origem para a avaliação:
Valores com suporte na Avaliação: SqlOnPrem, RdsSqlServer (padrão)
Valores com suporte na Avaliação de Preparação de Destino: SqlOnPrem, RdsSqlServer (padrão), Cassandra (versão prévia)
N
/AssessmentTargetPlatform Plataforma de destino para a avaliação:
Valores com suporte na Avaliação: AzureSqlDatabase, ManagedSqlServer, SqlServer2012, SqlServer2014, SqlServer2016, SqlServerLinux2017 e SqlServerWindows2017 (padrão)
Valores com suporte na Avaliação de Preparação de Destino: ManagedSqlServer (padrão), CosmosDB (versão prévia)
N
/AssessmentEvaluateFeatureParity Executar regras de paridade de recursos. Se a plataforma de origem for RdsSqlServer, não há suporte à avaliação de paridade de recursos para a plataforma de destino AzureSqlDatabase S
(AssessmentEvaluateCompatibilityIssues ou AssessmentEvaluateFeatureParity é obrigatório.)
/AssessmentEvaluateCompatibilityIssues Executar regras de compatibilidade S
(AssessmentEvaluateCompatibilityIssues ou AssessmentEvaluateFeatureParity é obrigatório.)
/AssessmentOverwriteResult Substituir o arquivo de resultado N
/AssessmentResultJson Caminho completo para o arquivo de resultado JSON S
(AssessmentResultJson ou AssessmentResultCsv é obrigatório)
/AssessmentResultCsv Caminho completo para o arquivo de resultado CSV S
(AssessmentResultJson ou AssessmentResultCsv é obrigatório)
/AssessmentResultDma Caminho completo para o arquivo de resultado dma N
/Action Usar SkuRecommendation para obter recomendações de SKU.
Usar AssessTargetReadiness para executar a avaliação de preparação de destino.
Usar AzureMigrateUpload para carregar todos os arquivos de avaliação de DMA no AzzessmentResultInputFolder a fim de carregar em massa no uso do tipo Azure Migrate.Action/Action= AzureMigrateUpload
N
/SourceConnections Lista delimitada por espaços de cadeias de conexão. O nome do banco de dados (Catálogo Inicial) é opcional. Se nenhum nome de banco de dados for fornecido, todos os bancos de dados na origem serão avaliados. S
(Obrigatório se a ação for 'AssessTargetReadiness')
/TargetReadinessConfiguration Caminho completo para o arquivo XML que descreve valores de nome, conexões de origem e arquivo de resultado. S
(TargetReadinessConfiguration ou SourceConnections é obrigatório)
/FeatureDiscoveryReportJson Caminho para o relatório JSON de descoberta de recursos. Se esse arquivo for gerado, ele poderá ser usado para executar a avaliação de preparação de destino novamente sem conexão com a origem. N
/ImportFeatureDiscoveryReportJson Caminho para o relatório JSON de descoberta de recursos criado anteriormente. Esse arquivo será usado em vez das conexões de origem. N
/EnableAssessmentUploadToAzureMigrate Habilitar o carregamento e a publicação de resultados de avaliação nas Migrações para Azure N
/AzureCloudEnvironment Selecionar o ambiente de nuvem do Azure ao qual se conectar; o padrão é a Nuvem Pública do Azure. Valores com suporte: Azure (padrão), AzureChina, AzureGermany, AzureUSGovernment. N
/SubscriptionId Id de assinatura do Azure. S
(Obrigatório se o argumento EnableAssessmentUploadToAzureMigrate for especificado)
/AzureMigrateProjectName O nome do Projeto das Migrações para Azure para o qual carregar os resultados da avaliação. S
(Obrigatório se o argumento EnableAssessmentUploadToAzureMigrate for especificado)
/ResourceGroupName Nome do grupo de recursos das Migrações para Azure. S
(Obrigatório se o argumento EnableAssessmentUploadToAzureMigrate for especificado)
/AssessmentResultInputFolder O caminho da pasta de entrada que contém arquivos de avaliação .DMA a serem carregados nas Migrações para Azure. S
(Obrigatório se a ação for AzureMigrateUpload)

Exemplos de avaliações usando a CLI

Dmacmd.exe

Dmacmd.exe /? or DmaCmd.exe /help

Avaliação de banco de dados único com o uso da autenticação do Windows e a execução de regras de compatibilidade

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

Avaliação de banco de dados único com o uso da autenticação do SQL Server e a paridade de recursos em execução

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

Avaliação de banco de dados único para a plataforma de destino SQL Server 2012; salvar os resultados no arquivo .json e .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"

Avaliação de banco de dados único para a plataforma de destino Banco de Dados SQL do Azure; salvar os resultados no arquivo .json e .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"

Avaliação de vários bancos de dados

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"

Avaliação de preparação de destino de banco de dados único com o uso da autenticação do Windows

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

Avaliação de preparação de destino de banco de dados único com o uso da autenticação do 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" 

Avaliação de banco de dados único para a plataforma de destino Banco de Dados SQL do Azure; salvar os resultados no arquivo .json e .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"

Avaliação de preparação de destino de vários bancos de dados

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

Avaliação de preparação de destino para todos os bancos de dados em um servidor com o uso da autenticação do Windows

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

Avaliação de preparação de destino com a importação do relatório de descoberta de recursos criado anteriormente

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

Avaliação de preparação de destino com o fornecimento do arquivo de configuração

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

Conteúdo do arquivo de configuração no uso de conexões de origem:

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

Conteúdo do arquivo de configuração na importação do relatório de descoberta de recursos:

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

Avaliar e carregar nas Migrações para Azure da Nuvem Pública do Azure (padrão)

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

Carregar arquivos de avaliação de DMA em lote nas Migrações para Azure da Nuvem Pública do Azure (padrão)

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

Recomendações de SKU de Banco de dados SQL do Azure/Instância Gerenciada de SQL do Azure/SQL Server em VM do Azure usando a CLI

Com a versão 5.4 e superior, quando você instalar Assistente de Migração de Dados, ele também instalará SqlAssessment.exe em %ProgramFiles%\Microsoft Assistente de Migração de Dados\SQLAssessmentConsole. Use SqlAssessment.exe a fim de coletar dados de desempenho para sua instância SQL durante um longo período de tempo e gerar o resultado para o arquivo JSON ou CSV.

Esses comandos dão suporte a recomendações para opções de implantação de banco de dados único do Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure e SQL Server em VMs do Azure.

.\SqlAssessment.exe GetSkuRecommendation 
--outputFolder C:\Output 
--targetPlatform AzureSqlManagedInstance
Argumento Descrição Obrigatório (S/N)
PerfDataCollection Inicia a coleta de dados de desempenho. S
GetSkuRecommendation Executa agregação e análise dos dados de desempenho coletados e determina recomendações de SKU. S
GetMetadata Executa uma coleção de metadados das instâncias SQL de destino, incluindo o número e as propriedades de instâncias de servidor, bancos de dados e arquivos de banco de dados, objetos definidos pelo usuário, etc. Um relatório completo é exportado para MetadataReport.json. S
--outputFolder Pasta na qual os dados de desempenho, os relatórios e os logs serão gravados/lidos. N
(Padrão: diretório atual)
--sqlConnectionStrings Cadeias de conexão formais entre aspas para as instâncias SQL de destino. S
--overwrite Se deseja ou não substituir relatórios de recomendações de avaliação ou SKU existentes. N
(Padrão: true)
--perfQueryIntervalInSec Intervalo no qual consultar dados de desempenho, em segundos. N
(Específico para a ação PerfDataCollection. Padrão 30)
--staticQueryIntervalInSec Intervalo no qual consultar e persistir dados de configuração estáticos, em segundos. N
(Específico para a ação PerfDataCollection. Padrão 30)
--numberOfIterations Número de iterações da coleta de dados de desempenho a serem executadas antes de persistir no arquivo. N
(Específico para a ação PerfDataCollection. Padrão 20)
--perfQueryIntervalInSec Intervalo no qual os dados de desempenho foram consultados, em segundos. N
(Específico para a ação GetSkuRecommendation. Isso precisa corresponder ao valor que foi usado originalmente durante a coleta de dados de desempenho. Padrão: 30)
--targetPlatform Plataforma de destino para recomendação de SKU: AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachine ou Any. N
(Específico para a ação GetSkuRecommendation. Padrão: Any)
--targetSqlInstance Nome da instância do SQL à qual a recomendação de SKU será direcionada. N
(Específico para a ação GetSkuRecommendation)
--targetPercentile Percentual de pontos de dados a serem usados durante a agregação dos dados de desempenho. N
(Específico para a ação GetSkuRecommendation.) Usado apenas para a estratégia de linha de base (não elástica). Padrão: 95)
--scalingFactor Fator de dimensionamento (conforto) usado durante a recomendação de SKU. N
(Específico para a ação GetSkuRecommendation. Padrão: 100)
--startTime Hora de início UTC dos pontos de dados de desempenho a serem considerados durante a agregação, em formato "YYYY-MM-DD HH:MM". N
(Específico para a ação GetSkuRecommendation.) Usado apenas para a estratégia de linha de base (não elástica)
--endTime Hora de término UTC dos pontos de dados de desempenho a serem considerados durante a agregação, em formato "YYYY-MM-DD HH:MM" N
(Específico para a ação GetSkuRecommendation.) Usado apenas para a estratégia de linha de base (não elástica)
--elasticStrategy Se deve ou não usar a estratégia elástica para recomendações de SKU com base na criação de perfil de uso de recursos estatísticos. Atualmente, a estratégia elástica está disponível para bancos de dados SQL do Azure e a Instância Gerenciada de SQL, ainda não disponíveis para o destino SQL Server na VM do Azure. N
(Específico para a ação GetSkuRecommendation. Padrão: false)
--databaseAllowList Lista separada por espaços de nomes de bancos de dados a serem incluídos nas recomendações de SKU N
(Específico para a ação GetSkuRecommendation. Padrão: null)
--databaseDenyList Lista separada por espaços de nomes de bancos de dados a serem excluídos nas recomendações de SKU. Defina apenas um ou nenhum dos seguintes: databaseAllowList, databaseDenyList N
(Específico para a ação GetSkuRecommendation. Padrão: null)
--displayResult Se deseja ou não imprimir os resultados da recomendação de SKU no console. Defina apenas um ou nenhum dos seguintes: databaseAllowList, databaseDenyList N
(Específico para a ação GetSkuRecommendation. Padrão: true)

Exemplos de avaliações de SKU com uso da CLI

SqlAssessment.exe

SqlAssessment.exe --help

Iniciar o processo de coleta de dados para instâncias do SQL Server locais

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

Recomendações de SKU de Banco de dados SQL do Azure/Instância Gerenciada de SQL do Azure/SQL Server em VM do Azure

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

Recomendações de SKU da Instância Gerenciada de SQL do Azure com percentual de agregação específico para pontos de dados e fator de dimensionamento personalizado

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

Recomendações de SKU de SQL Server em VM do Azure com linha do tempo de agregação personalizada

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

Confira também