Menjalankan Asisten Migrasi Data dari baris perintah

Dengan versi 2.1 ke atas, ketika Anda menginstal Asisten Migrasi Data, Asisten Migrasi Data juga akan menginstal dmacmd.exe di %ProgramFiles%\Microsoft Data Migration Assistant\. Gunakan dmacmd.exe untuk menilai database Anda dalam mode tanpa pengamatan, dan keluarkan hasilnya ke file JSON atau CSV. Metode ini sangat berguna saat menilai beberapa database atau database besar.

Catatan

Dmacmd.exe hanya mendukung penilaian yang sedang berjalan. Migrasi saat ini tidak didukung.

Penilaian menggunakan Antarmuka Baris Perintah (CLI)

DmaCmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" \["connectionString2"\]
\[/AssessmentSourcePlatform="SourcePlatform"]
\[/AssessmentTargetPlatform="TargetPlatform"\]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
\[/AssessmentOverwriteResult\]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Argumen Deskripsi Diperlukan (Y/N)
/help or /? Cara menggunakan teks bantuan dmacmd.exe N
/AssessmentName Nama proyek penilaian Y
/AssessmentDatabases Daftar string koneksi yang dibatasi spasi. Nama database (Katalog Awal) peka huruf besar/kecil. Y
/AssessmentSourcePlatform Platform sumber untuk penilaian:
Nilai yang didukung untuk Penilaian: SqlOnPrem, RdsSqlServer (default)
Nilai yang didukung untuk Penilaian Kesiapan Target: SqlOnPrem, RdsSqlServer (default), Cassandra (pratinjau)
N
/AssessmentTargetPlatform Platform target untuk penilaian:
Nilai yang didukung untuk Penilaian: AzureSqlDatabase, ManagedSqlServer, SqlServer2012, SqlServer2014, SqlServer2016, SqlServerLinux2017 dan SqlServerWindows2017 (default)
Nilai yang didukung untuk Penilaian Kesiapan Target: ManagedSqlServer (default), CosmosDB (pratinjau)
N
/AssessmentEvaluateFeatureParity Jalankan aturan paritas fitur. Jika platform sumber adalah RdsSqlServer, evaluasi paritas fitur tidak didukung untuk platform target AzureSqlDatabase Y
(AssessmentEvaluateCompatibilityIssues atau AssessmentEvaluateFeatureParity diperlukan.)
/AssessmentEvaluateCompatibilityIssues Menjalankan aturan kompatibilitas Y
(AssessmentEvaluateCompatibilityIssues atau AssessmentEvaluateFeatureParity diperlukan.)
/AssessmentOverwriteResult Timpa file hasil N
/AssessmentResultJson Jalur lengkap ke file hasil JSON Y
(Diperlukan AssessmentResultJson atau AssessmentResultCsv)
/AssessmentResultCsv Jalur lengkap ke file hasil CSV Y
(Diperlukan AssessmentResultJson atau AssessmentResultCsv)
/AssessmentResultDma Jalur lengkap ke file hasil dma N
/Action Gunakan SkuRecommendation untuk mendapatkan rekomendasi SKU.
Gunakan AssessTargetReadiness untuk melakukan penilaian kesiapan target.
Gunakan AzureMigrateUpload untuk mengunggah semua file penilaian DMA di AzzessmentResultInputFolder untuk mengunggah secara massal ke Penggunaan jenis Azure Migrate.Action /Action= AzureMigrateUpload
N
/SourceConnections Daftar string koneksi yang dibatasi spasi. Nama database (Katalog Awal) bersifat opsional. Jika tidak ada nama database yang disediakan, maka semua database pada sumber dinilai. Y
(Diperlukan jika Tindakan adalah 'AssessTargetReadiness')
/TargetReadinessConfiguration Jalur lengkap ke file XML yang menjelaskan nilai untuk nama, koneksi sumber, dan file hasil. Y
(Diperlukan TargetReadinessConfiguration atau SourceConnections)
/FeatureDiscoveryReportJson Jalur ke laporan JSON penemuan fitur. Jika file ini dihasilkan, maka dapat digunakan untuk menjalankan penilaian kesiapan target lagi tanpa menyambungkan ke sumber. N
/ImportFeatureDiscoveryReportJson Jalur ke laporan JSON penemuan fitur yang dibuat sebelumnya. Alih-alih koneksi sumber, file ini akan digunakan. N
/EnableAssessmentUploadToAzureMigrate Memungkinkan pengunggahan dan penerbitan hasil penilaian ke Azure Migrate N
/AzureCloudEnvironment Memilih lingkungan cloud Azure untuk disambungkan, defaultnya adalah Azure Public Cloud. Nilai yang didukung: Azure (default), AzureChina, AzureGermany, AzureUSGovernment. N
/SubscriptionId ID Langganan Azure. Y
(Diperlukan jika argumen EnableAssessmentUploadToAzureMigrate ditentukan)
/AzureMigrateProjectName Nama Proyek Azure Migrate untuk mengunggah hasil penilaian. Y
(Diperlukan jika argumen EnableAssessmentUploadToAzureMigrate ditentukan)
/ResourceGroupName Nama grup sumber daya Azure Migrate. Y
(Diperlukan jika argumen EnableAssessmentUploadToAzureMigrate ditentukan)
/AssessmentResultInputFolder Jalur folder input yang berisi . File penilaian DMA untuk diunggah ke Azure Migrate. Y
(Diperlukan jika Tindakan adalah AzureMigrateUpload)

