英語で読む

次の方法で共有


コマンド ラインから 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 接続文字列のスペース区切りの一覧。 データベース名 (初期カタログ) では、大文字と小文字が区別されます。
/AssessmentSourcePlatform 評価のソース プラットフォーム:
評価でサポートされている値: SqlOnPremRdsSqlServer (デフォルト)
ターゲット対応性評価でサポートされている値: SqlOnPremRdsSqlServer (デフォルト)、Cassandra (プレビュー)
N
/AssessmentTargetPlatform 評価のターゲット プラットフォーム:
評価でサポートされている値: AzureSqlDatabaseManagedSqlServerSqlServer2012SqlServer2014SqlServer2016SqlServerLinux2017SqlServerWindows2017 (デフォルト)
ターゲット対応性評価でサポートされている値: ManagedSqlServer (デフォルト)、CosmosDB (プレビュー)
N
/AssessmentEvaluateFeatureParity 機能パリティ ルールを実行します。 ソース プラットフォームが RdsSqlServer の場合、ターゲット プラットフォーム AzureSqlDatabase では機能パリティ評価はサポートされません Y
(AssessmentEvaluateCompatibilityIssues または AssessmentEvaluateFeatureParity が必須)
/AssessmentEvaluateCompatibilityIssues 互換性ルールを実行します
(AssessmentEvaluateCompatibilityIssues または AssessmentEvaluateFeatureParity が必須)
/AssessmentOverwriteResult 結果ファイルを上書きします N
/AssessmentResultJson JSON 結果ファイルへの完全なパス
(AssessmentResultJson または AssessmentResultCsv が必須)
/AssessmentResultCsv CSV 結果ファイルへの完全なパス
(AssessmentResultJson または AssessmentResultCsv が必須)
/AssessmentResultDma .dma 結果ファイルへの完全なパス N
/Action SkuRecommendation を使用して SKU 推奨を取得します。
AssessTargetReadiness を使用してターゲット対応性評価を実行します。
AzureMigrateUpload を使用して、AssessmentResultInputFolder 内のすべての DMA 評価ファイルをアップロードし、Azure Migrate に一括アップロードします。 Action型の使用/Action=AzureMigrateUpload
N
/SourceConnections 接続文字列のスペース区切りの一覧。 データベース名 (初期カタログ) は省略可能です。 データベース名が指定されていない場合は、ソース上のすべてのデータベースが評価されます。
(ActionAssessTargetReadiness の場合は必須)
/TargetReadinessConfiguration 名前、ソース接続、結果ファイルの値を記述する XML ファイルへの完全なパス。
(TargetReadinessConfiguration または SourceConnections が必須)
/FeatureDiscoveryReportJson 機能検出 JSON レポートへのパス。 このファイルが生成された場合は、ソースに接続せずにターゲット対応性評価を再度実行するために使用できます。 N
/ImportFeatureDiscoveryReportJson 前に作成した機能検出 JSON レポートへのパス。 ソース接続の代わりに、このファイルを使用します。 N
/EnableAssessmentUploadToAzureMigrate 評価結果の Azure Migrate へのアップロードと公開を有効にします N
/AzureCloudEnvironment 接続先の Azure クラウド環境を選択します。既定値は Azure パブリック クラウドです。 サポートされている値: Azure (デフォルト)、AzureChinaAzureGermanyAzureUSGovernment N
/SubscriptionId Azure サブスクリプション ID。
(EnableAssessmentUploadToAzureMigrate 引数を指定した場合は必須)
/AzureMigrateProjectName 評価結果をアップロードする Azure Migrate プロジェクト名。
(EnableAssessmentUploadToAzureMigrate 引数を指定した場合は必須)
/ResourceGroupName Azure Migrate リソース グループ名。
(EnableAssessmentUploadToAzureMigrate 引数を指定した場合は必須)
/AssessmentResultInputFolder Azure Migrate にアップロードする .dma 評価ファイルを含む入力フォルダー パス。
(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 パフォーマンス データの収集を開始します。
GetSkuRecommendation 収集されたパフォーマンス データの集計と分析を実行し、SKU 推奨を決定します。
GetMetadata サーバー インスタンス、データベースとデータベース ファイル、ユーザー定義オブジェクトなどの数とプロパティを含む、ターゲット SQL インスタンスのメタデータ収集を実行します。完全なレポートが MetadataReport.json にエクスポートされます。
--outputFolder パフォーマンス データ、レポート、ログの書き込み先および読み取り元のフォルダー。 N
(既定値: 現在のディレクトリ)
--sqlConnectionStrings ターゲット SQL インスタンスの引用符で囲まれた正式な接続文字列。
--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"