Data Migration Yardımcısı'nı komut satırından çalıştırma
Önemli
Data Migration Yardımcısı (DMA) kullanım dışı bırakıldı. SQL Server'dan Azure SQL'e geçiş seçenekleri için bkz. SQL Server'dan Azure SQL'e geçiş seçenekleri.
Sürüm 2.1 ve sonraki sürümlerde Data Migration Yardımcısı'nı yüklediğinizde, dmacmd.exe
'nin de %ProgramFiles%\Microsoft Data Migration Assistant
içinde yüklendiğini fark edeceksiniz. Veritabanlarınızı katılımsız modda değerlendirmek için DMACMD kullanın ve sonucu JSON veya CSV dosyasına verin. Bu yöntem özellikle çeşitli veritabanlarını veya büyük veritabanlarını değerlendirirken kullanışlıdır.
DMACMD yalnızca değerlendirmelerin yürütülmesini destekler. Geçişler şu anda desteklenmiyor.
Komut Satırı Arabirimini (CLI) kullanan değerlendirmeler
dmacmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" ["connectionString2"]
[/AssessmentSourcePlatform="SourcePlatform"]
[/AssessmentTargetPlatform="TargetPlatform"]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
[/AssessmentOverwriteResult]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Tartışma | Açıklama | Gerekli (Evet/Hayır) |
---|---|---|
/help or /? |
dmacmd.exe yardım metnini kullanma | N |
/AssessmentName |
Değerlendirme projesinin adı | Y |
/AssessmentDatabases |
Bağlantı dizelerinin boşlukla ayrılmış listesi. Veritabanı adı (İlk Katalog) büyük/küçük harfe duyarlıdır. | Y |
/AssessmentSourcePlatform |
Değerlendirme için kaynak platform: Değerlendirme için desteklenen değerler: SqlOnPrem , RdsSqlServer (varsayılan)Hedef Hazır Olma Değerlendirmesi için desteklenen değerler: SqlOnPrem , RdsSqlServer (varsayılan), Cassandra (önizleme) |
N |
/AssessmentTargetPlatform |
Değerlendirme için hedef platform: Değerlendirme için desteklenen değerler: AzureSqlDatabase , ManagedSqlServer , SqlServer2012 , SqlServer2014 , SqlServer2016 , SqlServerLinux2017 ve SqlServerWindows2017 (varsayılan)Hedef Hazır Olma Değerlendirmesi için desteklenen değerler: ManagedSqlServer (varsayılan), CosmosDB (önizleme) |
N |
/AssessmentEvaluateFeatureParity |
Özellik eşdeğerliği kurallarını çalıştırın. Kaynak platform RdsSqlServer ise, özellik eşlik değerlendirmesi hedef platform AzureSqlDatabase için desteklenmez | Y (AssessmentEvaluateCompatibilityIssues veya AssessmentEvaluateFeatureParity gereklidir.) |
/AssessmentEvaluateCompatibilityIssues |
Uyumluluk kurallarını çalıştırma | Y ( AssessmentEvaluateCompatibilityIssues veya AssessmentEvaluateFeatureParity gereklidir.) |
/AssessmentOverwriteResult |
Sonuç dosyasının üzerine yazma | N |
/AssessmentResultJson |
JSON sonuç dosyasının tam yolu | Y ( AssessmentResultJson veya AssessmentResultCsv gereklidir) |
/AssessmentResultCsv |
CSV sonuç dosyasının tam yolu | Y ( AssessmentResultJson veya AssessmentResultCsv gereklidir) |
/AssessmentResultDma |
.dma sonuç dosyasının tam yolu |
N |
/Action |
SKU önerileri almak için SkuRecommendation kullanın.Hedef hazır olma değerlendirmesi gerçekleştirmek için AssessTargetReadiness kullanın.Azure Migrate'e toplu yükleme yapmak için AzureMigrateUpload 'ı kullanarak AssessmentResultInputFolder 'deki tüm DMA değerlendirme dosyalarını karşıya yükleyin.
Action tipi kullanımı /Action=AzureMigrateUpload |
N |
/SourceConnections |
Bağlantı dizelerinin boşlukla ayrılmış listesi. Veritabanı adı (İlk Katalog) isteğe bağlıdır. Veritabanı adı sağlanmamışsa, kaynak üzerindeki tüm veritabanları değerlendirilir. | Y ( Action AssessTargetReadiness ise gereklidir) |
/TargetReadinessConfiguration |
Ad, kaynak bağlantılar ve sonuç dosyası değerlerini açıklayan XML dosyasının tam yolu. | Y ( TargetReadinessConfiguration veya SourceConnections gereklidir) |
/FeatureDiscoveryReportJson |
Özellik bulma JSON raporunun yolu. Bu dosya oluşturulursa, kaynağa bağlanmadan hedef hazır olma değerlendirmesini yeniden çalıştırmak için kullanılabilir. | N |
/ImportFeatureDiscoveryReportJson |
Daha önce oluşturulan özellik bulma JSON raporunun yolu. Bu dosya, kaynak bağlantılar yerine kullanılır. | N |
/EnableAssessmentUploadToAzureMigrate |
Değerlendirme sonuçlarının Azure Migrate'e yüklenmesini ve yayımlanmasını sağlar | N |
/AzureCloudEnvironment |
Bağlanacak Azure bulut ortamını seçer, varsayılan olarak Azure Genel Bulutu'dur. Desteklenen değerler: Azure (varsayılan), AzureChina , AzureGermany AzureUSGovernment . |
N |
/SubscriptionId |
Azure abonelik kimliği. | Y Gereklidir (eğer EnableAssessmentUploadToAzureMigrate bağımsız değişkeni belirtilirse). |
/AzureMigrateProjectName |
Değerlendirme sonuçlarını karşıya yüklemek için Azure Migrate projesinin adı. | Y ( EnableAssessmentUploadToAzureMigrate bağımsız değişkeni belirtilmişse gereklidir) |
/ResourceGroupName |
Azure Migrate kaynak grubunun adı. | Y (Eğer EnableAssessmentUploadToAzureMigrate bağımsız değişkeni belirtilirse gereklidir) |
/AssessmentResultInputFolder |
Azure Migrate'e yüklenecek .dma değerlendirme dosyalarını içeren giriş klasörünün yolu. |
Y ( Action AzureMigrateUpload ise gereklidir) |
CLI kullanan değerlendirme örnekleri
DMACMD
dmacmd.exe /?
Veya:
dmacmd.exe /help`
Windows kimlik doğrulama ve çalıştırma uyumluluk kurallarını kullanarak tek veritabanı değerlendirmesi
dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"
SQL Server kimlik doğrulaması kullanarak ve özellik eşliği sağlayarak tek veritabanı değerlendirmesi
<password>
geçerli bir parolayla değiştirin.
dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;User Id=myUsername;Password=<password>;"
/AssessmentEvaluateFeatureParity /AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"
Hedef platform SQL Server 2012 için tek veritabanı değerlendirmesi , sonuçları .json ve .csv dosyasına kaydedin
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"
Hedef platform Azure SQL Veritabanı için tek veritabanı değerlendirmesi , sonuçları .json ve .csv dosyası'e kaydedin.
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"
Birden çok veritabanı değerlendirme
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 kimlik doğrulaması kullanarak Tek Veritabanı Hedef Hazırlık Değerlendirmesi
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
SQL Server kimlik doğrulaması ile tek veritabanı hedef hazırlık değerlendirmesi
<password>
geçerli bir parolayla değiştirin.
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;User Id=myUsername;Password=<password>;" /AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
Hedef platform Azure SQL Veritabanı için tek veritabanı değerlendirmesi , sonuçları .json ve .csv dosyası'e kaydedin.
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"
Çok veritabanılı Hedef Hazır olma değerlendirmesi
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
ve /AssessmentTargetPlatform
isteğe bağlıdır.)
Windows kimlik doğrulaması kullanarak bir sunucudaki tüm veritabanları için Hedef Hazırlık Değerlendirmesi
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
Daha önce oluşturulan özellik bulma raporunu içeri aktararak Hedef Hazır olma değerlendirmesi
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/ImportFeatureDiscoveryReportJson="c:\temp\feature_report.json"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
Hedef Hazırlık değerlendirmesi, yapılandırma dosyası sağlanarak yapılır.
dmacmd.exe /Action=AssessTargetReadiness
/TargetReadinessConfiguration=.\Config.xml
Kaynak bağlantılar kullanılırken yapılandırma dosyası içeriği:
<?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>
Özellik bulma raporu içeri aktarılırken yapılandırma dosyası içeriği:
<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 Genel Bulut'ta (varsayılan) Azure Geçiş'e değerlendir ve yükle
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
Toplu olarak DMA değerlendirme dosyalarını Azure Genel Bulut'taki Azure Geçiş'e yükleyin (varsayılan)
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 kullanarak Azure SQL Veritabanı / Azure SQL Yönetilen Örnek / SQL Server Azure VM üzerinde SKU önerileri
Sürüm 5.4 ve sonraki sürümlerde Data Migration Assistant'ı yüklediğinizde, ayrıca SqlAssessment.exe
da %ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole
içinde yüklenir. SQL örneğinizin performans verilerini uzun bir süre boyunca toplamak ve sonucu JSON veya CSV dosyasına çıkarmak için SqlAssessment.exe kullanın.
Bu komutlar hem Azure SQL Veritabanı tek veritabanı, Azure SQL Yönetilen Örneği hem de Azure VM'de SQL Server dağıtım seçenekleri için önerileri destekler.
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
Tartışma | Açıklama | Gerekli (Evet/Hayır) |
---|---|---|
PerfDataCollection |
Performans verilerinin toplanmasını başlatır. | Y |
GetSkuRecommendation |
Toplanan performans verilerini toplama ve çözümleme gerçekleştirir ve SKU önerilerini belirler. | Y |
GetMetadata |
Sunucu örneklerinin, veritabanlarının ve veritabanı dosyalarının, kullanıcı tanımlı nesnelerin vb. sayısı ve özellikleri dahil olmak üzere hedef SQL örneklerinin meta veri koleksiyonunu gerçekleştirir. Raporun tamamı MetadataReport.json dışarı aktarılır. |
Y |
--outputFolder |
Performans verilerinin, raporların ve günlüklerin yazıldığı/okunduğu klasör. | N (Varsayılan: geçerli dizin) |
--sqlConnectionStrings |
Hedef SQL örnekleri için tırnak içine alınmış resmi bağlantı dizeleri. | Y |
--overwrite |
Mevcut değerlendirme veya SKU önerileri raporlarının üzerine yazılıp yazılmayacağı. | N (Varsayılan: true ) |
--perfQueryIntervalInSec |
Performans verilerinin saniye cinsinden sorgulandığı aralık. | N ( PerfDataCollection eylemine özgü. Varsayılan 30 ) |
--staticQueryIntervalInSec |
Statik yapılandırma verilerini sorgulama ve kalıcı hale getirmek için saniye cinsinden aralık. | N ( PerfDataCollection eylemine özgü. Varsayılan 30 ) |
--numberOfIterations |
Dosyada kalıcı hale getirilmeden önce gerçekleştirilecek performans verileri toplama yinelemelerinin sayısı. | N ( PerfDataCollection eylemine özgü. Varsayılan 20 ) |
--perfQueryIntervalInSec |
Saniye cinsinden performans verilerinin sorgulandığı aralık. | N ( GetSkuRecommendation eylemine özgü. Bu, performans verileri toplama sırasında ilk olarak kullanılan değerle eşleşmelidir. Varsayılan: 30 ) |
--targetPlatform |
SKU önerisi için hedef platform: AzureSqlDatabase , AzureSqlManagedInstance , AzureSqlVirtualMachine veya Any . |
N ( GetSkuRecommendation eylemine özgü. Varsayılan: Any ) |
--targetSqlInstance |
SKU önerisinin hedeflediğini SQL örneğinin adı. | N ( GetSkuRecommendation eyleme özgü) |
--targetPercentile |
Performans verilerinin toplanması sırasında kullanılacak veri noktalarının yüzdebirliği. | N ( GetSkuRecommendation eylemine özgü. Yalnızca temel (elastik olmayan) strateji için kullanılır. Varsayılan: 95 ) |
--scalingFactor |
SKU önerisi sırasında kullanılan ölçeklendirme (konfor) faktörü. | N ( GetSkuRecommendation eylemine özgü. Varsayılan: 100 ) |
--startTime |
Toplama sırasında dikkate alınacak bazı performans veri noktalarının UTC'deki başlangıç saati, "YYYY-MM-DD HH:MM" biçimindedir. |
N ( GetSkuRecommendation eylemine özgü. Yalnızca temel (elastik olmayan) strateji için kullanılır |
--endTime |
Toplama sırasında dikkate alınacak performans veri noktalarının UTC bitiş zamanı "YYYY-MM-DD HH:MM" formatında |
N ( GetSkuRecommendation eylemine özgü. Yalnızca temel (elastik olmayan) strateji için kullanılır |
--elasticStrategy |
İstatistiksel kaynak kullanımı profili oluşturma temelinde SKU önerileri için elastik stratejinin kullanılıp kullanılmaymayacağı. Elastik strateji şu anda Azure SQL Veritabanları ve SQL Yönetilen Örneği için kullanılabilir, henüz Azure VM hedefinde SQL Server için kullanılamaz. | N ( GetSkuRecommendation eylemine özgü. Varsayılan: false ) |
--databaseAllowList |
SKU önerileri için eklenecek veritabanlarının adlarının boşlukla ayrılmış listesi | N ( GetSkuRecommendation eylemine özgü. Varsayılan: null ) |
--databaseDenyList |
SKU önerileri için dışlanacak veritabanlarının adlarının boşlukla ayrılmış listesi. Aşağıdakilerden yalnızca birini veya hiçbirini ayarlama: databaseAllowList , databaseDenyList |
N ( GetSkuRecommendation eylemine özgü. Varsayılan: null ) |
--displayResult |
SKU öneri sonuçlarının konsola yazdırılıp yazdırılmayacağı. Aşağıdakilerden yalnızca birini veya hiçbirini ayarlama: databaseAllowList , databaseDenyList |
N ( GetSkuRecommendation eylemine özgü. Varsayılan: true ) |
CLI kullanarak SKU değerlendirmesi örnekleri
SqlAssessment.exe
SqlAssessment.exe --help
Şirket içi SQL Server örnekleri için veri toplama işlemini başlatma
.\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 Veritabanı / Azure SQL Yönetilen Örnek / Azure VM'de SQL Server SKU önerileri
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform Any
Azure SQL Yönetilen Örneği SKU önerileri , veri noktaları için belirli bir toplama yüzdesi ve özel bir ölçeklendirme faktörü ile birlikte.
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--targetPercentile 90
--scalingFactor 80
Azure VM SKU önerileriyle özel toplama zaman çizelgesine sahip SQL Server
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--startTime "2021-06-05 00:00"
--endTime "2021-06-07 00:00"