Поделиться через


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

Внимание

Помощник по миграции данных (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"
Аргумент Описание Обязательный (Да/Нет)
/help or /? Как использовать текст справки dmacmd.exe N
/AssessmentName Имя проекта оценки Y
/AssessmentDatabases Список строк подключения, разделенных пробелами. Имя базы данных (начальный каталог) чувствительно к регистру. Y
/AssessmentSourcePlatform Исходная платформа для оценки:
Поддерживаемые значения для оценки: SqlOnPrem( RdsSqlServer по умолчанию)
Поддерживаемые значения для оценки готовности целевого объекта: SqlOnPrem, RdsSqlServer (по умолчанию), Cassandra (предварительная версия)
N
/AssessmentTargetPlatform Целевая платформа для оценки:
Поддерживаемые значения для оценки: AzureSqlDatabase, ManagedSqlServer, SqlServer2012, SqlServer2014, SqlServer2016SqlServerLinux2017, и 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 Migrate. Action Использование типа /Action=AzureMigrateUpload
N
/SourceConnections Список строк подключения, разделённых пробелами. Имя базы данных (начальный каталог) является необязательным. Если имя базы данных не указано, то оцениваются все базы данных в источнике. Y
(Требуется, если Action есть AssessTargetReadiness)
/TargetReadinessConfiguration Полный путь к XML-файлу, описывающий значения для имени, исходных подключений и результирующих файлов. Y
(Либо TargetReadinessConfiguration или SourceConnections требуется)
/FeatureDiscoveryReportJson Путь к JSON-отчету по обнаружению функций. Если этот файл был создан, его можно использовать для повторной оценки целевой готовности без подключения к источнику. N
/ImportFeatureDiscoveryReportJson Путь к отчету JSON обнаружения функций, созданному ранее. Вместо исходных подключений этот файл используется. N
/EnableAssessmentUploadToAzureMigrate Позволяет загружать и публиковать результаты оценки в Azure Migrate N
/AzureCloudEnvironment Выбирает облачную среду Azure для подключения, по умолчанию используется общедоступное облако Azure. Поддерживаемые значения: Azure (по умолчанию), AzureChina, AzureGermany. AzureUSGovernment N
/SubscriptionId Идентификатор подписки Azure. Y
(Требуется, если указан аргумент EnableAssessmentUploadToAzureMigrate)
/AzureMigrateProjectName Имя проекта Azure Migrate, в который будут загружены результаты оценки. Y
(Требуется, если указан аргумент EnableAssessmentUploadToAzureMigrate)
/ResourceGroupName Имя группы ресурсов Azure Migrate. Y
(Требуется, если указан аргумент EnableAssessmentUploadToAzureMigrate)
/AssessmentResultInputFolder Путь к входной папке, .dma содержащей файлы оценки для загрузки в Azure Migrate. 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 и паритета функций

Замените <password> допустимым паролем.

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;User Id=myUsername;Password=<password>;"
/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 Database, сохранение результатов в файлы .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

Замените <password> допустимым паролем.

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;User Id=myUsername;Password=<password>;" /AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

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

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

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

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

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
Аргумент Описание Обязательный (Да/Нет)
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, либо 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". N
(Конкретно для действия GetSkuRecommendation. Используется только для базовой (негибкой) стратегии
--endTime Время окончания по UTC для точек данных производительности, которые следует учитывать при агрегировании, в формате "YYYY-MM-DD HH:MM". N
(Специально для действия GetSkuRecommendation. Используется только для базовой (негибкой) стратегии
--elasticStrategy Следует ли использовать эластичную стратегию для рекомендаций SKU на основе профилирования использования статистических ресурсов. В настоящее время эластичная стратегия доступна для баз данных Azure SQL и управляемого экземпляра SQL, но пока недоступна для SQL Server на целевой платформе Azure VM. 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

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

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

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

.\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"