Udostępnij za pośrednictwem


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, SqlServerLinux2017i 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, AzureSqlVirtualMachinelub 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"