Uruchamianie narzędzia Data Migration Assistant z wiersza polecenia
Ważny
Narzędzie Data Migration Assistant (DMA) jest wycofywane. Aby uzyskać opcje migracji z programu SQL Server do usługi Azure SQL, zobacz opcje migracji dla programu SQL Server do usługi Azure SQL.
W wersji 2.1 lub nowszej podczas instalowania programu Data Migration Assistant program instaluje również dmacmd.exe
w programie %ProgramFiles%\Microsoft Data Migration Assistant
. Użyj DMACMD, aby ocenić bazy danych w trybie nienadzorowanym i wyprowadzić wynik do pliku JSON lub CSV. Ta metoda jest szczególnie przydatna podczas oceniania kilku baz danych lub ogromnych baz danych.
DMACMD obsługuje tylko przeprowadzanie ocen. Migracje nie są obecnie obsługiwane.
Oceny przy użyciu interfejsu wiersza polecenia (CLI)
dmacmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" ["connectionString2"]
[/AssessmentSourcePlatform="SourcePlatform"]
[/AssessmentTargetPlatform="TargetPlatform"]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
[/AssessmentOverwriteResult]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Kłótnia | Opis | Wymagane (Y/N) |
---|---|---|
/help or /? |
Jak używać tekstu pomocy dmacmd.exe | N |
/AssessmentName |
Nazwa projektu oceny | Y |
/AssessmentDatabases |
Rozdzielana spacjami lista parametrów połączenia. Nazwa bazy danych (katalog początkowy) jest wrażliwa na wielkość liter. | Y |
/AssessmentSourcePlatform |
Platforma źródłowa oceny: Obsługiwane wartości oceny: SqlOnPrem , RdsSqlServer (ustawienie domyślne)Obsługiwane wartości oceny gotowości docelowej: SqlOnPrem , RdsSqlServer (ustawienie domyślne), Cassandra (wersja zapoznawcza) |
N |
/AssessmentTargetPlatform |
Platforma docelowa oceny: Obsługiwane wartości oceny: AzureSqlDatabase , ManagedSqlServer , SqlServer2012 , SqlServer2014 , SqlServer2016 , SqlServerLinux2017 i SqlServerWindows2017 (ustawienie domyślne)Obsługiwane wartości oceny gotowości docelowej: ManagedSqlServer (ustawienie domyślne), CosmosDB (wersja zapoznawcza) |
N |
/AssessmentEvaluateFeatureParity |
Uruchom reguły zgodności funkcji. Jeśli platforma źródłowa to RdsSqlServer, ocena parzystości funkcji nie jest obsługiwana dla docelowej platformy AzureSqlDatabase | Y (Wymagana jest wartość AssessmentEvaluateCompatibilityIssues lub AssessmentEvaluateFeatureParity ). |
/AssessmentEvaluateCompatibilityIssues |
Uruchamianie reguł zgodności | Y (Wymagany jest AssessmentEvaluateCompatibilityIssues lub AssessmentEvaluateFeatureParity ). |
/AssessmentOverwriteResult |
Zastąp plik wynikowy | N |
/AssessmentResultJson |
Pełna ścieżka do pliku wyników JSON | Y Wymagana jest AssessmentResultJson lub AssessmentResultCsv |
/AssessmentResultCsv |
Pełna ścieżka do pliku wynikowego CSV | Y Wymagana jest AssessmentResultJson lub AssessmentResultCsv |
/AssessmentResultDma |
Pełna ścieżka do pliku wyników .dma |
N |
/Action |
Użyj SkuRecommendation , aby uzyskać zalecenia dotyczące jednostki SKU.Użyj AssessTargetReadiness , aby przeprowadzić ocenę gotowości docelowej.Użyj AzureMigrateUpload , aby przesłać wszystkie pliki oceny DMA w AssessmentResultInputFolder do masowego przesyłania do usługi Azure Migrate.
Action użycie typu /Action=AzureMigrateUpload |
N |
/SourceConnections |
Lista ciągów połączenia oddzielona spacjami. Nazwa bazy danych (katalog początkowy) jest opcjonalna. Jeśli nie podano nazwy bazy danych, wszystkie bazy danych w źródle są oceniane. | Y (Wymagane, jeśli Action jest AssessTargetReadiness ) |
/TargetReadinessConfiguration |
Pełna ścieżka do pliku XML opisującego wartości nazwy, połączeń źródłowych i pliku wyników. | Y Wymagana jest TargetReadinessConfiguration lub SourceConnections |
/FeatureDiscoveryReportJson |
Ścieżka do raportu JSON odnajdywania funkcji. Jeśli ten plik zostanie wygenerowany, można go użyć do ponownego uruchomienia oceny gotowości docelowej bez nawiązywania połączenia ze źródłem. | N |
/ImportFeatureDiscoveryReportJson |
Ścieżka do utworzonego wcześniej raportu JSON dotyczącego odkrywania cech. Zamiast połączeń źródłowych używany jest ten plik. | N |
/EnableAssessmentUploadToAzureMigrate |
Umożliwia przekazywanie i publikowanie wyników oceny w usłudze Azure Migrate | N |
/AzureCloudEnvironment |
Wybiera środowisko chmury platformy Azure, z którymi chcesz nawiązać połączenie. Domyślnie jest to Chmura publiczna platformy Azure. Obsługiwane wartości: Azure (ustawienie domyślne), AzureChina , AzureGermany , AzureUSGovernment . |
N |
/SubscriptionId |
Identyfikator subskrypcji platformy Azure. | Y (Wymagane, jeśli określono argument EnableAssessmentUploadToAzureMigrate ) |
/AzureMigrateProjectName |
Nazwa projektu usługi Azure Migrate do przesłania wyników oceny. | Y (Wymagane, jeśli określono argument EnableAssessmentUploadToAzureMigrate ) |
/ResourceGroupName |
Nazwa grupy zasobów usługi Azure Migrate. | Y (Wymagane, jeśli określono argument EnableAssessmentUploadToAzureMigrate ) |
/AssessmentResultInputFolder |
Ścieżka folderu wejściowego zawierająca pliki oceny .dma do przesłania do Azure Migrate. |
Y (Wymagane, jeśli Action jest AzureMigrateUpload ) |
Przykłady ocen przy użyciu CLI
DMACMD
dmacmd.exe /?
Lub:
dmacmd.exe /help`
ocena pojedynczej bazy danych przy użyciu uwierzytelniania systemu Windows i uruchamiania reguł zgodności
dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"
ocena pojedynczej bazy danych przy użyciu uwierzytelniania programu SQL Server i uruchamiania parzystości funkcji
Zastąp <password>
prawidłowym hasłem.
dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;User Id=myUsername;Password=<password>;"
/AssessmentEvaluateFeatureParity /AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"
ocena pojedynczej bazy danych dla platformy docelowej SQL Server 2012, zapisz wyniki w plikach .json i .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"
Ocena pojedynczej bazy danych dla docelowej platformy Azure SQL Database, zapisz wyniki w plikach .json i .csv oraz pliku
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"
ocena wielu baz danych
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"
ocena gotowości pojedynczej bazy danych docelowej przy użyciu uwierzytelniania systemu Windows
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
ocena gotowości pojedynczej bazy danych przy użyciu uwierzytelniania programu SQL Server
Zastąp <password>
prawidłowym hasłem.
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"
Ocena pojedynczej bazy danych dla docelowej platformy Azure SQL Database, zapisz wyniki w plikach .json i .csv oraz pliku
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"
Ocena gotowości kilku docelowych baz danych
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
i /AssessmentTargetPlatform
są opcjonalne).
ocena gotowości docelowej dla wszystkich baz danych na serwerze przy użyciu uwierzytelniania systemu Windows
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
Ocena gotowości docelowej poprzez wczytanie wcześniej utworzonego raportu odnajdywania funkcji
dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/ImportFeatureDiscoveryReportJson="c:\temp\feature_report.json"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
ocena gotowości docelowej przez udostępnienie pliku konfiguracji
dmacmd.exe /Action=AssessTargetReadiness
/TargetReadinessConfiguration=.\Config.xml
Zawartość pliku konfiguracji podczas korzystania z połączeń źródłowych:
<?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>
Zawartość pliku konfiguracji podczas importowania raportu odnajdywania funkcji:
<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>
Ocena i przesyłanie danych do usługi Azure Migrate w Chmurze Publicznej platformy Azure (ustawienie domyślne)
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
Wsadowe przesyłanie plików oceny DMA do usługi Azure Migrate w chmurze publicznej platformy Azure (domyślne ustawienie)
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
Rekomendacje dotyczące jednostek SKU dla Azure SQL Database, Azure SQL Managed Instance i SQL Server na maszynach wirtualnych platformy Azure przy użyciu interfejsu wiersza polecenia.
W wersji 5.4 i nowszych wersjach, podczas instalowania programu Data Migration Assistant, instaluje także SqlAssessment.exe
w %ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole
. Użyj SqlAssessment.exe, aby zebrać dane wydajności dla wystąpienia SQL w dłuższym okresie i wyprowadzić wynik do pliku JSON lub CSV.
Te polecenia obsługują zalecenia dotyczące zarówno pojedynczej bazy danych usługi Azure SQL Database, usługi Azure SQL Managed Instance, jak i programu SQL Server na maszynie wirtualnej platformy Azure.
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
Argument | Opis | Wymagane (Y/N) |
---|---|---|
PerfDataCollection |
Rozpoczyna zbieranie danych wydajności. | Y |
GetSkuRecommendation |
Przeprowadza agregację i analizę zebranych danych wydajności i określa zalecenia dotyczące jednostki SKU. | Y |
GetMetadata |
Wykonuje kolekcję metadanych docelowych wystąpień SQL, w tym liczbę i właściwości wystąpień serwera, baz danych i plików bazy danych, obiektów zdefiniowanych przez użytkownika itp. Pełny raport jest eksportowany do MetadataReport.json . |
Y |
--outputFolder |
Folder, z którego są zapisywane dane wydajności, raporty i dzienniki. | N (Ustawienie domyślne: bieżący katalog) |
--sqlConnectionStrings |
Parametry połączenia formalnego ujęte w cudzysłów dla docelowych wystąpień SQL. | Y |
--overwrite |
Czy chcesz zastąpić istniejące raporty dotyczące oceny lub zalecenia dotyczące jednostki SKU? | N (Ustawienie domyślne: true ) |
--perfQueryIntervalInSec |
Interwał wykonywania zapytań o dane wydajności w sekundach. | N (Specyficzne dla akcji PerfDataCollection . Domyślna 30 ) |
--staticQueryIntervalInSec |
Interwał wykonywania zapytań i utrwalania statycznych danych konfiguracji w sekundach. | N (Specyficzne dla akcji PerfDataCollection . Domyślne 30 ) |
--numberOfIterations |
Liczba iteracji zbierania danych o wydajności do wykonania przed zapisaniem do pliku. | N (Specyficzne dla akcji PerfDataCollection . Domyślne ustawienia 20 ) |
--perfQueryIntervalInSec |
Interwał wykonywania zapytań dotyczących danych wydajności w sekundach. | N (Specyficzne dla akcji GetSkuRecommendation . Musi to być zgodne z wartością, która została pierwotnie użyta podczas zbierania danych wydajności. Ustawienie domyślne: 30 ) |
--targetPlatform |
Rekomendacja dotycząca platformy docelowej dla jednostki SKU: AzureSqlDatabase , AzureSqlManagedInstance , AzureSqlVirtualMachine lub Any . |
N (Specyficzne dla akcji GetSkuRecommendation . Ustawienie domyślne: Any ) |
--targetSqlInstance |
Nazwa wystąpienia SQL, którego dotyczy zalecenie dotyczące jednostki SKU. | N (Specyficzne dla akcji GetSkuRecommendation ) |
--targetPercentile |
Percentyl punktów danych, które mają być używane podczas agregacji danych wydajności. | N (Specyficzne dla działania GetSkuRecommendation . Używane tylko dla strategii bazowej (nieelastycznej). Ustawienie domyślne: 95 ) |
--scalingFactor |
Współczynnik skalowania (komfortu) używany podczas rekomendacji jednostki SKU. | N (Specyficzne dla akcji GetSkuRecommendation . Ustawienie domyślne: 100 ) |
--startTime |
Czas rozpoczęcia UTC punktów danych wydajności do rozważenia podczas agregacji w formacie "YYYY-MM-DD HH:MM" . |
N (Specyficzne dla czynności GetSkuRecommendation . Używane tylko dla strategii bazowej (nieelastycznej) |
--endTime |
Czas zakończenia UTC punktów danych dotyczących wydajności do uwzględnienia podczas agregacji w formacie "YYYY-MM-DD HH:MM" |
N Specyficzne dla działania GetSkuRecommendation . Używane tylko dla strategii bazowej (nieelastycznej) |
--elasticStrategy |
Czy stosować strategię elastyczną dla rekomendacji SKU na podstawie statystycznego profilowania użycia zasobów. Strategia elastyczna jest obecnie dostępna dla baz danych Azure SQL Database i usługi SQL Managed Instance, która nie jest jeszcze dostępna dla programu SQL Server na docelowej maszynie wirtualnej platformy Azure. | N (Specyficzne dla akcji GetSkuRecommendation . Ustawienie domyślne: false ) |
--databaseAllowList |
Rozdzielona spacjami lista nazw baz danych, które mają być uwzględnione w zaleceniach dotyczących jednostek SKU | N (Specyficzne dla akcji GetSkuRecommendation . Ustawienie domyślne: null ) |
--databaseDenyList |
Rozdzielona spacjami lista nazw baz danych, które mają być pominięte w rekomendacjach SKU. Ustaw tylko jedną z następujących wartości lub nie: databaseAllowList , databaseDenyList |
N (Specyficzne dla akcji GetSkuRecommendation . Ustawienie domyślne: null ) |
--displayResult |
Czy wyniki rekomendacji SKU mają być wyświetlane na konsoli. Ustaw tylko jedną z następujących wartości lub nie: databaseAllowList , databaseDenyList |
N (Specyficzne dla akcji GetSkuRecommendation . Ustawienie domyślne: true ) |
Przykłady oceniania jednostek SKU przy użyciu interfejsu wiersza polecenia
SqlAssessment.exe
SqlAssessment.exe --help
Rozpocznij proces zbierania danych dla lokalnych wystąpień programu 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 / SQL Server na maszynie wirtualnej platformy Azure – zalecenia dotyczące jednostek SKU
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform Any
zalecenia dotyczące jednostki SKU usługi Azure SQL Managed Instance z określonym procentem agregacji punktów danych i niestandardowym współczynnikiem skalowania
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--targetPercentile 90
--scalingFactor 80
Zalecenia dotyczące SKU SQL Server na maszynach wirtualnych platformy Azure z niestandardowym harmonogramem agregacji
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--startTime "2021-06-05 00:00"
--endTime "2021-06-07 00:00"