Partilhar via


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, SqlServerLinux2017e 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, AzureSqlVirtualMachineou 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"