Contoh penilaian menggunakan CLI

Dmacmd.exe

Dmacmd.exe /? or DmaCmd.exe /help

Penilaian database tunggal menggunakan autentikasi Windows dan menjalankan aturan kompatibilitas

DmaCmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"

Penilaian database tunggal menggunakan autentikasi SQL Server dan paritas fitur yang berjalan

DmaCmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;User Id=myUsername;Password=myPassword;"
/AssessmentEvaluateFeatureParity /AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"

Penilaian database tunggal untuk platform target SQL Server 2012, simpan hasilnya ke file .json dan .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"

Penilaian database tunggal untuk platform target Azure SQL Database, simpan hasil ke file .json dan .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"

Penilaian beberapa database

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"

Penilaian Kesiapan Target database tunggal menggunakan autentikasi Windows

DmaCmd.exe /Action=AssessTargetReadiness 
/AssessmentName="TestAssessment" 
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;Integrated Security=true" 
/AssessmentOverwriteResult 
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Penilaian Kesiapan Target database tunggal menggunakan autentikasi 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" 

Penilaian database tunggal untuk platform target Azure SQL Database, simpan hasil ke file .json dan .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"

Penilaian Kesiapan Target beberapa database

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.)

Penilaian Kesiapan Target untuk semua database di server menggunakan autentikasi Windows

DmaCmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Penilaian Kesiapan Target dengan mengimpor laporan penemuan fitur yang dibuat sebelumnya

DmaCmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/ImportFeatureDiscoveryReportJson="c:\temp\feature_report.json" 
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Penilaian Kesiapan Target dengan menyediakan file konfigurasi

DmaCmd.exe /Action=AssessTargetReadiness 
/TargetReadinessConfiguration=.\Config.xml

Konten file konfigurasi saat menggunakan koneksi sumber:

<?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>

Konten file konfigurasi saat mengimpor laporan penemuan fitur:

<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>

Menilai dan mengunggah ke Azure Migrate di Azure Public Cloud (default)

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

Mengunggah file penilaian DMA batch ke Azure Migrate di Azure Public Cloud (default)

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 pada rekomendasi Azure VM SKU menggunakan CLI

Dengan versi 5.4 ke atas, ketika Anda menginstal Asisten Migrasi Data, itu juga akan menginstal SqlAssessment.exe di %ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole. Gunakan SqlAssessment.exe untuk mengumpulkan data performa untuk instans SQL Anda selama jangka waktu yang lama, dan keluarkan hasilnya ke file JSON atau CSV.

Perintah ini mendukung rekomendasi untuk database tunggal Azure SQL Database, Azure SQL Managed Instance dan SQL Server pada opsi penyebaran Azure VM.

