次の方法で共有


コマンド ラインから Data Migration Assistant を実行する

重要

Data Migration Assistant (DMA) は非推奨とされています。 SQL Server から Azure SQL への移行オプションについては、「SQL Server から Azure SQL への移行オプション」を参照してください。

バージョン 2.1 以降のバージョンでは、Data Migration Assistant をインストールする際に、%ProgramFiles%\Microsoft Data Migration Assistantdmacmd.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 評価のソース プラットフォーム:
評価でサポートされている値: SqlOnPremRdsSqlServer (デフォルト)
ターゲット対応性評価でサポートされている値: SqlOnPremRdsSqlServer (デフォルト)、Cassandra (プレビュー)
N
/AssessmentTargetPlatform 評価のターゲット プラットフォーム:
評価でサポートされている値: AzureSqlDatabaseManagedSqlServerSqlServer2012SqlServer2014SqlServer2016SqlServerLinux2017SqlServerWindows2017 (デフォルト)
ターゲット対応性評価でサポートされている値: 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
(ActionAssessTargetReadiness の場合は必須)
/TargetReadinessConfiguration 名前、ソース接続、結果ファイルの値を記述する XML ファイルへの完全なパス。 Y
(TargetReadinessConfiguration または SourceConnections が必須)
/FeatureDiscoveryReportJson 機能検出 JSON レポートへのパス。 このファイルが生成された場合は、ソースに接続せずにターゲット対応性評価を再度実行するために使用できます。 N
/ImportFeatureDiscoveryReportJson 前に作成した機能検出 JSON レポートへのパス。 ソース接続の代わりに、このファイルを使用します。 N
/EnableAssessmentUploadToAzureMigrate 評価結果の Azure Migrate へのアップロードと公開を有効にします N
/AzureCloudEnvironment 接続先の Azure クラウド環境を選択します。既定値は Azure パブリック クラウドです。 サポートされている値: Azure (デフォルト)、AzureChinaAzureGermanyAzureUSGovernment N
/SubscriptionId Azure サブスクリプション ID。 Y
(EnableAssessmentUploadToAzureMigrate 引数を指定した場合は必須)
/AzureMigrateProjectName 評価結果をアップロードする Azure Migrate プロジェクト名。 Y
(EnableAssessmentUploadToAzureMigrate 引数を指定した場合は必須)
/ResourceGroupName Azure Migrate リソース グループ名。 Y
(EnableAssessmentUploadToAzureMigrate 引数を指定した場合は必須)
/AssessmentResultInputFolder Azure Migrate にアップロードする .dma 評価ファイルを含む入力フォルダー パス。 Y
(ActionAzureMigrateUpload の場合は必須)

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\SQLAssessmentConsoleSqlAssessment.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 推奨のターゲット プラットフォーム: AzureSqlDatabaseAzureSqlManagedInstanceAzureSqlVirtualMachine、または 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"