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

Внимание

Помощник по миграции данных (DMA) не рекомендуется. Варианты миграции из SQL Server в SQL Azure см. в параметрах миграции SQL Server в Sql Azure.

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

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

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

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

Примеры оценки с помощью интерфейса командной строки

DMACMD

dmacmd.exe /?

Или сделайте так:

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"

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

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

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

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

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

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

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

Примеры оценки SKU с помощью интерфейса командной строки

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

База данных SQL Azure / Управляемый экземпляр SQL Azure / SQL Server в рекомендациях SKU виртуальной машины 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"