コマンド ラインMigration Assistantデータ の実行

バージョン 2.1 以上では、Data Migration Assistant をインストールすると 、%ProgramFiles% \ Microsoft Data \ Migration Assistant に dmacmd.exe もインストールされます。 この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する方法 N
/AssessmentName 評価プロジェクトの名前 Y
/AssessmentDatabases 接続文字列のスペース区切りリスト。 データベース名 (初期カタログ) では大文字と小文字が区別されます。 Y
/AssessmentSourcePlatform 評価のソース プラットフォーム:
Assessment でサポートされる値: SqlOnPrem、RdsSqlServer (既定値)
Target Readiness Assessment でサポートされる値: SqlOnPrem、RdsSqlServer (既定値)、Cassandra (プレビュー)
N
/AssessmentTargetPlatform 評価のターゲット プラットフォーム:
Assessment でサポートされる値: AzureSqlDatabase、ManagedSqlServer、SqlServer2012、SqlServer2014、SqlServer2016、SqlServerLinux2017、SqlServerWindows2017 (既定値)
Target Readiness Assessment でサポートされる値: ManagedSqlServer (既定値)、CosmosDB (プレビュー)
N
/AssessmentEvaluateFeatureParity 機能パリティ規則を実行します。 ソース プラットフォームが RdsSqlServer の場合、ターゲット プラットフォーム AzureSqlDatabase では機能パリティの評価はサポートされません Y
(AssessmentEvaluateCompatibilityIssues または AssessmentEvaluateFeatureParity が必要です)。
/AssessmentEvaluateCompatibilityIssues 互換性規則を実行する Y
(AssessmentEvaluateCompatibilityIssues または AssessmentEvaluateFeatureParity が必要です)。
/AssessmentOverwriteResult 結果ファイルを上書きする N
/AssessmentResultJson JSON 結果ファイルへの完全パス Y
(AssessmentResultJson または AssessmentResultCsv が必要です)
/AssessmentResultCsv CSV 結果ファイルへの完全パス Y
(AssessmentResultJson または AssessmentResultCsv が必要です)
/AssessmentResultDma dma 結果ファイルへの完全パス N
/Action SKU の推奨事項を取得するには、SkuRecommendation を使用します。
AssessTargetReadiness を使用して、ターゲットの準備状況の評価を実行します。
AzureMigrateUpload を使用して、AzzessmentResultInputFolder 内のすべての DMA 評価ファイルをアップロードして、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 サブスクリプション ID。 Y
(EnableAssessmentUploadToAzureMigrate 引数が指定されている場合は必須)
/AzureMigrateProjectName 評価Azure Migrate Projectアップロードする名前。 Y
(EnableAssessmentUploadToAzureMigrate 引数が指定されている場合は必須)
/ResourceGroupName Azure Migrateグループ名。 Y
(EnableAssessmentUploadToAzureMigrate 引数が指定されている場合は必須)
/AssessmentResultInputFolder を含む入力フォルダー パス。DMA 評価ファイルをアップロードするAzure Migrate。 Y
(Action が 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"

2012 年 2012 年のターゲット プラットフォームに対する SQL Server単一データベース評価では、結果を .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評価

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 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 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="https://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 Migrateを評価してアップロードする (既定)

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 Migrateにバッチ アップロードする (既定)

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 Database/Azure SQL Managed Instance/SQL Server CLI を使用して Azure VM SKU に関する推奨事項を確認する

バージョン 5.4 以上では、Data Migration Assistant をインストールすると、%ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole\ にも SqlAssessment.exe がインストールされます。 SqlAssessment.exeを使用して、SQL インスタンスのパフォーマンス データを長期に収集し、結果を JSON または CSV ファイルに出力します。

これらのコマンドは、Azure SQL Database 単一データベース、azure SQL Managed Instance SQL Server、azure VM デプロイオプションに関する推奨事項をサポートしています。

.\SqlAssessment.exe GetSkuRecommendation 
--outputFolder C:\Output 
--targetPlatform AzureSqlManagedInstance
引数 説明 必須 (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 、、 AzureSqlManagedInstance AzureSqlVirtualMachine 、または Any N
(アクションに固有 GetSkuRecommendation です。 既定値: Any )
--targetSqlInstance SKU の推奨事項の対象となる SQL インスタンスの名前。 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 Managed Instance で利用できます。 azure VM ターゲットの SQL Server ではまだ使用できません。 N
(アクションに固有 GetSkuRecommendation です。 既定値: false )
--databaseAllowList SKU の推奨設定に含めるデータベースの名前のスペース区切りの一覧 N
(アクションに固有 GetSkuRecommendation です。 既定値: null )
--databaseDenyList SKU に関する推奨事項について除外するデータベースの名前のスペース区切りの一覧です。 次のいずれか、またはどちらも設定しないでください。 databaseAllowList``databaseDenyList N
(アクションに固有 GetSkuRecommendation です。 既定値: null )
--displayResult SKU の推奨結果をコンソールに出力するかどうかを指定します。 次のいずれか、またはどちらも設定しないでください。 databaseAllowList``databaseDenyList N
(アクションに固有 GetSkuRecommendation です。 既定値: true )

CLI を使用した 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

azure VM SKU に関する推奨事項の Azure SQL Database/azure SQL Managed Instance/SQL Server

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

Azure SQL Managed Instance の SKU に関する推奨事項と、データポイントおよびカスタムスケールファクターに対する特定の集計率

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

カスタム集計タイムラインを使用した Azure VM SKU の推奨事項の SQL Server

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

こちらもご覧ください