Partilhar via


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

Importante

O Assistente de Migração de Dados (DMA) está obsoleto. Para opções de migração do SQL Server para o SQL do Azure, consulte opções de migração do SQL Server para o SQL do Azure.

Com a versão 2.1 e posteriores, quando você instala o Assistente de Migração de Dados, ele também instala dmacmd.exe no %ProgramFiles%\Microsoft Data Migration Assistant. Use DMACMD 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.

DMACMD 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"
Argument 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 Y
/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. Y
/AssessmentSourcePlatform Plataforma de origem para a avaliação:
Valores suportados para Avaliação: SqlOnPrem, RdsSqlServer (padrão)
Valores com suporte na Avaliação de Preparação de Destino: SqlOnPrem, RdsSqlServer (padrão), Cassandra (preview)
N
/AssessmentTargetPlatform Plataforma de destino para a avaliação:
Valores suportados para 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 (preview)
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 Y
(AssessmentEvaluateCompatibilityIssues ou AssessmentEvaluateFeatureParity é obrigatório.)
/AssessmentEvaluateCompatibilityIssues Executar regras de compatibilidade Y
(AssessmentEvaluateCompatibilityIssues ou AssessmentEvaluateFeatureParity é necessário.)
/AssessmentOverwriteResult Substituir o arquivo de resultado N
/AssessmentResultJson Caminho completo para o arquivo de resultado JSON Y
(AssessmentResultJson ou AssessmentResultCsv é necessário)
/AssessmentResultCsv Caminho completo para o arquivo de resultado CSV Y
(AssessmentResultJson ou AssessmentResultCsv é necessá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.
Use AzureMigrateUpload para carregar todos os arquivos de avaliação DMA no AssessmentResultInputFolder para carregar em massa em Migrações para Azure. Action uso do tipo /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. Y
(Necessário se Action for AssessTargetReadiness)
/TargetReadinessConfiguration Caminho completo para o arquivo XML que descreve valores de nome, conexões de origem e arquivo de resultado. Y
(TargetReadinessConfiguration ou SourceConnections é necessá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. Y
(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. Y
(Obrigatório se o argumento EnableAssessmentUploadToAzureMigrate for especificado)
/ResourceGroupName Nome do grupo de recursos das Migrações para Azure. Y
(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. Y
(Necessário se Action for AzureMigrateUpload)

Exemplos de avaliações usando a CLI

DMACMD

dmacmd.exe /?

Ou:

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 e /AssessmentTargetPlatform são opcionais)

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 posteriores, quando você instala o Assistente de Migração de Dados, ele também instala SqlAssessment.exe no %ProgramFiles%\Microsoft Data Migration Assistant\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
Argument Descrição Obrigatório (S/N)
PerfDataCollection Inicia a coleta de dados de desempenho. Y
GetSkuRecommendation Executa agregação e análise dos dados de desempenho coletados e determina recomendações de SKU. Y
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. Y
--outputFolder Pasta na qual os dados de desempenho, os relatórios e os logs são gravados/lidos. N
(Padrão: diretório atual)
--sqlConnectionStrings Strings de conexão formais entre aspas para as instâncias SQL de destino. Y
--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 SQL que a recomendação de SKU está direcionando. 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"