コマンド ラインから Data Migration Assistant を実行する
重要
Data Migration Assistant (DMA) は非推奨とされています。 SQL Server から Azure SQL への移行オプションについては、「SQL Server から Azure SQL への移行オプション」を参照してください。
バージョン 2.1 以降のバージョンでは、Data Migration Assistant をインストールする際に、%ProgramFiles%\Microsoft Data Migration Assistant
に dmacmd.exe
もインストールされます。 DMACMD を使用して非アテンド型モードでデータベースを評価し、結果を JSON または CSV ファイルに出力します。 この方法は、複数のデータベースまたは巨大なデータベースを評価する場合に特に便利です。
DMACMD では、評価の実行のみがサポートされます。 現時点では、移行はサポートされていません。
コマンド ライン インターフェイス (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 |
評価のソース プラットフォーム: 評価でサポートされている値: SqlOnPrem 、RdsSqlServer (デフォルト)ターゲット対応性評価でサポートされている値: SqlOnPrem 、RdsSqlServer (デフォルト)、Cassandra (プレビュー) |
N |
/AssessmentTargetPlatform |
評価のターゲット プラットフォーム: 評価でサポートされている値: AzureSqlDatabase 、ManagedSqlServer 、SqlServer2012 、SqlServer2014 、SqlServer2016 、SqlServerLinux2017 、SqlServerWindows2017 (デフォルト)ターゲット対応性評価でサポートされている値: 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 |
SkuRecommendation を使用して SKU 推奨を取得します。AssessTargetReadiness を使用してターゲット対応性評価を実行します。AzureMigrateUpload を使用して、AssessmentResultInputFolder 内のすべての 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 プロジェクト名。 | Y ( EnableAssessmentUploadToAzureMigrate 引数を指定した場合は必須) |
/ResourceGroupName |
Azure Migrate リソース グループ名。 | Y ( EnableAssessmentUploadToAzureMigrate 引数を指定した場合は必須) |
/AssessmentResultInputFolder |
Azure Migrate にアップロードする .dma 評価ファイルを含む入力フォルダー パス。 |
Y ( Action が AzureMigrateUpload の場合は必須) |
CLI を使用した評価の例
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"
ターゲット プラットフォーム 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
と /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 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
Azure パブリック クラウドでの Azure Migrate への DMA 評価ファイルのバッチ アップロード (既定)
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
CLI を使用した Azure SQL Database / Azure SQL Managed Instance / Azure VM 上の SQL Server の 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、Azure VM 上の SQL Server の両方のデプロイ オプションに関する推奨事項がサポートされます。
.\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 Database と 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 SQL Database / Azure SQL Managed Instance / Azure VM 上の SQL Server の SKU 推奨
.\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 上の SQL Server の SKU 推奨
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--startTime "2021-06-05 00:00"
--endTime "2021-06-07 00:00"