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"