Executar o Assistente de Migração de Dados a partir da linha de comando
Importante
O DMA (Assistente de Migração de Dados) foi preterido. Para obter opções de migração do SQL Server para o Azure SQL, consulte o opções de migração do SQL Server para o Azure SQL.
Com a versão 2.1 e versões 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 envie o resultado para o arquivo JSON ou CSV. Este método é especialmente útil na avaliação de várias bases de dados ou enormes bases de dados.
DMACMD suporta apenas a execução de avaliações. No momento, não há suporte para migrações.
Avaliações usando a interface de linha de comando (CLI)
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 dmacmd.exe | N |
/AssessmentName |
Nome do projeto de avaliação | Y |
/AssessmentDatabases |
Lista delimitada por espaço de cadeias de conexão. O nome do banco de dados (Catálogo Inicial) é sensível a maiúsculas e minúsculas. | Y |
/AssessmentSourcePlatform |
Plataforma de origem para a avaliação: Valores suportados para Avaliação: SqlOnPrem , RdsSqlServer (padrão)Valores suportados para Avaliação de Prontidão do Destino: SqlOnPrem , RdsSqlServer (padrão), Cassandra (visualização) |
N |
/AssessmentTargetPlatform |
Plataforma alvo para a avaliação: Valores suportados para Avaliação: AzureSqlDatabase , ManagedSqlServer , SqlServer2012 , SqlServer2014 , SqlServer2016 , SqlServerLinux2017 e SqlServerWindows2017 (padrão)Valores suportados para Avaliação de Prontidão do Alvo: ManagedSqlServer (padrão), CosmosDB (pré-visualização) |
N |
/AssessmentEvaluateFeatureParity |
Executar regras de paridade de funcionalidades. Se a plataforma de origem for RdsSqlServer, a análise de paridade de funcionalidades não é suportada para a plataforma de destino AzureSqlDatabase. | Y ('AssessmentEvaluateCompatibilityIssues' ou ' AssessmentEvaluateFeatureParity ' é obrigatório.) |
/AssessmentEvaluateCompatibilityIssues |
Executar regras de compatibilidade | Y (É necessário AssessmentEvaluateCompatibilityIssues ou AssessmentEvaluateFeatureParity .) |
/AssessmentOverwriteResult |
Substituir o ficheiro de resultado | N |
/AssessmentResultJson |
Caminho completo para o arquivo de resultados JSON | Y (É necessário AssessmentResultJson ou AssessmentResultCsv ) |
/AssessmentResultCsv |
Caminho completo para o arquivo de resultados CSV | Y (É necessário AssessmentResultJson ou AssessmentResultCsv ) |
/AssessmentResultDma |
Caminho completo para o arquivo de resultados .dma |
N |
/Action |
Use SkuRecommendation para obter recomendações de SKU.Use AssessTargetReadiness para realizar a avaliação de prontidão do alvo.Use o AzureMigrateUpload para fazer upload de todos os arquivos de avaliação DMA no AssessmentResultInputFolder para fazer upload em massa no Azure Migrate.
Action uso do tipo /Action=AzureMigrateUpload |
N |
/SourceConnections |
Lista delimitada por espaço 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 (Obrigatório se Action estiver AssessTargetReadiness ) |
/TargetReadinessConfiguration |
Caminho completo para o arquivo XML descrevendo valores para o nome, conexões de origem e arquivo de resultado. | Y (É necessário TargetReadinessConfiguration ou SourceConnections ) |
/FeatureDiscoveryReportJson |
Caminho para o relatório de descoberta de recursos em JSON. Se esse arquivo for gerado, ele poderá ser usado para executar a avaliação de prontidão do destino novamente sem se conectar à origem. | N |
/ImportFeatureDiscoveryReportJson |
Caminho para o relatório JSON de descoberta de recursos criado anteriormente. Em vez de conexões de origem, este arquivo é usado. | N |
/EnableAssessmentUploadToAzureMigrate |
Permite carregar e publicar resultados de avaliação no Azure Migrate | N |
/AzureCloudEnvironment |
Seleciona o ambiente de nuvem do Azure ao qual se conectar, o padrão é a Nuvem Pública do Azure. Valores suportados: 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 de Migração do 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 do Azure Migrate. | Y (Obrigatório se o argumento EnableAssessmentUploadToAzureMigrate for especificado) |
/AssessmentResultInputFolder |
O caminho da pasta de entrada que contém os ficheiros de avaliação .dma para carregar no Azure Migrate. |
Y (Obrigatório se Action estiver AzureMigrateUpload ) |
Exemplos de avaliações usando a CLI
DMACMD
dmacmd.exe /?
Ou:
dmacmd.exe /help`
Avaliação de banco de dados único usando autenticação do Windows e 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 usando autenticação do SQL Server e garantindo paridade de funcionalidades
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 plataforma de destino SQL Server 2012, guarde os resultados em arquivos .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 uma base de dados única na plataforma de destino Azure SQL Database, guarde os resultados nos ficheiros .json e .csv e no ficheiro
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 prontidão de destino de banco de dados único usando de 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 prontidão de destino de banco de dados único usando 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, guarde os resultados nos ficheiros .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 para o alvo 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 da prontidão de destino para todos os bancos de dados em um servidor usando 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 prontidão do alvo ao importar o 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 da prontidão do alvo através do fornecimento de ficheiro de configuração
dmacmd.exe /Action=AssessTargetReadiness
/TargetReadinessConfiguration=.\Config.xml
Conteúdo do arquivo de configuração ao usar 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 ao importar 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 para o Azure Migrar na 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 em lote arquivos de avaliação DMA para o Azure Migrate na cloud 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
Banco de Dados SQL do Azure / Instância Gerida do SQL do Azure / SQL Server em VM do Azure: Recomendações de SKU usando a CLI
Com a versão 5.4 e versões 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 para coletar dados de desempenho para sua instância SQL durante um longo período de tempo e enviar o resultado para o arquivo JSON ou CSV.
Esses comandos dão suporte a recomendações para o banco de dados único do Banco de Dados SQL do Azure, a Instância Gerenciada do SQL do Azure e as opções de implantação do SQL Server na VM 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. | Y |
GetSkuRecommendation |
Realiza agregação e análise dos dados de desempenho coletados e determina recomendações de SKU. | Y |
GetMetadata |
Executa uma coleta 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, relatórios e logs são gravados/lidos. | N (Padrão: diretório atual) |
--sqlConnectionStrings |
Cadeias de conexão formais entre aspas para as instâncias SQL de destino. | Y |
--overwrite |
Decidir se substitui ou não qualquer avaliação existente ou relatórios de recomendações de SKU. | N (Padrão: true ) |
--perfQueryIntervalInSec |
Intervalo para 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ática, 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 em que os dados de desempenho foram consultados, em segundos. | N (Específico para GetSkuRecommendation ação. Isso deve corresponder ao valor que foi originalmente usado 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 |
Percentil 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 escala (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 considerar durante a agregação, no 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 |
Usar ou não a estratégia elástica para recomendações de SKU com base no perfil de uso de recursos estatísticos. A estratégia elástica está atualmente disponível para os Bancos de Dados SQL do Azure e a Instância Gerenciada do SQL, ainda não disponível para o SQL Server no destino da 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 para recomendações de SKU | N (Específica para a ação GetSkuRecommendation . Padrão: null ) |
--databaseDenyList |
Lista, separada por espaços, de nomes de bancos de dados a excluir das recomendações de SKU. Defina apenas uma das seguintes opções ou nenhuma: databaseAllowList , databaseDenyList |
N (Específico para a ação GetSkuRecommendation . Padrão: null ) |
--displayResult |
Imprimir ou não os resultados da recomendação de SKU no console. Defina apenas uma das seguintes opções ou nenhuma: databaseAllowList , databaseDenyList |
N (Ação específica para GetSkuRecommendation . Padrão: true ) |
Exemplos de avaliações de SKU usando a CLI
SqlAssessment.exe
SqlAssessment.exe --help
Inicie o processo de coleta de dados para instâncias locais do SQL Server
.\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 para Banco de Dados SQL do Azure / Instância Gerida 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 SQL do Azure com porcentagem de agregação específica 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 para SQL Server em VM do Azure com linha cronológica de agregação personalizada
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--startTime "2021-06-05 00:00"
--endTime "2021-06-07 00:00"