Запуск Помощник по миграции данных из командной строки

В версии 2.1 и более поздних при установке Помощник по миграции данных также будут установлены dmacmd.exe в %ProgramFiles%\Microsoft Помощник по миграции данных\. Используйте dmacmd.exe, чтобы оценить базы данных в автоматическом режиме и вывести результат в JSON или CSV-файл. Этот метод особенно полезен при оценке нескольких баз данных или больших баз данных.

Примечание

Dmacmd.exe поддерживает только выполняемые оценки. Миграция в настоящее время не поддерживается.

Оценки с помощью интерфейса командной строки (CLI)

DmaCmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" \["connectionString2"\]
\[/AssessmentSourcePlatform="SourcePlatform"]
\[/AssessmentTargetPlatform="TargetPlatform"\]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
\[/AssessmentOverwriteResult\]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Аргумент Описание Обязательный (Y/N)
/help or /? Использование текста справки dmacmd.exe Нет
/AssessmentName Имя проекта оценки Да
/AssessmentDatabases Разделенный пробелами список строк подключения. Имя базы данных (исходный каталог) учитывает регистр. Да
/AssessmentSourcePlatform Исходная платформа для оценки:
Поддерживаемые значения для оценки: SqlOnPrem, RdsSqlServer (по умолчанию)
Поддерживаемые значения для оценки готовности к целевому объекту: SqlOnPrem, RdsSqlServer (по умолчанию), Cassandra (предварительная версия)
N
/AssessmentTargetPlatform Целевая платформа для оценки:
Поддерживаемые значения для оценки: AzureSqlDatabase, ManagedSqlServer, SqlServer2012, SqlServer2014, SqlServer2016, SqlServerLinux2017 и SqlServerWindows2017 (по умолчанию)
Поддерживаемые значения для оценки готовности к целевому объекту: ManagedSqlServer (по умолчанию), CosmosDB (предварительная версия)
Нет
/AssessmentEvaluateFeatureParity Выполнение правил четности компонентов. Если исходной платформой является RdsSqlServer, оценка четности компонентов не поддерживается для целевой платформы AzureSqlDatabase. Да
(Требуется оценкаEvaluateCompatibilityIssues или AssessmentEvaluateFeatureParity.)
/AssessmentEvaluateCompatibilityIssues Выполнение правил совместимости Да
(Требуется оценкаEvaluateCompatibilityIssues или AssessmentEvaluateFeatureParity.)
/AssessmentOverwriteResult Перезаписать результирующий файл N
/AssessmentResultJson Полный путь к файлу результатов JSON Да
(Требуется оценкаResultJson или AssessmentResultCsv)
/AssessmentResultCsv Полный путь к csv-файлу результатов Да
(Требуется оценкаResultJson или AssessmentResultCsv)
/AssessmentResultDma Полный путь к файлу результатов dma Нет
/Action Используйте SkuRecommendation для получения рекомендаций по SKU.
Используйте AssessmentTargetReadiness для выполнения оценки готовности к целевому объекту.
Использование AzureMigrateUpload для отправки всех файлов оценки DMA в AzzessmentResultInputFolder для массовой отправки в Azure Migrate.Action type usage /Action= AzureMigrateUpload
Нет
/SourceConnections Разделенный пробелами список строк подключения. Имя базы данных (исходный каталог) является необязательным. Если имя базы данных не указано, оцениваются все базы данных в источнике. Да
(Требуется, если действие имеет значение "AssessTargetReadiness")
/TargetReadinessConfiguration Полный путь к XML-файлу с описанием значений для имени, исходных подключений и результирующих файлов. Да
(Требуется либо TargetReadinessConfiguration, либо SourceConnections)
/FeatureDiscoveryReportJson Путь к отчету JSON об обнаружении признаков. Если этот файл создан, его можно использовать для повторного выполнения оценки готовности к целевому объекту без подключения к источнику. N
/ImportFeatureDiscoveryReportJson Путь к созданному ранее отчету JSON об обнаружении признаков. Вместо исходных подключений будет использоваться этот файл. N
/EnableAssessmentUploadToAzureMigrate Позволяет отправлять и публиковать результаты оценки в службе "Миграция Azure" Нет
/AzureCloudEnvironment Выбирает облачную среду Azure для подключения. По умолчанию используется общедоступное облако Azure. Поддерживаемые значения: Azure (по умолчанию), AzureChina, AzureGermany, AzureUSGovernment. N
/SubscriptionId Идентификатор подписки Azure. Да
(Требуется, если указан аргумент EnableAssessmentUploadToAzureMigrate)
/AzureMigrateProjectName Имя проекта службы "Миграция Azure", в который нужно отправить результаты оценки. Да
(Требуется, если указан аргумент EnableAssessmentUploadToAzureMigrate)
/ResourceGroupName Имя группы ресурсов службы "Миграция Azure". Да
(Требуется, если указан аргумент EnableAssessmentUploadToAzureMigrate)
/AssessmentResultInputFolder Путь к входной папке, содержащей . Файлы оценки DMA для отправки в службу "Миграция Azure". Да
(Требуется, если действие — AzureMigrateUpload)