.\SqlAssessment.exe GetSkuRecommendation 
--outputFolder C:\Output 
--targetPlatform AzureSqlManagedInstance
Argumen Deskripsi Diperlukan (Y/N)
PerfDataCollection Memulai pengumpulan data performa. Y
GetSkuRecommendation Melakukan agregasi dan analisis data performa yang dikumpulkan dan menentukan rekomendasi SKU. Y
GetMetadata Melakukan kumpulan metadata instans SQL target, termasuk jumlah dan properti instans server, database dan file database, objek yang ditentukan pengguna, dll. Laporan lengkap diekspor ke MetadataReport.json. Y
--outputFolder Folder data performa, laporan, dan log mana yang akan ditulis/dibaca. N
(Default: direktori saat ini)
--sqlConnectionStrings String koneksi formal yang diapit kutipan untuk instans SQL target. Y
--overwrite Apakah akan menimpa penilaian atau laporan rekomendasi SKU yang ada atau tidak. N
( Default: true)
--perfQueryIntervalInSec Interval untuk mengkueri data performa, dalam hitungan detik. N
(Khusus untuk PerfDataCollection tindakan. Default 30)
--staticQueryIntervalInSec Interval untuk mengkueri dan mempertahankan data konfigurasi statis, dalam hitungan detik. N
(Khusus untuk PerfDataCollection tindakan. Default 30)
--numberOfIterations Jumlah perulangan pengumpulan data performa yang harus dilakukan sebelum bertahan pada file. N
(Khusus untuk PerfDataCollection tindakan. Default 20)
--perfQueryIntervalInSec Interval di mana data performa dikueri, dalam hitungan detik. N
(Khusus untuk GetSkuRecommendationtindakan. Ini harus cocok dengan nilai yang awalnya digunakan selama pengumpulan data performa. Default: 30)
--targetPlatform Platform target untuk rekomendasi SKU: baik AzureSqlDatabase, , AzureSqlManagedInstanceAzureSqlVirtualMachine, atau Any. N
(Khusus untuk GetSkuRecommendationtindakan. Default: Any)
--targetSqlInstance Nama instans SQL yang akan ditargetkan oleh rekomendasi SKU. N
(Khusus untuk GetSkuRecommendationtindakan)
--targetPercentile Persentil poin data yang akan digunakan selama agregasi data performa. N
(Khusus untuk GetSkuRecommendationtindakan. Hanya digunakan untuk strategi garis besar (non-elastis). Default: 95)
--scalingFactor Faktor penskalaan (kenyamanan) yang digunakan selama rekomendasi SKU. N
(Khusus untuk GetSkuRecommendationtindakan. Default: 100)
--startTime Waktu mulai UTC titik data performa untuk dipertimbangkan selama agregasi, dalam "YYYY-MM-DD HH:MM" format. N
(Khusus untuk GetSkuRecommendationtindakan. Hanya digunakan untuk strategi garis besar (non-elastis)
--endTime Waktu akhir UTC titik data performa untuk dipertimbangkan selama agregasi, dalam "YYYY-MM-DD HH:MM" format N
(Khusus untuk GetSkuRecommendationtindakan. Hanya digunakan untuk strategi garis besar (non-elastis)
--elasticStrategy Apakah menggunakan strategi elastis untuk rekomendasi SKU atau tidak berdasarkan pembuatan profil penggunaan sumber daya statistik. Strategi elastis saat ini tersedia untuk Azure SQL Database dan SQL Managed Instance, belum tersedia untuk SQL Server pada target Azure VM. N
(Khusus untuk GetSkuRecommendationtindakan. Default: false)
--databaseAllowList Daftar nama database yang dipisahkan spasi yang akan disertakan untuk rekomendasi SKU N
(Khusus untuk GetSkuRecommendationtindakan. Default: null)
--databaseDenyList Daftar nama database yang dipisahkan spasi yang akan dikecualikan untuk rekomendasi SKU. Hanya atur salah satu dari berikut ini atau tidak: databaseAllowList, databaseDenyList N
(Khusus untuk GetSkuRecommendationtindakan. Default: null)
--displayResult Apakah akan mencetak hasil rekomendasi SKU ke konsol atau tidak. Hanya atur salah satu dari berikut ini atau tidak: databaseAllowList, databaseDenyList N
(Khusus untuk GetSkuRecommendationtindakan. Default: true)

Contoh penilaian SKU menggunakan CLI

SqlAssessment.exe

SqlAssessment.exe --help

Memulai proses pengumpulan data untuk instans SQL Server lokal

.\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 / SQL Server pada rekomendasi Azure VM SKU

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

Azure SQL Managed Instance rekomendasi SKU dengan persentase agregasi tertentu untuk titik data dan faktor penskalaan kustom

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

SQL Server rekomendasi Azure VM SKU dengan garis waktu agregasi kustom

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

Lihat juga