Запустите программу "Помощник по миграции данных" из командной строки
Внимание
Помощник по миграции данных (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 , SqlServer2016 SqlServerLinux2017 , и 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. Задайте только одно из следующих или ни одно из следующих элементов: databaseAllowList databaseDenyList |
N (Специфично для GetSkuRecommendation действия. По умолчанию: null ) |
--displayResult |
Следует ли распечатать результаты рекомендаций SKU в консоли. Задайте только одно из следующих или ни одно из следующих элементов: databaseAllowList databaseDenyList |
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"