Примеры оценок с помощью CLI

Dmacmd.exe

Dmacmd.exe /? or DmaCmd.exe /help

Оценка отдельной базы данных с использованием проверка подлинности Windows и выполнения правил совместимости

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

Оценка отдельной базы данных с использованием проверки подлинности SQL Server и четности функций

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

Оценка для одной базы данных для целевой платформы SQL Server 2012, сохранение результатов в JSON-файле и .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"

Оценка одной базы данных для целевой платформы Azure SQL база данных, сохранение результатов в JSON и .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"

Оценка с несколькими базами данных

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"

Оценка готовности к целевому объекту для отдельной базы данных с помощью проверка подлинности Windows

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

Оценка готовности к целевому объекту для отдельной базы данных с использованием проверки подлинности 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" 

Оценка одной базы данных для целевой платформы Azure SQL база данных, сохранение результатов в JSON и .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"

Оценка готовности к целевому объекту с несколькими базами данных

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

Целевая оценка готовности для всех баз данных на сервере с помощью проверка подлинности Windows

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

Целевая оценка готовности путем импорта отчета об обнаружении признаков, созданного ранее

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

Целевая оценка готовности путем предоставления файла конфигурации

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

Содержимое файла конфигурации при использовании исходных подключений:

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

Содержимое файла конфигурации при импорте отчета об обнаружении признаков:

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

Оценка и отправка в миграцию Azure в общедоступном облаке Azure (по умолчанию)

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

Пакетная отправка файлов оценки DMA в миграцию Azure в общедоступном облаке Azure (по умолчанию)

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

Azure SQL Базы данных , Управляемый экземпляр SQL Azure / SQL Server на виртуальных машинах Azure с помощью интерфейса командной строки

В версии 5.4 и более поздних при установке Помощник по миграции данных она также будет устанавливать SqlAssessment.exe в папке %ProgramFiles%\Microsoft Помощник по миграции данных\SQLAssessmentConsole. Используйте SqlAssessment.exe для сбора данных о производительности экземпляра SQL в течение длительного периода времени и вывода результатов в JSON- или CSV-файл.

Эти команды поддерживают рекомендации для отдельной базы данных Azure SQL, Управляемый экземпляр SQL Azure и SQL Server в вариантах развертывания виртуальных машин Azure.

.\SqlAssessment.exe GetSkuRecommendation 
--outputFolder C:\Output 
--targetPlatform AzureSqlManagedInstance
Аргумент Описание Обязательный (Y/N)
PerfDataCollection Начинает сбор данных о производительности. Да
GetSkuRecommendation Выполняет агрегирование и анализ собранных данных о производительности и определяет рекомендации по SKU. Да
GetMetadata Выполняет сбор метаданных целевых экземпляров SQL, включая количество и свойства экземпляров сервера, баз данных и файлов баз данных, определяемых пользователем объектов и т. д. Полный отчет экспортируется в MetadataReport.json. Да
--outputFolder Папка, в которую будут записываться данные о производительности, отчеты и журналы. Нет
(По умолчанию: текущий каталог)
--sqlConnectionStrings Заключенные в кавычки формальные строки подключения для целевых экземпляров SQL. Да
--overwrite Следует ли перезаписать существующие отчеты об оценке или рекомендациях по SKU. Нет
( По умолчанию: true)
--perfQueryIntervalInSec Интервал запроса данных о производительности в секундах. N
(Специфично для PerfDataCollection действия. По умолчанию 30)
--staticQueryIntervalInSec Интервал, с которым выполняется запрос и сохранение статических данных конфигурации, в секундах. Нет
(Специфично для PerfDataCollection действия. По умолчанию 30)
--numberOfIterations Количество итераций сбора данных о производительности, которые необходимо выполнить перед сохранением в файл. N
(Специфично для PerfDataCollection действия. По умолчанию 20)
--perfQueryIntervalInSec Интервал запроса данных о производительности в секундах. N
(Специфично для GetSkuRecommendationдействия. Оно должно соответствовать значению, которое изначально использовалось во время сбора данных о производительности. Значение по умолчанию: 30)
--targetPlatform Целевая платформа для рекомендаций по номеру SKU: AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachineили Any. N
(Специфично для GetSkuRecommendationдействия. По умолчанию: Any)
--targetSqlInstance Имя экземпляра SQL, на который будет направлена рекомендация по SKU. N
(Специфично для GetSkuRecommendationдействия)
--targetPercentile Процентиль точек данных, используемых при агрегации данных о производительности. N
(Специфично для GetSkuRecommendationдействия. Используется только для базовой (неэластичной) стратегии. Значение по умолчанию: 95)
--scalingFactor Коэффициент масштабирования (комфорта), используемый во время рекомендации по SKU. N
(Специфично для GetSkuRecommendationдействия. По умолчанию: 100)
--startTime Время начала (UTC) точек данных производительности, которые необходимо учитывать во время агрегирования в "YYYY-MM-DD HH:MM" формате . Нет
(Специфично для GetSkuRecommendationдействия. Используется только для базовой (неэластичной) стратегии)
--endTime Время окончания (UTC) точек данных производительности, которые необходимо учитывать во время агрегирования в "YYYY-MM-DD HH:MM" формате Нет
(Специфично для GetSkuRecommendationдействия. Используется только для базовой (неэластичной) стратегии)
--elasticStrategy Следует ли использовать эластичную стратегию для рекомендаций по SKU на основе профилирования использования статистических ресурсов. Эластичная стратегия в настоящее время доступна для баз данных Azure SQL и Управляемый экземпляр SQL, но пока недоступна для SQL Server на целевом объекте виртуальной машины Azure. N
(Специфично для GetSkuRecommendationдействия. По умолчанию: false)
--databaseAllowList Разделенный пробелами список имен баз данных, которые будут включены в рекомендации по SKU N
(Специфично для GetSkuRecommendationдействия. По умолчанию: null)
--databaseDenyList Разделенный пробелами список имен баз данных, которые будут исключены для рекомендаций по SKU. Задайте только одно из следующих значений или ни одно из следующих значений: databaseAllowList, databaseDenyList N
(Специфично для GetSkuRecommendationдействия. По умолчанию: null)
--displayResult Указывает, следует ли выводить результаты рекомендаций по номеру SKU в консоль. Задайте только одно из следующих значений или ни одно из следующих значений: databaseAllowList, databaseDenyList Нет
(Специфично для GetSkuRecommendationдействия. По умолчанию: true)

Примеры оценок номеров SKU с помощью cli

SqlAssessment.exe

SqlAssessment.exe --help

Запуск процесса сбора данных для локальных экземпляров 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

Рекомендации по Azure SQL база данных / Управляемый экземпляр SQL Azure / SQL Server на виртуальной машине Azure

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

Управляемый экземпляр SQL Azure рекомендации по SKU с определенным процентом агрегирования для точек данных и настраиваемым коэффициентом масштабирования

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

SQL Server рекомендаций по номеру SKU виртуальных машин Azure с пользовательским агрегированием временная шкала

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

См. также раздел